在前面一篇文章我们介绍了logistic线性回归
预测值:
y
^
\hat y
y^=
σ
\sigma
σ(
w
T
w^T
wT+b)
σ
\sigma
σ(z)=
1
1
+
e
−
z
\frac{1}{1+e^{-z}}
1+e−z1
cost函数:J(w , b)=
1
m
\frac{1}{m}
m1
∑
i
=
1
m
L
(
y
^
(
i
)
,
y
(
i
)
)
\displaystyle\sum_{i=1}^{m} L(\hat y^{(i)},y^{(i)})
i=1∑mL(y^(i),y(i))
=-
1
m
\frac{1}{m}
m1
∑
i
=
1
m
[
y
(
i
)
log
y
^
(
i
)
+
(
1
−
y
(
i
)
)
log
1
−
y
^
(
i
)
]
\displaystyle\sum_{i=1}^{m} [y^{(i)}\log^{\hat y^{(i)}}+(1-y^{(i)})\log^{1-\hat y^{(i)}}]
i=1∑m[y(i)logy^(i)+(1−y(i))log1−y^(i)]
cost函数衡量参数w和b在训练集上的效果,因此我们需找到使J(w , b)尽可能小的w和b
对于logistic回归而言,因为函数是凸的,无论初始化值是什么,最后都应该到达同一点或大致相同的点。
梯度下降法
梯度下降法所做的就是从初始点开始,朝最陡的方向走一步
如下图所示,红色箭头是该点斜率的方向,即该点最陡的方向,沿着该方向能最快到达最低点。
由此,我们可以得到
Repeat{
w:=w-
α
\alpha
α
d
J
(
w
)
d
w
\frac{dJ(w)}{dw}
dwdJ(w)
b:=b-
α
\alpha
α
d
J
(
b
)
d
b
\frac{dJ(b)}{db}
dbdJ(b)
}
其中,
α
\alpha
α控制步长,这个步长既不能太大也不能太小。
太大有可能无法到达最小值;太小可能到达最小值的时间太长。
上面高亮文字中的倒数为偏导数,有兴趣的同学可以自己算,或在下方评论。
有不对的地方。欢迎指正!