深度学习之梯度下降算法
目的
在上一篇文章中,我们通过成本函数可以求出关于w
和偏置b
所对应的一个损失率,损失率越小,说明预测越接近结果值,所以梯度下降算法就是得到J(w,b)
函数中,最小的损失率,也就是J(w,b)
的最小值。
介绍
我们先来展示J(w,b)函数的三维图:
这张三维图可以看出,j(w,b)
的值会因w,b的不断变化而变化。
图中点J1
是我们需要找到的最小值,w1
和b1
是最小损失率对应的参数。
这里补充一个逻辑回归函数σ关于线性回归z的求导的公式:
寻找
那么我们如何寻找到最小损失率J1
和对应的w1
和b1
呢?
在我们寻找过程中,需要不断的更新w和b的值,那么更新函数如下:
如何理解更新函数
我们逐一拆解更新函数,红色的w表示下一步寻找的w值,绿色的w表示当前所处的w值,紫色的α代表学习速率,后面的蓝色公式为该点的偏导值。
那么怎么理解α是学习速率呢?
下面我们引入一张图片来解释:
从图中可以看出,在寻找过程中,我画了两条路线,红色路线相比粉色路线α值更小,也就是寻找到J1的速度会比粉色要慢。
怎么理解偏导值?
在数学中,当导数为0
的时候,该点是函数的极值。那么我们看左边的函数图,此时的导数值为正数,所以根据更新公式,w
的值是不断在往小的方向更新的,当随着w
更新,导数值为0
时,公式变为w=w
,那么便找到了极小值。同理,右图中导数为负,那么w
不断更新的时候是往大的方向更新,从而找到当导数为0
的时候取到极小值。当然偏置b
的寻找原理和这个相同。
偏导值就是所说的梯度。
总结
通过不断的使用梯度下降算法,可以寻找到损失率最小的点。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 XZRO
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果