首先看看梯度下降法的过程:其实就是通过不断的改变θ0,θ1...的值经过计算得到最小的代价函数值。
如下图:就像下山问题一样,我们在山顶的不同位置,观察四周,一步一步的从可以到达的最低位子下山。
直观的感受到了梯度下降的过程,每次都沿着梯度方向调整,类似贪心算法,得到的是局部最优解。
上面是两个不同的起点,得到的不同的局部最优解。
梯度下降法的数学求解过程:
α表示学习率,梯度下降法是要同时更新θ_j的,梯度下降法是求局部最优解,受到初始值的影响
梯度下降算法的一个重要实现细节:多个参数要同步更新,也就是在每次迭代的最后一步才更新。
学习率α代表更新的幅度。
考虑偏导数项,考虑其正负,正或负都会将参数更新的方向引导向最低谷。
若学习率过小,更新效率会很低;
若学习率过大,或许会错过最低谷。
考虑梯度下降法已经将参数调整至一个局部低谷,若继续用梯度下降法,由于导数项为0,所以更新会停滞。
即使学习率不变,梯度下降法也可以找到局部低谷。当逼近局部最低点时,梯度下降法会自动减小学习率。