选定线性回归模型后,确定参数 θ后就可以将模型用来预测。 目标函数 J(θ) 最小时 θ 才能确定。因此问题归结为求极小值问题,使用梯度下降法。 批梯度下降法最大的问题是求得的有可能是局部极小值,这与初始点选取有关。
梯度下降法流程:
1)首先对 θ 赋值,可以是随机的,也可以让 θ 是一个全零的向量。
2)改变 θ 的值,使得 J(θ) 按梯度下降的方向进行减少。
梯度方向由 J(θ) 对 θ 的偏导数确定 ,由于求的是极小值,因此梯度方向是偏导数的反方向。
- 迭代更新的方式:
- 批梯度下降BGD
batch gradient descent, 对全部的训练数据求得误差后再对 θ 进行更新; - 随机梯度下降(增量梯度下降) SGD
stochastic gradient descent (incremental gradient descent),每扫描一次都对θ 进行更新。可以在一定程度上避免陷入局部最优。 - mini-batch gradient descent MBGD
每次扫描一部分训练数据对θ进行更新
第一种方法能够不断收敛,第二种方法可能结果不断在收敛处徘徊,第三种方法是两者的折中。