1.梯度下降
是一种常用的使代价函数最小化的算法,不仅用在线性回归中,也用到机器学习的很多方面,是一个非常经典的算法。
过程:一点点得改变参数,使代价函数值变小,直到找到最小值或局部最小值
2. 需要注意的点
(1)梯度下降法,不同的起点可能导致到达不同的局部最优处
(2)梯度下降法中,各个参数应该进行同步更新,如果不是同步更新,将导致更新完第一个参数后,将得到一个新的方程,再更新第二个参数将得到与同步更新不一样的结果,不是
实现梯度下降法的正确做法,是不同性质的其他算法
(3)梯度下降法中,该使用合适的学习率
过小:将导致迭代次数多,梯度下降慢
过大:将导致容易迈过最小处,容易产生振荡效果
3. Batch梯度下降法
意思为,在每一次迭代中都会遍历整个训练集的样本;非batch梯度下降法,在迭代中不会遍历所有训练集数据