梯度下降,是最小化代价函数(包括但不限于线性回归的代价函数)的常用方法。通过不断改变变量的值,找到最小化的方向,重复直至找到最小值。注意这里的最小值是局部最小值,不同的起点开始可能得到不同的最小值。(视频中以下山为例)。
梯度下降的定于如图所示
其中成为学习率,他控制着以多大的幅度更新参数
。
太小则找最低点的过程幅度变化小,需要更多步找到最低点,
太大可能难以收敛或发散。
在这个定义中更新(j=0或j=1),需要同时更新
,
。同时更新完后才能带入新的参数。
偏导数的意义:以一阶线性偏导为例,导数代表斜率,偏导数有正有负,可以控制每次更新参数往最低点去。最低点斜率为0,偏导为0,此时参数更新后数值不变,找到了局部最低点。
梯度算法在线性回归中的应用:
这里的算法又被成为Batch梯度算法,因为每一步梯度下降都遍历整个训练样本(求和符号可以体现)。