1、梯度下降算法的核心公式
该公式主要由三部分组成:初始迭代值θj\theta_{j}θj、学习率α\alphaα、以及偏导数∂J(θ0,θ1)∂θj\frac{\partial J(\theta_{0},\theta_{1})}{\partial \theta_{j}}∂θj∂J(θ0,θ1),注意,在这里θ0\theta_{0}θ0和θ1\theta_{1}θ1是同时被更新的。
2、梯度下降算法如何得到代价函数J(θ)J(\theta)J(θ)的最小值?
假设假设函数h(θ)h(\theta)h(θ)只有一个参数θ1\theta_{1}θ1,上图是根据θ1\theta_{1}θ1的取值画出的对应损失函数。从图中可以看出,当偏导数为正时,θ1\theta_{1}θ1的值减小,J(θ)J(\theta)J(θ)向局部最小值靠近,当偏导数为负时,θ1\theta_{1}θ1的值减增大,J(θ)J(\theta)J(θ)仍然向局部最小值靠近,所以通过梯度下降θ1\theta_{1}θ1总能收敛到局部最小值。
3、学习率的取值对梯度下降算法效率的影响
当学习率取不同值时,梯度下降算法的效率会有不同的结果,如图3所示,:
(1)如果α\alphaα的值太小,那么θ1\theta_{1}θ1每次的变化非常小,需要经过很多次迭代才能收敛到最小值,算法会非常慢;
(2)如果α\alphaα的值太大,那么θ1\theta_{1}θ1每次的变化也会非常大,甚至会发散,无法收敛到最小值。
注意,当θ1\theta_{1}θ1收敛到局部最小值时,偏导数为0,θ1\theta_{1}θ1的值将不再改变。
4、为什么学习率固定,梯度下降算法仍能收敛到局部最优值?
即使θ1\theta_{1}θ1的值固定,梯度下降算法仍能收敛到局部最小值,主要是因为每次迭代接近局部最小值时,偏导数的绝对值在逐渐减小,当θ1\theta_{1}θ1的值固定,θ1\theta_{1}θ1的变化幅度就会减小。