深度学习-梯度法-求偏导记录

为什么在numrical_gradient()函数的gradient[i] = (fh1 - fh2) / 2*h 语句里可以实现数值性的求偏导呢?原因是:

我们在每次的循环中,增加的是数组中的单个数值,比如第一次循环中增加的是X[0],第二次中增加的是X[1]

这样做,我们每次循环中就固定了另一个未知数,最后求解出来的结果在做减法的时候,

就会将另一个参数给”屏蔽掉”,从而得到偏导数

什么叫屏蔽掉呢?比如,第二个参数假设为4,在某一轮循环中我们都是在给另一个参数做增减操作,这个4没有发生变化,那么当我们在函数中对他做一个平方操作

计算fh1和fh2时,这个4的结果都是4*4 = 16,最后在对fh1和fh2做减法的时候,这个16在fh1和fh2中都有,做减法的时候就相当于这部分没有差别

看下面的计算,假设参数1是 3 ,参数2是4,h 是 0.001,在第一轮的循环中做了如下计算:

((3+0.001)^2 + 4^2) - ((3-0.001)^2 + 4^2) / 2*h

=((3+0.001)^2 + 16 - (3-0.001)^2 – 16) / 2*h (打开括号)

=((3+0.001)^2 - (3-0.001)^2 + 16 – 16) / 2*h (移项相减)

=((3+0.001)^2 - (3-0.001)^2) / 2*h

很明显了,结果里面的差别只出现在那个被做了 +h 和 -h 操作的参数上,所以,偏导数就这样求出来了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值