逻辑回归原理总结
概述
- 什么是逻辑回归?–从二分类开始说起
- 二元逻辑回归模型的拟合
- 多分类逻辑回归
1. 什么是逻辑回归?–从二分类开始说起
回顾线性回归
y
=
x
T
β
y=x^T\beta
y=xTβ,我们知道响应变量
y
y
y一般是连续的,但在分类问题中,比如常见的二分类中
y
=
0
y=0
y=0或
y
=
1
y=1
y=1是非连续的。为了依旧能够利用输入特征
x
x
x的线性函数来建立分类的后验概率
P
(
y
=
0
)
P(y=0)
P(y=0)和
P
(
y
=
1
)
P(y=1)
P(y=1),可以对线性回归
x
T
β
x^T\beta
xTβ(
x
x
x的线性函数)进行如下变换
S
i
g
m
o
i
d
:
g
(
x
)
=
1
1
+
exp
{
−
x
T
β
}
Sigmoid:~~g(x)=\frac{1}{1+\exp\{-x^T\beta\}}
Sigmoid: g(x)=1+exp{−xTβ}1
可以发现,此时
g
(
x
)
∈
[
0
,
1
]
g(x)\in[0,1]
g(x)∈[0,1]。通常取临界值0.5,当
g
(
x
)
>
0.5
g(x)>0.5
g(x)>0.5,即
x
T
β
>
0
x^T\beta>0
xTβ>0时,
y
=
1
y=1
y=1;当
g
(
x
)
<
0.5
g(x)<0.5
g(x)<0.5,即
x
T
β
<
0
x^T\beta<0
xTβ<0时,
y
=
0
y=0
y=0;当
g
(
x
)
=
0.5
g(x)=0.5
g(x)=0.5,此时逻辑回归无法确定分类。也就是说,当
x
T
β
x^T\beta
xTβ越大,分为1的概率越大;当
x
T
β
x^T\beta
xTβ越小,分为0的概率越大;当
x
T
β
x^T\beta
xTβ越接近0,分类的不确定性越大。
逻辑回归实质上是一种“概率预测”方法,它的输出不是分类变量,而是样本属于某类的概率大小。
2. 二元逻辑回归模型的拟合
由于二分类问题的响应变量非连续,所以最小二乘方法中的误差平方和损失在这不适用,我们可以采用最大似然进行拟合。假设二分类响应变量为
y
=
0
y=0
y=0和
y
=
1
y=1
y=1,且
P
(
y
=
1
∣
x
,
β
)
=
1
1
+
exp
{
−
x
T
β
}
P(y=1|x,\beta)=\frac{1}{1+\exp\{-x^T\beta\}}
P(y=1∣x,β)=1+exp{−xTβ}1
P ( y = 0 ∣ x , β ) = 1 − P ( y = 1 ∣ x , β ) = exp { − x T β } 1 + exp { − x T β } P(y=0|x,\beta)=1-P(y=1|x,\beta)=\frac{\exp\{-x^T\beta\}}{1+\exp\{-x^T\beta\}} P(y=0∣x,β)=1−P(y=1∣x,β)=1+exp{−xTβ}exp{−xTβ}
合并上述两式
P
(
y
∣
x
,
β
)
=
P
(
y
=
1
∣
x
,
β
)
y
[
1
−
P
(
y
=
1
∣
x
,
β
)
]
1
−
y
,
y
=
0
,
1
P(y|x,\beta)=P(y=1|x,\beta)^{y}[1-P(y=1|x,\beta)]^{1-y},~~y=0,1
P(y∣x,β)=P(y=1∣x,β)y[1−P(y=1∣x,β)]1−y, y=0,1
对应的
N
N
N样本对数似然为
l
(
β
)
=
∑
i
=
1
N
log
[
P
(
y
i
∣
x
i
,
β
)
]
=
∑
i
=
1
N
{
y
i
log
[
P
(
y
=
1
∣
x
i
,
β
)
]
+
(
1
−
y
i
)
log
[
1
−
P
(
y
=
1
∣
x
i
,
β
)
]
}
l(\beta)=\sum_{i=1}^{N}\log[P(y_i|x_i,\beta)]=\sum_{i=1}^{N}\{y_i\log[P(y=1|x_i,\beta)]+(1-y_i)\log[1-P(y=1|x_i,\beta)]\}
l(β)=i=1∑Nlog[P(yi∣xi,β)]=i=1∑N{yilog[P(y=1∣xi,β)]+(1−yi)log[1−P(y=1∣xi,β)]}
即
l
(
β
)
=
−
∑
i
=
1
N
[
(
1
−
y
i
)
x
i
T
β
+
log
(
1
+
exp
(
−
x
i
T
β
)
)
]
l(\beta)=-\sum_{i=1}^N[(1-y_i)x_i^T\beta+\log(1+\exp(-x_i^T\beta))]
l(β)=−i=1∑N[(1−yi)xiTβ+log(1+exp(−xiTβ))]
下面介绍两种求解上述最优化问题方法:梯度上升发、改进的随机梯度上升法
- 采用梯度上升法求解最优参数,先对上式求导
∂
l
(
β
)
∂
β
=
∑
i
=
1
N
(
y
i
−
1
1
+
exp
(
−
x
i
T
β
)
)
x
i
=
X
T
(
Y
−
g
(
X
)
)
\frac{\partial l(\beta)}{\partial \beta}=\sum_{i=1}^N(y_i-\frac{1}{1+\exp(-x_i^T\beta)})x_i=X^T(Y-g(X))
∂β∂l(β)=i=1∑N(yi−1+exp(−xiTβ)1)xi=XT(Y−g(X))
梯度上升法中每一步向量
β
\beta
β的迭代公式如下,其中
α
\alpha
α为迭代步长,
β
=
β
+
α
X
T
(
Y
−
g
(
X
)
)
\beta=\beta+\alpha X^T(Y-g(X))
β=β+αXT(Y−g(X))
-
改进的随机梯度上升法shizi:一次仅用一个严样本点来更新回归系数
因为,从 ( 8 ) (8) (8) 式可以看出,梯度上升法在每次更新回归系数时都需要遍历整个数据集,当样本集 X X X 超大时该方法的计算复杂度就非常高。
3.多分类逻辑回归
构建逻辑回归模型意在利用输入特征
X
X
X的线性函数来建立分类(
G
=
1
,
⋯
,
K
G=1,\cdots,K
G=1,⋯,K)的后验概率,并要求所有类别的后验概率之和为1且都在
[
0
,
1
]
[0,1]
[0,1]内。该模型的形式为(称之为Logit变换或log-odds),总共
K
−
1
K-1
K−1个方程,
log
P
(
G
=
1
∣
X
=
x
)
P
(
G
=
K
∣
X
=
x
)
=
x
T
β
1
\log\frac{P(G=1|X=x)}{P(G=K|X=x)}=x^{T}\beta_1
logP(G=K∣X=x)P(G=1∣X=x)=xTβ1
log P ( G = 2 ∣ X = x ) P ( G = K ∣ X = x ) = x T β 2 \log\frac{P(G=2|X=x)}{P(G=K|X=x)}=x^{T}\beta_2 logP(G=K∣X=x)P(G=2∣X=x)=xTβ2
⋮ \vdots ⋮
log P ( G = K − 1 ∣ X = x ) P ( G = K ∣ X = x ) = x T β K − 1 \log\frac{P(G=K-1|X=x)}{P(G=K|X=x)}=x^{T}\beta_{K-1} logP(G=K∣X=x)P(G=K−1∣X=x)=xTβK−1
整个模型的参数为
θ
=
(
β
1
T
,
⋯
,
β
K
−
1
T
)
\theta=(\beta_1^T,\cdots,\beta_{K-1}^T)
θ=(β1T,⋯,βK−1T)。根据
∑
k
=
1
K
P
(
G
=
k
∣
X
=
x
)
=
1
\sum_{k=1}^{K}P(G=k|X=x)=1
∑k=1KP(G=k∣X=x)=1可以计算出
P
(
G
=
K
∣
X
=
x
)
=
1
1
+
∑
k
=
1
K
−
1
exp
{
x
T
β
k
}
P(G=K|X=x)=\frac{1}{1+\sum_{k=1}^{K-1}\exp\{x^{T}\beta_{k}\}}
P(G=K∣X=x)=1+∑k=1K−1exp{xTβk}1
P
(
G
=
k
∣
X
=
x
)
=
exp
{
x
T
β
k
}
1
+
∑
k
=
1
K
−
1
exp
{
x
T
β
k
}
,
k
=
1
,
⋯
,
K
−
1.
P(G=k|X=x)=\frac{\exp\{x^{T}\beta_{k}\}}{1+\sum_{k=1}^{K-1}\exp\{x^{T}\beta_{k}\}},~~k=1,\cdots,K-1.
P(G=k∣X=x)=1+∑k=1K−1exp{xTβk}exp{xTβk}, k=1,⋯,K−1.