当前位置: 首页 > news >正文

神经网络基础-神经网络补充概念-41-梯度的数值逼近

概念

梯度的数值逼近是一种用于验证梯度计算正确性的方法,它通过近似计算梯度来与解析计算的梯度进行比较。虽然数值逼近在实际训练中不常用,但它可以用来检查手动或自动求导的实现是否正确。

代码实现

import numpy as np# 定义函数 f(x) = x^2
def function(x):return x**2# 计算梯度的数值逼近
def numerical_gradient(f, x):h = 1e-5grad = np.zeros_like(x)for i in range(x.shape[0]):tmp_val = x[i]# f(x + h)x[i] = tmp_val + hfxh1 = f(x)# f(x - h)x[i] = tmp_val - hfxh2 = f(x)grad[i] = (fxh1 - fxh2) / (2 * h)x[i] = tmp_valreturn grad# 计算 x = 3 处的梯度
x = np.array([3.0, 4.0])
gradient = numerical_gradient(function, x)
print("Numerical Gradient:", gradient)
http://www.lryc.cn/news/130322.html

相关文章:

  • tornado在模板中遍历二维数组
  • 前端-初始化Vue3+TypeScript
  • 龙蜥社区安全联盟(OASA)正式成立,启明星辰、绿盟、360 等 23 家厂商重磅加入
  • Flask-SQLAlchemy
  • 大数据bug-sqoop(二:sqoop同步mysql数据到hive进行字段限制。)
  • Windows小记
  • centos安装elasticsearch7.9
  • 221、仿真-基于51单片机的智能啤酒发酵罐多点温度压力水位排水加水检测报警系统设计(程序+Proteus仿真+配套资料等)
  • C语言好题解析(三)
  • OpenCV之remap的使用
  • leetcode 377. 组合总和 Ⅳ
  • C++笔记之花括号和圆括号初始化区别,列表初始化和初始化列表区别
  • git报错Add correct host key
  • Kvm配置ovs网桥
  • AraNet:面向阿拉伯社交媒体的新深度学习工具包
  • P13-CNN学习1.3-ResNet(神之一手~)
  • 【C++】set/multiset容器
  • docker拉取镜像时报错Error response from daemon: Head ““no basic auth credentials
  • Redis消息传递:发布订阅模式详解
  • 最强自动化测试框架Playwright(36)- 句柄
  • 推荐一个绘图平台(可替代Visio)
  • 【探索Linux】—— 强大的命令行工具 P.6(调试器-gdb、项目自动化构建工具-make/Makefile)
  • echarts-convert.js使用
  • 数据结构之队列详解(包含例题)
  • Prometheus的搭建与使用
  • 实战指南,SpringBoot + Mybatis 如何对接多数据源
  • 论文阅读——Imperceptible Adversarial Attack via Invertible Neural Networks
  • List和ObservableCollection和ListBinding在MVVM模式下的对比
  • insightface安装过程中提示 Microsoft Visual C++ 14.0 or greater is required.
  • mongodb数据库