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的变化幅度就会减小。