神经网络梯度下降算法--BP算法

1. 梯度更新公式:

     _{W_{i+1}} = _{W_{i}} - \alpha \frac{\partial cost}{\partial w}

     其中 \alpha 为步长又叫学习率,\frac{\partial cost}{\partial w}  为梯度

     公式表明梯度沿着负梯度方向更新权重参数

2. 假设 cost 是关于权重 w 的一个光滑的凸函数

    目的:找到 cost 取最小值时对应的 权重 w 可以转化为找极值点的问题

               即当\frac{\partial cost}{\partial w} = 0时,求对应的参数W

    此时的目标转换为没更新一次W都要使得 梯度值\frac{\partial cost}{\partial w}尽可能逼近为零

    如图所示,当初始点位于1位置时,\frac{\partial cost}{\partial w} < 0 , 为了使梯度值逼近零,需要将往右移动,加上一个大于零的值,- \alpha \frac{\partial cost}{\partial w} > 0 使得w 向右移动;同理,  当初始点位于2位置时,\frac{\partial cost}{\partial w} > 0 , 为了使梯度值逼近零,需要将往左移动,加上一个小于零的值,- \alpha \frac{\partial cost}{\partial w} < 0 使得w 向左移动

神经网络梯度下降算法--BP算法_第1张图片

3. 注意 \alpha 的取值不能过大或者过小,过大会则容易产生震荡且可能找不到极值点;过小则收敛速度满即找经过很多步之后才找到极值点

 神经网络梯度下降算法--BP算法_第2张图片

 

 

 

   

 

你可能感兴趣的:(算法,pytorch,神经网络)