梯度下降法详解 笔记
梯度下降法 Gradient descent algorithm
θ
t
+
1
=
θ
t
−
α
•
g
\theta^{t+1}=\theta^{t}-\alpha • g
θt+1=θt−α•g
α
\alpha
α : 学习效率数字 (learning rate) 用来控制梯度下降时,
函数下降的速度。
α
\alpha
α越大梯度下降越迅速,
α
\alpha
α越小下降缓慢。
If
α
\alpha
α is too small , gradient descent can be slow.
如果
α
\alpha
α太小,梯度下降会非常慢。
If
α
\alpha
α is too large, gradient descent can overshoot the minimum.
It may fail to converge, or even diverge.
如果
α
\alpha
α太大,可能越过最小值。
θ
\theta
θ可能无法收敛或者发散。
如
果
α
太
小
,
梯
度
下
降
会
非
常
慢
。
如果\alpha太小,梯度下降会非常慢。
如果α太小,梯度下降会非常慢。
如果
α
\alpha
α太大,可能越过最小值。
θ
\theta
θ可能无法收敛或者发散。
θ
t
+
1
=
θ
t
−
α
•
g
\theta^{t+1}=\theta^{t}-\alpha • g
θt+1=θt−α•g
变
化
⟹
迭
代
变化\Longrightarrow迭代
变化⟹迭代
g : 是导数 (梯度) ,每次迭代都会变化。
随着迭代次数的增加,导数g(切线斜率) 会越来越小,
当到达最低点则不需要再另外减少
α
\alpha
α。
As we approach a local minimum,
gradient descent will automatically take smaller steps.
So, no need to decrease
α
\alpha
α over time.
梯度下降流程
1.初始化
θ
\theta
θ
w
0
.
.
.
w
n
w_{0}...w_{n}
w0...wn (初始化n+1个值)
2. while(!
g
0
.
.
.
g
n
g_{0}...g_{n}
g0...gn == 0){ #当函数收敛时,
g
0
.
.
.
g
n
g_{0}...g_{n}
g0...gn== 0
求 gradient (梯度)
θ
t
+
1
=
θ
t
−
α
•
g
\theta^{t+1}=\theta^{t}-\alpha • g
θt+1=θt−α•g
}