赞
踩
如何实现梯度下降算法
表示计算机中的赋值操作,不能理解成数学中的等于操作。
希腊字母,表示学习率,通常为0-1之间很小的数,如0.01。它用来控制梯度下降的幅度。α越大,下降的步子越大。α很小,则一点点向下走。
控制梯度下降的幅度:学习率过高,下降幅度太大,无法下降到最低点,学习率过低,下降幅度太小,影响算法性能。
用来控制梯度下降的方向。
只有控制方向,才能尽快的到达函数的局部或全局最小值。
为什么求导能控制方向?4.3课节会详细说明。
导数如何计算?4.5课节会详细说明。
不断更新w和b直到算法收敛,梯度下降就可以停止了。
优化过程中,算法逐步逼近问题的最优解或局部最优解。在线性回归中,表示梯度下降更新的w和b,已经达到成本函数J的局部最小值,此时w,b不怎么改变了。
先用旧的w和b计算,计算完成在更新w和b,即同步更新。
计算w然后更新w,导致计算b的过程里使用了新的w,旧的w被忽略了,导致w,b没有同步更新。
梯度下降的具体操作是要更新w,b,公式为计算学习率乘以J关于w或b的偏导数,然后将结果赋值给新的w和b,一直重复上述过程,直到w,b的值不怎么改变了。公式中的=符号表示赋值操作,α(学习率)控制梯度下降的步幅,导数项控制梯度下降的方向。在更新w,b的时候,我们要做到同步更新。先计算旧的w,b,然后将结果更新给新的w,b。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。