在一元一次函数中,函数的斜率可以代表函数在y方向上的变化率,如下图,函数的斜率为0.5,当x 变化1,那么y变化0.5.

换一种方式来想,当前这条线和x轴的夹角为β,斜率其实是tan\betatan\beta其实可以理解为当 x 发生变化时变化的方向  便是 乘以一个角度 βtan 值。

另外,斜率其实就是我们对函数 y=0.5x-1 中的 x 求导。

  

基于以上,我们假设系数向量 W = [w_1,w_2,w_3...w_n],最终**函数的输入 z = w_1x_1+ w_2x_2+...+w_nx_n,我们要采取最优化方法来对系数进行确定。每次变化系数,都要选择系数变化最快的方向。

函数 f(W)的梯度为 \bigtriangledown f(W) = [ \frac{\partial f(W)}{\partial w_1}, \frac{\partial f(W)}{\partial w_2}, \frac{\partial f(W)}{\partial w_3}, ..., \frac{\partial f(W)}{\partial w_n} ],其中的每一个部分都是函数f(W)对 w_i 求偏导。

为方便起见,我们暂且用f(x,y)来举例 ,假设z=f(x,y)所形成的平面如下图

 

 我们对 x 求偏导,事实上就是想知道 x 的变化对 z 的影响,假设此时x = x_0, y = y_0,那么T_x,就是y = y_0时的平面,而T_x会与 z 平面相交出一条曲线,此时这条曲线在(x_0,y_0,z_0)处的切线的斜率 也就是 这条线与 x轴正方向所成的夹角 β 的tan\beta值,代表当 x 变化时 z 的变化率,也像开始说的 x 变化的方向。

梯度上升法更新系数的公式:W = W + \alpha \bigtriangledown f(W),我们已经知道其中\bigtriangledown f(W)W变化的方向, α 则为每次在这个方向走的步长,也成为学习率。

梯度下降法更新系数的公式:W = W - \alpha \bigtriangledown f(W)

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: