2022吴恩达机器学习(Deep learning)课程对应笔记12
梯度下降3
更新时间:2023/03/20
概述
下面是具体实现梯度下降算法。
w
和
b
w和b
w和b的更新过程如下:
w
=
w
−
α
∂
∂
w
J
(
w
,
b
)
w=w-\alpha\frac{\partial}{\partial w}J(w,b)
w=w−α∂w∂J(w,b)
b
=
b
−
α
∂
∂
b
J
(
w
,
b
)
b=b-\alpha\frac{\partial}{\partial b}J(w,b)
b=b−α∂b∂J(w,b)
- 其中 α \alpha α是学习率,我们要同时更新 w 和 b w和b w和b来是模型不断下降。
同时更新
w
和
b
w和b
w和b的计算过程如下:
t
e
m
p
_
w
=
w
−
α
∂
∂
w
J
(
w
,
b
)
w
=
t
e
m
p
_
w
temp\_w=w-\alpha\frac{\partial}{\partial w}J(w,b)\\ w=temp\_w
temp_w=w−α∂w∂J(w,b)w=temp_w
t
e
m
p
_
b
=
b
−
α
∂
∂
b
J
(
w
,
b
)
b
=
t
e
m
p
_
b
temp\_b=b-\alpha\frac{\partial}{\partial b}J(w,b)\\ b=temp\_b
temp_b=b−α∂b∂J(w,b)b=temp_b
重复以上步骤更新
w
和
b
w和b
w和b 直到收敛。
下面来关注一下这个梯度更新的过程具体细节是怎么收敛到 m i n J min J minJ的。 ∂ ∂ w J ( w ) \frac{\partial}{\partial w}J(w) ∂w∂J(w)表示的是曲线上某点的切线斜率。
- 当初始的 w w w选择为上图上部分所示的位置时,斜率是正数,所以有: w = w − α ⋅ ( p o s i t i v e n u m b e r ) w = w-\alpha\cdot(positive\ number) w=w−α⋅(positive number),注意学习率始终为正数,所以更新后的 w w w会比原始的 w w w更小,对应图上的X轴坐标, w w w会左移,同时 J ( w ) J(w) J(w)也会减小。
- 当初始的 w w w选择为上图下部分所示的位置时,斜率是正数负数,所以有: w = w − α ⋅ ( n e g a t i v e n u m b e r ) w = w-\alpha\cdot(negative\ number) w=w−α⋅(negative number),注意学习率始终为正数,所以更新后的 w w w会比原始的 w w w更更大,对应图上的X轴坐标, w w w会右移,同时 J ( w ) J(w) J(w)也会减小。
- 上面这个例子说明了 w w w的初始值选择很重要