逻辑斯谛回归与最大熵模型
主要用于统计学习中的经典分类方法
逻辑斯谛回归模型
1、 定义:设X是连续随机变量,其具有的分布函数和密度函数:
F(x)=P(X≤x)=11+e−(x−μ)/γ
F
(
x
)
=
P
(
X
≤
x
)
=
1
1
+
e
−
(
x
−
μ
)
/
γ
f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2
f
(
x
)
=
F
′
(
x
)
=
e
−
(
x
−
μ
)
/
γ
γ
(
1
+
e
−
(
x
−
μ
)
/
γ
)
2
其中,
μ
μ
为位置参数,
γ>0
γ
>
0
为形状参数
其曲线以点
(μ,12)
(
μ
,
1
2
)
为中心对称
如图所示,曲线在中心增长较快,在两端增长速度较慢。
2、 二项逻辑斯谛回归模型
定义:如下的条件概率分布:
P(Y=1|x)=exp(w⋅x+b)1+exp(w⋅x+b)
P
(
Y
=
1
|
x
)
=
exp
(
w
⋅
x
+
b
)
1
+
exp
(
w
⋅
x
+
b
)
P(Y=0|x)=11+exp(w⋅x+b)
P
(
Y
=
0
|
x
)
=
1
1
+
exp
(
w
⋅
x
+
b
)
有时为了方便,将权值向量与输入向量加以扩充,模型变为:
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)
P
(
Y
=
1
|
x
)
=
exp
(
w
⋅
x
)
1
+
exp
(
w
⋅
x
)
P(Y=0|x)=11+exp(w⋅x)
P
(
Y
=
0
|
x
)
=
1
1
+
exp
(
w
⋅
x
)
几率的定义:发生的概率与不发生的概率的比值。
对逻辑斯谛回归而言,其对数几率为:
logP(Y=1|x)1−P(Y=1|x)=w⋅x
log
P
(
Y
=
1
|
x
)
1
−
P
(
Y
=
1
|
x
)
=
w
⋅
x
这意味着,输出Y=1的对数几率是输入x的线性模型。
换一个角度思考,针对对输入x进行分类的线性函数
w⋅x
w
⋅
x
,显然,可以利用逻辑斯谛模型将其转换为概率,即
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)
P
(
Y
=
1
|
x
)
=
exp
(
w
⋅
x
)
1
+
exp
(
w
⋅
x
)
很明显,当x趋向于正无穷是,其概率值接近一,趋向于负无穷时,其概率值接近零。
3、 模型参数估计
显然,如果已知参数w,我们可以根据逻辑斯谛回归模型,来计算条件概率分布,根据条件概率的分布的大小来决定分类,故关键在于未知参数w的估计。采用极大似然估计的方法来推导。
做如下假设:
P(Y=1|x)=π(x)
P
(
Y
=
1
|
x
)
=
π
(
x
)
P(Y=0|x)=1−π(x)
P
(
Y
=
0
|
x
)
=
1
−
π
(
x
)
其极大似然函数为:
∏i=1N[π(xi)]yi[1−π(xi)]1−yi
∏
i
=
1
N
[
π
(
x
i
)
]
y
i
[
1
−
π
(
x
i
)
]
1
−
y
i
其对数似然函数为:
L(w)=∑i=1N[yilogπ(xi)+(1−yi)log(1−π(xi))] =∑i=1N[yilogπ(xi)1−π(xi)+log(1−π(xi))] =∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))]
L
(
w
)
=
∑
i
=
1
N
[
y
i
log
π
(
x
i
)
+
(
1
−
y
i
)
log
(
1
−
π
(
x
i
)
)
]
=
∑
i
=
1
N
[
y
i
log
π
(
x
i
)
1
−
π
(
x
i
)
+
log
(
1
−
π
(
x
i
)
)
]
=
∑
i
=
1
N
[
y
i
(
w
⋅
x
i
)
−
log
(
1
+
exp
(
w
⋅
x
i
)
)
]
对上式求极大值解w即可。如果将w的估计值记为
wˆ
w
^
则逻辑斯谛模型为
P(Y=1|x)=exp(wˆ⋅x)1+exp(wˆ⋅x) P(Y=0|x)=11+exp(wˆ⋅x)
P
(
Y
=
1
|
x
)
=
exp
(
w
^
⋅
x
)
1
+
exp
(
w
^
⋅
x
)
P
(
Y
=
0
|
x
)
=
1
1
+
exp
(
w
^
⋅
x
)
4、推广到多项分类
其多项逻辑斯谛回归模型为:
P(Y=k|x)=exp(wk⋅x)1+∑k=1K−1exp(wk⋅x),k=1,2,⋯,K−1
P
(
Y
=
k
|
x
)
=
exp
(
w
k
⋅
x
)
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
,
k
=
1
,
2
,
⋯
,
K
−
1
P(Y=K|x)=11+∑k=1K−1exp(wk⋅x)
P
(
Y
=
K
|
x
)
=
1
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
其中Y的取值集合为1到K
最大熵模型
1、最大熵的原理:
最大熵原理认为,在所有可能的概率模型中,熵最大的模型是最好的模型,故而,最大熵原理也可以表述为在满足约束条件下选取熵最大的模型。
熵的定义:
H(P)=−∑xP(x)logP(x)
H
(
P
)
=
−
∑
x
P
(
x
)
log
P
(
x
)
其满足不等式:
0≤H(P)≤log|X|
0
≤
H
(
P
)
≤
log
|
X
|
当且仅当X的分布时均匀分布时右边的等号才成立,即当X满足均匀分布时熵最大。
结合上面的不等式,当给定约束条件下,熵最大也就代表了未知信息的等可能性。
2、 最大熵模型定义:
假设分类模型是一个条件概率分布
P(Y|X)
P
(
Y
|
X
)
确定联合概率分布以及边缘分布:
P˜(X=x,Y=y)=v(X=x,Y=y)N
P
~
(
X
=
x
,
Y
=
y
)
=
v
(
X
=
x
,
Y
=
y
)
N
P˜(X=x)=v(X=x)N
P
~
(
X
=
x
)
=
v
(
X
=
x
)
N
其中,
v
v
代表样本出现的频数,N代表样本容量。
定义一个特征函数来判断是否满足分类,定义如下
当x与y满足某一事实时, 等于1,否则等于0。
其期望为:
EP˜(f)=∑x,yP˜(x,y)f(x,y)
E
P
~
(
f
)
=
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
特征函数关于模型
P(Y|X)
P
(
Y
|
X
)
与经验分布
P˜(X)
P
~
(
X
)
的期望为:
EP(f)=∑x,yP˜(x)P(y|x)f(x,y)
E
P
(
f
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
|
x
)
f
(
x
,
y
)
如果模型能够获取训练数据中的信息,可以假设这两个期望相等,即有:
∑x,yP˜(x)P(y|x)f(x,y)=∑x,yP˜(x,y)f(x,y)
∑
x
,
y
P
~
(
x
)
P
(
y
|
x
)
f
(
x
,
y
)
=
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
将其作为约束条件,另外,有几个特征函数就有几个约束条件。
3、最大熵模型
假设所有满足约束条件的模型集合为:
C≡{P∈P|EPi(f)=EPi˜(f),i=1,2,⋯,n}
C
≡
{
P
∈
P
|
E
P
i
(
f
)
=
E
P
i
~
(
f
)
,
i
=
1
,
2
,
⋯
,
n
}
则定义在条件概率分布上的条件熵为:
H(P)=−∑x,yP˜(x)P(y|x)logP(y|x)
H
(
P
)
=
−
∑
x
,
y
P
~
(
x
)
P
(
y
|
x
)
log
P
(
y
|
x
)
至此,最大熵模型定义完毕
4、最大熵的学习
最大熵的学习就是约束最优的问题,我们要求条件熵的最大值,按照最优化问题的习惯,将其转化为等价的最小值问题:
minP∈C−H(P)=∑x,yP˜(x)P(y|x)logP(y|x)
min
P
∈
C
−
H
(
P
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
|
x
)
log
P
(
y
|
x
)
s.t.EPi(f)−EPi˜(f)=0i=1,2,⋯,n
s
.
t
.
E
P
i
(
f
)
−
E
P
i
~
(
f
)
=
0
i
=
1
,
2
,
⋯
,
n
∑yP(y|x)=1
∑
y
P
(
y
|
x
)
=
1
对约束最优化问题的求解这里不多做叙述,可以参考《统计学习方法》第84页的求解过程。
5、最大熵模型的对偶函数极大化等价于最大熵模型的极大似然估计。
模型学习的最优化算法
最大熵模型学习最终可以归结为以似然函数为目标函数的最优问题,这时的目标函数是光滑的凸函数,有多种最优化的方法适用,常用的有改进的迭代尺度法、梯度下降法、牛顿法以及拟牛顿法。
1、改进的迭代尺度法
已知最大熵模型
Pw(y|x)=1Zw(x)exp(∑i=1nwifi(x,y))
P
w
(
y
|
x
)
=
1
Z
w
(
x
)
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
其中,
Zw(x)=∑yexp(wifi(x,y))
Z
w
(
x
)
=
∑
y
exp
(
w
i
f
i
(
x
,
y
)
)
对数似然函数为:
L(w)=∑x,yP˜(x,y)∑i=1nwifi(x,y)−∑xP˜(x)logZw(x)
L
(
w
)
=
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
−
∑
x
P
~
(
x
)
log
Z
w
(
x
)
目标是求对数似然函数的极大值
wˆ
w
^
此种算法的思想是给定一个参数w,假设其有一个增量
δ
δ
,更新后其似然函数值增大,随着参数w不断增大,直至找到对数似然函数的最大值。
参数从w到
w+δ
w
+
δ
,对数似然函数的改变量是:
利用不等式 −logα≥1−α − log α ≥ 1 − α ,可以得到
L(w+δ)−L(w)≥∑x,yP˜(x,y)∑i=1nδifi(x,y)+1−∑xP˜(x)∑yPw(y|x)exp∑i=1nδifi(x,y) L ( w + δ ) − L ( w ) ≥ ∑ x , y P ~ ( x , y ) ∑ i = 1 n δ i f i ( x , y ) + 1 − ∑ x P ~ ( x ) ∑ y P w ( y | x ) exp ∑ i = 1 n δ i f i ( x , y )
将右端记为 A(δ|w) A ( δ | w ) ,则有: L(w+δ)−L(w)≥A(δ|w) L ( w + δ ) − L ( w ) ≥ A ( δ | w )
如果能找到适合的 δ δ 使得 A(δ|w) A ( δ | w ) 能不断的提高,也就实现了我们的目的,然而 δ δ 是一个向量,含有多个变量,不易同时优化,故每次只优化一个变量而固定其他变量。引入如下函数:
f#(x,y)=∑ifi(x,y) f # ( x , y ) = ∑ i f i ( x , y )
其中 fi f i 是二值函数,代表特征。经过推导,有:
∑x,yP˜(x)Pw(y|x)fi(x,y)exp(δif#(x,y))=EP˜(fi) ∑ x , y P ~ ( x ) P w ( y | x ) f i ( x , y ) exp ( δ i f # ( x , y ) ) = E P ~ ( f i )
详细推导过程见第90页。