梯度下降
梯度下降的伪代码如左下,计算误差函数J的梯度,完成一次更新误差函数中的变参,使得误差函数的值尽量最小化。
不正确的更新方式是因为,在前面计算梯度就更新参数,则后面的误差函数进行求导得出的另外的变参值,已经不再和前面组成梯度方向。
收敛
梯度收敛的原因,是随着时间的前进,则遇到更大的梯度,变参更新更快,更小的梯度,变参自动更新变小,
已经实现了自动的步长调整,可能不再需要修正定下的步长alpha。
实际的批梯度下降
如线性回归模型使用的变参形式, 在梯度下降的过程中,如使用的为批梯度下降,其实质是每次更新,遍历所有x(i),y(i),通过变参theta,得出误差。
在定义的误差函数方面,使用1/2m,其一方面作为一个平均误差的信号,使得数据量x和y的个数不对误差产生量级的影响,另一方面,方便求导约去2。
小批量的梯度下降,采用类似的方法。
具体在操作过程中,对误差函数分别求偏倒数,使用上一次的theta0和theta1,遍历x和y,求出平均误差,完成同步更新,得到新的theta0和theta1。