本篇博客是在参考CSDN博主寒小阳的逻辑回归博客基础上,加上自己的总结而写成。原文博客地址点击进入
1、线性回归
由上图我们可以看到,线性回归能够对连续值结果进行拟合并预测。其回归方程为:
y=β0+β1x1+β2x2+...+βnxn=xTβ
y
=
β
0
+
β
1
x
1
+
β
2
x
2
+
.
.
.
+
β
n
x
n
=
x
T
β
在上述回归方程中,自变量x的取值范围是(-inf, +inf),y的取值范围也是(-inf, +inf)。那么对于一个分类任务来说,我们的自变量x是(-inf, +inf),而此时y的取值范围是{0,1}(即二分类)。
此时,我们需要通过一个函数,将x映射到(0,1)区间,这样如果值>0.5,我们认为此时y取1,反之小于0.5,认为y取0。
我们发现,sigmoid函数就能满足我们的要求,下面我们将给出sigmoid函数的图像。
2、逻辑回归
sigmoid函数图像:
逻辑回归函数:
y=g(z)=g(xTβ)=11+e−xTβ
y
=
g
(
z
)
=
g
(
x
T
β
)
=
1
1
+
e
−
x
T
β
只要
xTβ够复杂
x
T
β
够
复
杂
,将其代入g(z)中,我们能拟合出不同形状的分类边界,从而得到
y
y
的类别
0,1
3、损失函数
我们知道,在线性回归中,我们的损失函数如下:
J(θ)=1m∑mi=112(hθ(x(i))−y(i))2
J
(
θ
)
=
1
m
∑
i
=
1
m
1
2
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
逻辑回归的损失函数采用了极大似然准则推导而出,因为它不能像线性回归一样直接表示为拟合值与真实值的误差平方和的形式。
下面我们来看看逻辑回归的条件概率,此处
hθ(x)=g(z)=11+e−xTβ
h
θ
(
x
)
=
g
(
z
)
=
1
1
+
e
−
x
T
β
:
P(yi|xi)={hθ(xi)1−hθ(xi)yi=1yi=0
P
(
y
i
|
x
i
)
=
{
h
θ
(
x
i
)
y
i
=
1
1
−
h
θ
(
x
i
)
y
i
=
0
将两个式子整合成一个式子:
P(yi|xi)=(hθ(xi))yi(1−hθ(xi))1−yi
P
(
y
i
|
x
i
)
=
(
h
θ
(
x
i
)
)
y
i
(
1
−
h
θ
(
x
i
)
)
1
−
y
i
联合似然函数为:
L=∏mi=1P(yi|xi)=∏mi=1(hθ(xi))yi(1−hθ(xi))1−yi
L
=
∏
i
=
1
m
P
(
y
i
|
x
i
)
=
∏
i
=
1
m
(
h
θ
(
x
i
)
)
y
i
(
1
−
h
θ
(
x
i
)
)
1
−
y
i
取对数:
l=∑mi=1(yilog(hθ(xi))+(1−yi)log(1−hθ(xi)))
l
=
∑
i
=
1
m
(
y
i
l
o
g
(
h
θ
(
x
i
)
)
+
(
1
−
y
i
)
l
o
g
(
1
−
h
θ
(
x
i
)
)
)
极大似然估计是要求最大化
l
l
下对应的参数值,而我们希望通过梯度下降法最小化损失函数,所以我们给上式加个负号,则逻辑回归的损失函数为(也叫Logloss,对数损失):
J(θ)=−∑mi=1(yilog(hθ(xi))+(1−yi)log(1−hθ(xi)))
4、梯度下降法
因此参数
θ
θ
的更新过程可以表示为:
θj:=θj−α1m∑mi=1(hθ(xi)−yi)xji
θ
j
:=
θ
j
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
i
)
x
i
j
5、多分类问题
逻辑回归主要是用来处理二分类任务的,那么要处理多分类任务怎么办呢?那就使用softmax回归即可。请参考博客
softmax回归