统计学习方法学习笔记——逻辑斯谛回归和最大熵模型
逻辑斯谛回归(logistic regression)是统计学习中的经典分类方法。最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(maximum entropy model)。逻辑斯谛回归模型与最大熵模型都属于对数线性模型。
1. 逻辑斯谛回归模型
1.1 逻辑斯谛分布(logistic distribution)
定义(逻辑斯谛分布
) 设X服从连续
随机变量,X服从逻辑斯谛分布是指X具有下列分布函数
和密度函数
:
F
(
x
)
=
P
(
X
≤
x
)
=
1
1
+
e
−
(
x
−
μ
)
/
r
F(x)=P(X\le x)=\frac{1}{1+e^{-(x-\mu)/r}}
F(x)=P(X≤x)=1+e−(x−μ)/r1
f
(
x
)
=
F
′
(
x
)
=
e
−
(
x
−
μ
)
/
r
γ
(
1
+
e
−
(
x
−
μ
)
/
r
)
2
f(x)=F'(x)=\frac{e^{-(x-\mu)/r}}{\gamma (1+e^{-(x-\mu)/r})^2}
f(x)=F′(x)=γ(1+e−(x−μ)/r)2e−(x−μ)/r
其中,
μ
\mu
μ为位置参数,
γ
>
0
\gamma >0
γ>0 为形状参数.
逻辑斯谛分布的密度函数
f
(
x
)
f(x)
f(x)和分布函数
F
(
x
)
F(x)
F(x)的图形如下图所示。
分布函数属于逻辑斯谛函数,其图形属于一条S形曲线(sigmoid curve)。该曲线以点
(
μ
,
1
2
)
(\mu, \frac{1}{2})
(μ,21)为中心对称,即满足
F
(
−
x
+
μ
)
−
1
2
=
−
F
(
x
+
μ
)
+
1
2
F(-x+\mu)-\frac{1}{2}=-F(x+\mu)+\frac{1}{2}
F(−x+μ)−21=−F(x+μ)+21
曲线在中心附近增长速度较快,在两端增长速度较慢。形状参数
γ
\gamma
γ的值越小,曲线在中心附件增长得越快。
1.2 二项逻辑斯谛回归(binomial logistic regression model)
二项逻辑斯蒂回归是一种分类模型,由条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)表示,形式为参数化得逻辑斯蒂分布。这里随机变量X取值为实数,随机变量Y取值为1或者0。
定义(逻辑斯蒂回归模型):二项逻辑斯蒂回归模型是如下得条件概率分布:
P
(
Y
=
1
∣
x
)
=
e
x
p
(
w
⋅
x
+
b
)
1
+
e
x
p
(
w
⋅
x
+
b
)
P(Y=1|x)=\frac{exp(w\cdot x + b)}{1+ exp(w\cdot x + b)}
P(Y=1∣x)=1+exp(w⋅x+b)exp(w⋅x+b)
P
(
Y
=
0
∣
x
)
=
1
1
+
e
x
p
(
w
⋅
x
+
b
)
P(Y=0|x)=\frac{1}{1+exp(w\cdot x +b)}
P(Y=0∣x)=1+exp(w⋅x+b)1
这里,
x
∈
R
n
x\in R^n
x∈Rn是输入,
Y
∈
0
,
1
Y\in {0, 1}
Y∈0,1是输出,
w
∈
R
n
w\in R^n
w∈Rn和
b
∈
R
b\in R
b∈R是参数,
w
称
为
权
值
向
量
w称为权值向量
w称为权值向量,
b
b
b为偏置,
w
⋅
x
w\cdot x
w⋅x为w和x的内积。
逻辑斯蒂回归比较两个条件概率值的大小,将实例x分到概率值较大的那一类。
有时为了方便,将权值向量和输入向量加以扩充,仍记作w,x即
w
=
(
w
(
1
)
,
w
(
2
)
,
.
.
.
,
w
(
n
)
,
b
)
T
,
x
=
(
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
n
)
,
1
)
T
w=(w^{(1)}, w^{(2)}, ...,w^{(n)}, b)^T, x=(x^{(1)},x^{(2)},...,x^{(n)}, 1)^T
w=(w(1),w(2),...,w(n),b)T,x=(x(1),x(2),...,x(n),1)T,则:
P
(
Y
=
1
∣
x
)
=
e
x
p
(
w
⋅
x
)
1
+
e
x
p
(
w
⋅
x
)
P(Y=1|x)=\frac{exp(w\cdot x)}{1+ exp(w\cdot x)}
P(Y=1∣x)=1+exp(w⋅x)exp(w⋅x)
P
(
Y
=
0
∣
x
)
=
1
1
+
e
x
p
(
w
⋅
x
)
P(Y=0|x)=\frac{1}{1+exp(w\cdot x)}
P(Y=0∣x)=1+exp(w⋅x)1
逻辑斯蒂回归的特点。一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率为p,那么该事件的几率为
p
1
−
p
\frac{p}{1-p}
1−pp,该事件的对数几率(log odds)或logit函数是:
l
o
g
i
t
(
p
)
=
l
o
g
p
1
−
p
logit(p)=log \frac{p}{1-p}
logit(p)=log1−pp
对于逻辑斯蒂回归而言,可得:
l
o
g
P
(
Y
=
1
∣
x
)
1
−
P
(
Y
=
1
∣
x
)
=
w
⋅
x
log\frac{P(Y=1|x)}{1- P(Y=1|x)}=w\cdot x
log1−P(Y=1∣x)P(Y=1∣x)=w⋅x
这就是说,在逻辑回归模型中,输出Y=1的对数几率是输入x的线性函数。或者说, 输出Y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯蒂回归模型。线性函数的值越接近正无穷,概率值就接近1;线性函数的值越接近负无穷,概率值就越接近于0.
1.3 模型参数估计
对于给定的训练数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),...,(xN,yN)},其中
x
i
∈
R
n
,
y
i
∈
{
0
,
1
}
x_i\in R^n, y_i \in \{0,1\}
xi∈Rn,yi∈{0,1},可以应用极大似然估计法估计模型参数,从而得到逻辑斯蒂回归模型。
设:
P
(
Y
=
1
∣
x
)
=
π
(
x
)
P(Y=1|x)=\pi (x)
P(Y=1∣x)=π(x),
P
(
Y
=
0
∣
x
)
=
1
−
π
(
x
)
P(Y=0|x)=1-\pi (x)
P(Y=0∣x)=1−π(x),似然函数为:
∏
i
=
1
N
[
π
(
x
i
)
]
y
i
[
1
−
π
(
x
i
)
]
1
−
y
i
\prod_{i=1}^N [\pi (x_i)]^{y_i}[1- \pi (x_i)]^{1-y_i}
i=1∏N[π(xi)]yi[1−π(xi)]1−yi
对数似然函数为:
L
(
w
)
=
∑
i
=
1
N
[
y
i
(
w
⋅
x
i
)
−
log
(
1
+
e
x
p
(
w
⋅
x
i
)
)
]
L(w)=\sum_{i=1}^N [y_i(w\cdot x_i)-\log (1+exp(w\cdot x_i))]
L(w)=i=1∑N[yi(w⋅xi)−log(1+exp(w⋅xi))]
对
L
(
w
)
L(w)
L(w)求极大值,得到w的估计值。
这样问题就变成了以对数似然函数为目标函数的最优化问题。逻辑斯蒂回归学习中通常采用的方法是梯度下降法及拟牛顿法。
假设
w
w
w的极大似然估计值是
w
^
\hat {w}
w^,那么学到的逻辑斯蒂回归模型为:
P
(
Y
=
1
∣
x
)
=
e
x
p
(
w
^
⋅
x
)
1
+
e
x
p
(
w
^
⋅
x
)
P(Y=1|x)=\frac{exp(\hat {w}\cdot x)}{1+ exp(\hat {w}\cdot x)}
P(Y=1∣x)=1+exp(w^⋅x)exp(w^⋅x)
P
(
Y
=
0
∣
x
)
=
1
1
+
e
x
p
(
w
^
⋅
x
)
P(Y=0|x)=\frac{1}{1+exp(\hat {w}\cdot x)}
P(Y=0∣x)=1+exp(w^⋅x)1
1.4 多项逻辑斯蒂回归(multi-nominal logistic regression model)
假设离散型随机变量Y的取值集合是{1,2,…, K},那么多项逻辑斯蒂回归模型是:
2. 最大熵模型(maximum entropy model)
最大熵模型是由最大熵原理推导实现。
2.1 最大熵原理
最大熵原理是概率模型学习的一个准则。认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合。所以,最大熵原理也可描述为在满足约束条件的模型集合中选取熵最大的模型。
那为什么要选择熵最大呢?因为在未知任何信息的情况下,就只能假设数据在各个取值上面是比较平均的,即混乱度最大。
假设离散随机变量X的概率分布是
P
(
X
)
P(X)
P(X),则其熵是
H
(
P
)
=
−
∑
x
P
(
x
)
l
o
g
(
x
)
H(P)=-\sum_x P(x)log (x)
H(P)=−x∑P(x)log(x)
熵满足下列不等式:
0
≤
H
(
P
)
≤
log
∣
X
∣
0 \le H(P) \le \log{|X|}
0≤H(P)≤log∣X∣
其中,
∣
X
∣
|X|
∣X∣是X的取值个数,当且仅当X的分布是均匀分布时右边的等号成立,也就是说当X服从均匀分布时,熵最大。
有了这个约束条件,在没有其他信息的情况下,,可以认为A和B是等概率的,C、D和E是等概率的,于是:
P
(
A
)
=
P
(
B
)
=
3
20
P(A)=P(B)=\frac{3}{20}
P(A)=P(B)=203
P
(
C
)
=
P
(
D
)
=
P
(
E
)
=
7
20
P(C)=P(D)=P(E)=\frac{7}{20}
P(C)=P(D)=P(E)=207
2.2 最大熵模型的定义
假设分类模型是一个条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X), X ∈ X ∈ R n X\in\mathcal X\in\bold R^n X∈X∈Rn表示输入, Y ∈ Y Y\in\mathcal Y Y∈Y表示输出, X \mathcal X X和 Y \mathcal Y Y分别是输入和输出的集合。这个模型表示的是对于给定的输入 X X X,以条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X)输出 Y Y Y。给定一个训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2 ,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)},学习的目标是用最大熵原理选择最好的分类模型。
给定训练数据集,可以确定联合分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y)的经验分布和边缘分布
P
(
X
)
P(X)
P(X)的经验分布,分别以
P
~
(
X
,
Y
)
{\tilde P}(X,Y)
P~(X,Y)和
P
~
(
X
)
{\tilde P}(X)
P~(X)表示:
P
~
(
X
=
x
,
Y
=
y
)
=
ν
(
X
=
x
,
Y
=
y
)
N
{\tilde P}(X=x,Y=y)=\frac{\nu(X=x,Y=y)}{N}
P~(X=x,Y=y)=Nν(X=x,Y=y)
P
~
(
X
=
x
)
=
ν
(
X
=
x
)
N
{\tilde P}(X=x)=\frac{\nu(X=x)}{N}
P~(X=x)=Nν(X=x)
式中
ν
(
X
=
x
,
Y
=
y
)
\nu(X=x,Y=y)
ν(X=x,Y=y)表示训练数据中样本
(
x
,
y
)
(x,y)
(x,y)出现的频数,
ν
(
X
=
x
)
\nu(X=x)
ν(X=x)表示训练中输入
x
x
x出现的频数,N表示训练样本容量。然后用一个特征函数(feature function)
f
(
x
,
y
)
f(x,y)
f(x,y)描述输入
x
x
x和输出
y
y
y之间的某一个事实。其定义是:
f
(
x
,
y
)
=
{
1
,
x
和
y
满
足
某
一
事
实
0
,
否
则
f(x,y)=\left\{\begin{matrix} 1, & x和y满足某一事实\\ 0, & 否则 \end{matrix}\right.
f(x,y)={1,0,x和y满足某一事实否则
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于经验分布
P
~
(
X
,
Y
)
{\tilde P}(X,Y)
P~(X,Y)的期望值:
E
P
~
(
f
)
=
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
E_{\tilde P}(f)=\sum_{x,y}{\tilde P}(x,y)f(x,y)
EP~(f)=x,y∑P~(x,y)f(x,y)
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于模型
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)与经验分布
P
~
(
X
,
Y
)
{\tilde P}(X,Y)
P~(X,Y)的期望值:
E
P
(
f
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
E_P(f)=\sum_{x,y}{\tilde P}(x)P(y|x)f(x,y)
EP(f)=x,y∑P~(x)P(y∣x)f(x,y)
如果模型能够获取训练中的信息,那么就可以假设这两个期望值相等,即:
E
P
~
(
f
)
=
E
P
(
f
)
E_{\tilde P}(f)=E_P(f)
EP~(f)=EP(f)
即:
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
\sum_{x,y}{\tilde P}(x,y)f(x,y)=\sum_{x,y}{\tilde P}(x)P(y|x)f(x,y)
x,y∑P~(x,y)f(x,y)=x,y∑P~(x)P(y∣x)f(x,y)
上式即为模型学习的约束条件。
最大熵模型 假设满足所有约束条件的模型集合为:
C
=
{
P
∈
P
∣
E
P
(
f
i
)
=
E
P
~
(
f
i
)
,
i
=
1
,
2
,
.
.
.
,
n
}
\mathcal C=\{P\in\mathcal P|E_{P}(f_i)=E_{\tilde P}(f_i),\ i=1,2,...,n\}
C={P∈P∣EP(fi)=EP~(fi), i=1,2,...,n}
定义在条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)上的条件熵为:
H
(
P
)
=
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
H(P)=-\sum_{x,y}{\tilde P}(x)P(y|x)\log P(y|x)
H(P)=−x,y∑P~(x)P(y∣x)logP(y∣x)
则模型集合
C
\mathcal C
C中条件熵
H
(
P
)
H(P)
H(P)最大的模型称为最大熵模型。
2.3 最大熵模型的学习
最大熵模型的学习过程就是求解最大熵模型的过程,也可以形式化为约束最优化问题。给定训练数据集
T
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
,
(
x
N
,
y
N
)
}
T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}
T={(x1,y1),(x2,y2),...,(xN,yN)}以及特征函数
f
i
(
x
,
y
)
,
i
=
1
,
2
,
.
.
.
n
f_i(x,y),\ i=1,2,...n
fi(x,y), i=1,2,...n,最大熵模型的学习等价于约束最优化问题:
max
P
∈
C
H
(
P
)
=
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
\max_{P\in\mathcal C}\ H(P)=-\sum_{x,y}\tilde P(x)P(y|x)\log P(y|x)
P∈Cmax H(P)=−x,y∑P~(x)P(y∣x)logP(y∣x)
s
.
t
.
E
P
(
f
i
)
=
E
P
~
(
f
i
)
,
i
=
1
,
2
,
.
.
.
,
n
∑
y
P
(
y
∣
x
)
=
1
s.t.\ E_P(f_i)=E_{\tilde P}(f_i),\ i=1,2,...,n\ \ \ \sum_{y}P(y|x)=1
s.t. EP(fi)=EP~(fi), i=1,2,...,n y∑P(y∣x)=1
按照最优化问题的习惯,我们将求最大值转化成等价的求最小值问题:
min
P
∈
C
−
H
(
P
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
\min_{P\in\mathcal C}\ -H(P)=\sum_{x,y}\tilde P(x)P(y|x)\log P(y|x)
P∈Cmin −H(P)=x,y∑P~(x)P(y∣x)logP(y∣x)
s
.
t
.
E
P
(
f
i
)
=
E
P
~
(
f
i
)
,
i
=
1
,
2
,
.
.
.
,
n
∑
y
P
(
y
∣
x
)
=
1
s.t.\ E_P(f_i)=E_{\tilde P}(f_i),\ i=1,2,...,n\ \ \ \sum_{y}P(y|x)=1
s.t. EP(fi)=EP~(fi), i=1,2,...,n y∑P(y∣x)=1
这里,将约束最优化的原始问题转换为无约束最优化的对偶问题。通过求解对偶问题求解原始问题。
对于上述优化问题,首先,引进拉格朗日乘子
w
0
,
w
1
,
.
.
.
,
w
n
w_0,w_1,...,w_n
w0,w1,...,wn,定义拉格朗日函数
L
(
P
,
w
)
L(P,w)
L(P,w):
最优化的原始问题是:
min
P
∈
C
max
w
L
(
P
,
w
)
\min_{P\in \bold C}\max_wL(P,w)
P∈CminwmaxL(P,w)
对偶问题是:
max
w
min
P
∈
C
L
(
P
,
w
)
\max_w\min_{P\in \bold C}L(P,w)
wmaxP∈CminL(P,w)
由于拉格朗日函数
L
(
P
,
w
)
L(P,w)
L(P,w)是P的凸函数,原始问题的解与对偶问题的解是等价的。这样可以通过求解对偶问题来求解原始问题。
首先求解内部的极小化问题
min
P
∈
C
L
(
P
,
w
)
\min \limits_{P\in\bold C}L(P,w)
P∈CminL(P,w),记作:
Ψ
(
w
)
=
min
P
∈
C
L
(
P
,
w
)
=
L
(
P
w
,
w
)
\Psi(w)=\min_{P\in\bold C}L(P,w)=L(P_w,w)
Ψ(w)=P∈CminL(P,w)=L(Pw,w)
Ψ
(
w
)
\Psi(w)
Ψ(w)称为对偶函数。同时,将其解记为:
P
w
=
arg
min
P
∈
C
L
(
P
,
w
)
=
P
w
(
y
∣
x
)
P_w=\arg \min_{P\in\bold C}L(P,w)=P_w(y|x)
Pw=argP∈CminL(P,w)=Pw(y∣x)
然后求
L
(
P
,
w
)
L(P,w)
L(P,w)对
P
(
y
∣
x
)
P(y|x)
P(y∣x)的偏导数:
令偏导数等于0且在
P
~
(
x
)
>
0
\tilde P(x)>0
P~(x)>0的情况下,解得:
P
(
y
∣
x
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
+
w
0
−
1
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
exp
(
1
−
w
0
)
P(y|x)=\exp\left(\sum_{i=1}^nw_if_i(x,y)+w_0-1\right)=\frac{\exp\left(\sum \limits_{i=1}^nw_if_i(x,y)\right)}{\exp(1-w_0)}
P(y∣x)=exp(i=1∑nwifi(x,y)+w0−1)=exp(1−w0)exp(i=1∑nwifi(x,y))
由于存在约束条件
∑
y
P
(
y
∣
x
)
=
1
\sum \limits_{y}P(y|x)=1
y∑P(y∣x)=1,得(这里根据和为1的条件将上式中的分母替换):
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
P_w(y|x)=\frac{1}{Z_w(x)}\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
其中:
Z
w
(
x
)
=
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z_w(x)=\sum_{y}\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)
Zw(x)=y∑exp(i=1∑nwifi(x,y))
Z
w
(
x
)
Z_w(x)
Zw(x)称为规范化因子;
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)是特征函数;
w
i
w_i
wi是特征的权值。
之后,求解对偶问题外部的极大化问题:
max
w
Ψ
(
w
)
\max_w\Psi(w)
maxwΨ(w)
将其解记为
w
∗
w^*
w∗,即:
w
∗
=
arg
min
w
Ψ
(
w
)
w^*=\arg\min_w\Psi(w)
w∗=argminwΨ(w)
2.3 极大似然估计
对偶函数的极大化等价于最大熵模型的极大似然估计。证明略。
最大熵模型与逻辑斯谛回归模型有类似的形式,它们又称为对数线性模型(log linear model)。模型学习就是在给定的训练数据条件下对模型进行极大似然估计或正则化的极大似然估计。
3. 模型学习的最优化算法
逻辑斯谛回归模型、最大熵模型学习归结为以似然函数为目标函数的最优化问题,通常通过迭代算法
求解。这时的目标函数是光滑的凸函数
,常用的方法有改进的迭代尺度法
、梯度下降法
、牛顿法
和拟牛顿法
等。牛顿法或拟牛顿法一般收敛速度更快。
3.1 改进的迭代尺度法(improved iterative scaling, IIS)
IIS是一种最大熵模型学习的最优化算法。已知最大熵模型为:
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
P_w(y|x)=\frac{1}{Z_w(x)}\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
其中:
Z
w
(
x
)
=
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z_w(x)=\sum_{y}\exp\left(\sum_{i=1}^nw_if_i(x,y)\right)
Zw(x)=y∑exp(i=1∑nwifi(x,y))
对数似然函数为(这里省去了推导):
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
−
∑
x
P
~
(
x
)
log
Z
w
(
x
)
\sum_{x,y}\tilde P(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_x\tilde P(x)\log Z_w(x)
x,y∑P~(x,y)i=1∑nwifi(x,y)−x∑P~(x)logZw(x)
目标是通过极大似然估计学习模型参数,即求对数似然函数的极大值
w
^
\hat w
w^。而改进的迭代尺度法的思想是:==假设最大熵模型当前的参数向量是
w
=
(
w
1
,
w
2
,
.
.
.
,
w
n
)
T
w=(w_1,w_2,...,w_n)^{\rm T}
w=(w1,w2,...,wn)T,我们希望找到一个新的参数向量
w
+
δ
=
(
w
1
+
δ
,
w
2
+
δ
,
.
.
.
,
w
n
+
δ
)
T
w+\delta=(w_1+\delta,w_2+\delta,...,w_n+\delta)^{\rm T}
w+δ=(w1+δ,w2+δ,...,wn+δ)T,使得模型的对数似然函数增大。如果能有这样一种参数向量更新的方法
τ
:
w
→
w
+
δ
\tau: w\rightarrow w+\delta
τ:w→w+δ,那么就可以重复使用这一方法,直到找到对数似然函数的最大值。对于给定的经验分布
P
~
(
x
,
y
)
\tilde P(x,y)
P~(x,y),模型参数从
w
w
w到
w
+
δ
w+\delta
w+δ,对数似然函数的该变量是:
利用不等式:
−
l
o
g
α
≥
1
−
α
,
α
>
0
−logα≥1−α, α>0
−logα≥1−α,α>0
建立对数似然函数该变量的下界:
将上式右端记为
A
(
δ
∣
w
)
A(\delta|w)
A(δ∣w),即:
L
(
w
+
δ
)
−
L
(
w
)
≥
A
(
δ
∣
w
)
L(w+\delta)-L(w)\geq A(\delta|w)
L(w+δ)−L(w)≥A(δ∣w)
即
A
(
δ
∣
w
)
A(\delta|w)
A(δ∣w)是对数似然函数该变量的一个下界。如果能够找到合适的
δ
\delta
δ使下界提高,那么对数似然函数也会提高。然而,函数
A
(
δ
∣
w
)
A(\delta|w)
A(δ∣w)中的
δ
\delta
δ是一个向量,含有多个变量,不易同时优化。改进的迭代尺度法试图以此只优化其中一个变量
δ
i
\delta_i
δi,而固定其他变量
δ
j
,
i
≠
j
\delta_j, i\ne j
δj,i=j。
为达到这一目的,改进的迭代尺度法进一步降低下界。具体地,引入一个量
f
#
(
x
,
y
)
f^\#(x,y)
f#(x,y):
f
#
(
x
,
y
)
=
∑
i
f
i
(
x
,
y
)
f^\#(x,y)=\sum_if_i(x,y)
f#(x,y)=i∑fi(x,y)
因为
f
i
f_i
fi是二值函数,故
f
#
(
x
,
y
)
f^\#(x,y)
f#(x,y)表示所有特征在
(
x
,
y
)
(x,y)
(x,y)出现的次数。这样,
A
(
δ
∣
w
)
A(\delta|w)
A(δ∣w)改写为:
A
(
δ
∣
w
)
=
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
δ
i
f
i
(
x
,
y
)
+
1
−
∑
x
P
~
(
x
)
∑
y
P
w
(
y
∣
x
)
exp
(
f
#
(
x
,
y
)
∑
i
=
1
n
δ
i
f
i
(
x
,
y
)
f
#
(
x
,
y
)
)
(12)
A(\delta|w)=\sum_{x,y}\tilde P(x,y)\sum_{i=1}^n\delta_if_i(x,y)+1-\sum_x\tilde P(x)\sum_yP_w(y|x)\exp\left(f^\#(x,y)\sum_{i=1}^n\frac{\delta_if_i(x,y)}{f^\#(x,y)}\right)\tag{12}
A(δ∣w)=x,y∑P~(x,y)i=1∑nδifi(x,y)+1−x∑P~(x)y∑Pw(y∣x)exp(f#(x,y)i=1∑nf#(x,y)δifi(x,y))(12)
根据定义,
f
i
(
x
,
y
)
f_i(x,y)
fi(x,y)表示第
i
i
i个特征在
(
x
,
y
)
(x,y)
(x,y)出现的次数;
f
#
(
x
,
y
)
f^\#(x,y)
f#(x,y)表示所有特征在
(
x
,
y
)
(x,y)
(x,y)出现的次数。所以有:
f
i
(
x
,
y
)
f
#
(
x
,
y
)
≥
0
,
∑
i
=
1
n
f
i
(
x
,
y
)
f
#
(
x
,
y
)
=
1
\frac{f_i(x,y)}{f^\#(x,y)}\geq0,\ \sum_{i=1}^n\frac{f_i(x,y)}{f^\#(x,y)}=1
f#(x,y)fi(x,y)≥0, i=1∑nf#(x,y)fi(x,y)=1
根据Jensen不等式:
f
(
λ
i
∑
i
=
1
n
f
(
x
i
)
≤
∑
i
=
1
n
λ
i
f
(
x
i
)
)
f\left(\lambda_i\sum \limits_{i=1}^nf(x_i)\leq\sum \limits_{i=1}^n\lambda_if(x_i)\right)
f(λii=1∑nf(xi)≤i=1∑nλif(xi))
所以有:
exp
(
∑
i
=
1
n
f
i
(
x
,
y
)
f
#
(
x
,
y
)
δ
i
f
#
(
x
,
y
)
)
≤
∑
i
=
1
n
f
i
(
x
,
y
)
f
#
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
\exp\left(\sum_{i=1}^n\frac{f_i(x,y)}{f^\#(x,y)}\delta_i{f^\#(x,y)}\right)\leq\sum_{i=1}^n\frac{f_i(x,y)}{f^\#(x,y)}\exp\left(\delta_if^\#(x,y)\right)
exp(i=1∑nf#(x,y)fi(x,y)δif#(x,y))≤i=1∑nf#(x,y)fi(x,y)exp(δif#(x,y))
由此,式(11)可以改写为:
A
(
δ
∣
w
)
≥
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
δ
i
f
i
(
x
,
y
)
+
1
−
∑
x
P
~
(
x
)
∑
y
P
w
(
y
∣
x
)
∑
i
=
1
n
f
i
(
x
,
y
)
f
#
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
A(\delta|w)\geq\sum_{x,y}\tilde P(x,y)\sum_{i=1}^n\delta_if_i(x,y)+1-\sum_x\tilde P(x)\sum_yP_w(y|x)\sum_{i=1}^n\frac{f_i(x,y)}{f^\#(x,y)}\exp\left(\delta_if^\#(x,y)\right)
A(δ∣w)≥x,y∑P~(x,y)i=1∑nδifi(x,y)+1−x∑P~(x)y∑Pw(y∣x)i=1∑nf#(x,y)fi(x,y)exp(δif#(x,y))
记等式右端为
B
(
δ
∣
w
)
B(\delta|w)
B(δ∣w),于是得到:
L
(
w
+
δ
)
−
L
(
w
)
≥
B
(
δ
∣
w
)
L(w+\delta)-L(w)\geq B(\delta|w)
L(w+δ)−L(w)≥B(δ∣w)
这里的
B
(
δ
∣
w
)
B(\delta|w)
B(δ∣w)式对数似然函数该变量的一个新的下界。求
B
(
δ
∣
w
)
B(\delta|w)
B(δ∣w)对
δ
i
\delta_i
δi的偏导数:
∂
B
(
δ
∣
w
)
∂
δ
i
=
∑
x
,
y
P
~
(
x
,
y
)
f
i
(
x
,
y
)
−
∑
x
P
~
(
x
)
∑
y
P
w
(
y
∣
x
)
f
i
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
\frac{\partial B(\delta|w)}{\partial \delta_i}=\sum_{x,y}\tilde P(x,y)f_i(x,y)-\sum_x\tilde P(x)\sum_yP_w(y|x)f_i(x,y)\exp\left(\delta_if^\#(x,y)\right)
∂δi∂B(δ∣w)=x,y∑P~(x,y)fi(x,y)−x∑P~(x)y∑Pw(y∣x)fi(x,y)exp(δif#(x,y))
令偏导数等于0,有:
∑
x
,
y
P
~
(
x
)
P
w
(
y
∣
x
)
f
i
(
x
,
y
)
exp
(
δ
i
f
#
(
x
,
y
)
)
=
E
P
~
(
f
i
)
\sum_{x,y}\tilde P(x)P_w(y|x)f_i(x,y)\exp\left(\delta_if^\#(x,y)\right)=E_{\tilde P}(f_i)
x,y∑P~(x)Pw(y∣x)fi(x,y)exp(δif#(x,y))=EP~(fi)
于是,依次对
δ
i
\delta_i
δi求解方程即可求出
δ
\delta
δ。
算法(改进的迭代尺度算法IIS)
3.2 拟牛顿法
对于最大熵模型而言:
P
w
(
y
∣
x
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
P_w(y|x)=\frac{\exp\left(\sum \limits_{i=1}^nw_if_i(x,y)\right)}{\sum \limits_{y}\exp\left(\sum \limits_{i=1}^nw_if_i(x,y)\right)}
Pw(y∣x)=y∑exp(i=1∑nwifi(x,y))exp(i=1∑nwifi(x,y))
目标函数:
min
w
∈
R
n
f
(
w
)
=
∑
x
P
~
(
x
)
log
∑
y
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
−
∑
x
,
y
P
~
(
x
,
y
)
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
\min_{w\in\bold R^n}\ f(w)=\sum_x\tilde P(x)\log\sum_y\exp\left(\sum \limits_{i=1}^nw_if_i(x,y)\right)-\sum_{x,y}\tilde P(x,y)\sum \limits_{i=1}^nw_if_i(x,y)
w∈Rnmin f(w)=x∑P~(x)logy∑exp(i=1∑nwifi(x,y))−x,y∑P~(x,y)i=1∑nwifi(x,y)
梯度:
g
(
w
)
=
(
∂
f
(
w
)
∂
w
1
,
∂
f
(
w
)
∂
w
2
,
.
.
.
,
∂
f
(
w
)
∂
w
n
)
T
g(w)=\left(\frac{\partial f(w)}{\partial w_1},\frac{\partial f(w)}{\partial w_2},...,\frac{\partial f(w)}{\partial w_n}\right)^{\rm T}
g(w)=(∂w1∂f(w),∂w2∂f(w),...,∂wn∂f(w))T
其中:
∂
f
(
w
)
∂
w
i
=
∑
x
,
y
P
~
(
x
)
P
w
(
y
∣
x
)
f
i
(
x
,
y
)
−
E
P
~
(
f
i
)
,
i
=
1
,
2
,
.
.
.
,
n
\frac{\partial f(w)}{\partial w_i}=\sum_{x,y}\tilde P(x)P_w(y|x)f_i(x,y)-E_{\tilde P}(f_i),\ i=1,2,...,n
∂wi∂f(w)=x,y∑P~(x)Pw(y∣x)fi(x,y)−EP~(fi), i=1,2,...,n
算法(最大熵模型学习的拟牛顿法)
4. 总结
- 逻辑斯蒂回归模型模型可以用于二类或多类分类。
- 逻辑斯谛回归模型是由输入的线性函数表示的输出的对数几率模型。
- 最大熵原理是概率模型学习或估计的一个准则。
- 最大熵原理认为在所有可能的概率模型(分布)的集合中,熵最大的模型是最好的模型。
- 逻辑斯蒂回归模型与最大熵模型都是与对数线性模型。
- 逻辑斯蒂回归模型及最大熵模型学习一般采用极大似然估计,或正则化的极大似然估计。
- 逻辑斯蒂回归模型及最大熵模型学习可以形式化为无约束最优化问题。求解该问题的算法有改进的迭代尺度法、梯度下降法、拟牛顿法。
5. 内容来源
[1] 《统计学习方法》 李航