逻辑斯蒂回归与最大熵模型 (logistic regression&maximum entropy model)
- 逻辑斯蒂回归与最大熵模型都属于对数线性模型
- 逻辑斯蒂回归 (logistic regression)是统计学习中的分类方法
- 最大熵模型 (maximum entropy model)是统计学习中的分类方法
- 最大熵是概率模型学习的一个准则
逻辑斯蒂回归模型
-
逻辑斯蒂分布 (logistic distribution)
- 定义
- 设
X
X
X是连续随机变量,
X
X
X服从逻辑斯蒂分布是指
X
X
X具有以下
- 分布函数
- F ( x ) = P ( X ≤ x ) = 1 1 + e − ( x − μ ) / γ F(x)=P(X\leq x)=\frac{1}{1+e^{-(x-\mu)/\gamma}} F(x)=P(X≤x)=1+e−(x−μ)/γ1
- 密度函数
- f ( x ) = F ′ ( x ) = e − ( x − μ ) / γ γ ( 1 + e − ( x − μ ) / γ ) 2 f(x)=F'(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} f(x)=F′(x)=γ(1+e−(x−μ)/γ)2e−(x−μ)/γ
- μ \mu μ为位置参数
- γ > 0 \gamma>0 γ>0为形状参数
- 分布函数
- 设
X
X
X是连续随机变量,
X
X
X服从逻辑斯蒂分布是指
X
X
X具有以下
- 定义
-
二项逻辑斯蒂回归模型(binomial logistic regression model)
-
由条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)表示,形式为参数化的逻辑斯蒂分布
- 随机变量 X X X取值为实数,随机变量 Y Y Y取值为1或0
-
定义
- 二项逻辑斯蒂回归模型是如下的条件概率分布
- P ( Y = 1 ∣ x ) = exp ( w ⋅ x + b ) 1 + exp ( 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 + exp ( 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
- w ⋅ x w\cdot x w⋅x为 w w w和 x x x的内积
- 输入
- 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, 偏置
- 二项逻辑斯蒂回归模型是如下的条件概率分布
-
对于给定的输入实例 x x x, 可以求得 P ( Y = 1 ∣ x ) P(Y=1|x) P(Y=1∣x), P ( Y = 0 ∣ x ) P(Y=0|x) P(Y=0∣x), 比较两个条件概率值的大小,将实例 x x x分到概率值较大的那一类
-
为了方便,将权值向量和输入向量加以扩充
- 仍记作
w
w
w,
x
x
x
- w = ( w ( 1 ) , w ( 2 ) , ⋯ , w ( n ) , b ) T w=(w^{(1)},w^{(2)},\cdots,w^{(n)},b)^T w=(w(1),w(2),⋯,w(n),b)T
- x = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( n ) , 1 ) T x=(x^{(1)},x^{(2)},\cdots,x^{(n)},1)^T x=(x(1),x(2),⋯,x(n),1)T
- P ( Y = 1 ∣ x ) = exp ( w ⋅ x ) 1 + exp ( 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 + exp ( w ⋅ x ) P(Y=0|x)=\frac{1}{1+\exp(w\cdot x)} P(Y=0∣x)=1+exp(w⋅x)1
- 仍记作
w
w
w,
x
x
x
-
几率 (odds)
- 一个事件的几率是指该事件发生的概率与该事件不发生的概率的比值
- 如,事件发生的概率为
p
p
p, 事件不发生的概率为
1
−
p
1-p
1−p, 那么事件的几率为
- p 1 − p \frac{p}{1-p} 1−pp
- 如,事件发生的概率为
p
p
p, 事件不发生的概率为
1
−
p
1-p
1−p, 那么事件的几率为
- 对数几率 (log odds)
- logit函数
- l o g i t ( p ) = log p 1 − p logit(p)=\log \frac{p}{1-p} logit(p)=log1−pp
- logit函数
- 一个事件的几率是指该事件发生的概率与该事件不发生的概率的比值
-
逻辑斯蒂的对数几率
- log 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 Y=1 Y=1的对数几率是输入 x x x的线性函数
- 输入 Y = 1 Y=1 Y=1的对数几率是输入 x x x的线性函数表示的模型,即逻辑斯蒂回归模型
-
通过逻辑斯蒂回归模型将线性函数 w ⋅ x w\cdot x w⋅x转换为概率
-
P ( Y = 1 ∣ x ) = exp ( w ⋅ x ) 1 + exp ( 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)
-
线性函数的值越接近正无穷,概率值就越接近1
-
线性函数的值越接近负无穷,概率值就越接近0
-
import numpy as np f=lambda x:np.exp(x)/(1+np.exp(x)) display(f(5),f(-5))
-
-
-
模型参数估计
- 应用极大似然估计法估计模型参数,得到逻辑斯蒂回归模型
- 设
- 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\limits_{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 log π ( x i ) + ( 1 − y i ) log ( 1 − π ( x i ) ) ] L(w)=\sum\limits_{i=1}^N[y_i\log \pi(x_i)+(1-y_i)\log(1-\pi(x_i))] L(w)=i=1∑N[yilogπ(xi)+(1−yi)log(1−π(xi))]
- = ∑ i = 1 N [ y i log π ( x i ) 1 − π ( x i ) + log ( 1 − π ( x i ) ) ] =\sum\limits_{i=1}^N[y_i\log\frac{\pi(x_i)}{1-\pi(x_i)}+\log(1-\pi(x_i))] =i=1∑N[yilog1−π(xi)π(xi)+log(1−π(xi))]
- = ∑ i = 1 N [ y i ( w ⋅ x ) − log ( 1 + exp ( w ⋅ x ) ) ] =\sum\limits_{i=1}^N[y_i(w\cdot x)-\log(1+\exp(w\cdot x))] =i=1∑N[yi(w⋅x)−log(1+exp(w⋅x))]
- 设
- 对
L
(
w
)
L(w)
L(w)求极大值,得到
w
w
w的估计值
- 这样问题就变成了以对数似然函数为目标函数的最优化问题
- 设
w
w
w的极大似然估计值是
w
^
\hat{w}
w^,那么学到的逻辑斯蒂回归模型为
- P ( Y = 1 ∣ x ) = exp ( w ^ ⋅ x ) 1 + exp ( 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 + exp ( w ^ ⋅ x ) P(Y=0|x)=\frac{1}{1+\exp(\hat{w}\cdot x)} P(Y=0∣x)=1+exp(w^⋅x)1
- 应用极大似然估计法估计模型参数,得到逻辑斯蒂回归模型
-
多项逻辑斯蒂回归模型 (multi-nominal logistic regression model)
- 设
- 离散型随机变量
Y
Y
Y的取值集合是
- { 1 , 2 , ⋯ , K } \{1,2,\cdots,K\} {1,2,⋯,K}
- 离散型随机变量
Y
Y
Y的取值集合是
- 多项逻辑斯蒂回归模型
-
P
(
Y
=
k
∣
x
)
=
exp
(
w
k
⋅
x
)
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
P(Y=k|x)=\frac{\exp(w_k\cdot x)}{1+\sum\limits_{k=1}^{K-1}\exp(w_k\cdot x)}
P(Y=k∣x)=1+k=1∑K−1exp(wk⋅x)exp(wk⋅x)
- k = 1 , 2 , ⋯ , K − 1 k=1,2,\cdots,K-1 k=1,2,⋯,K−1
- P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K − 1 exp ( w k ⋅ x ) P(Y=K|x)=\frac{1}{1+\sum\limits_{k=1}^{K-1}\exp(w_k\cdot x)} P(Y=K∣x)=1+k=1∑K−1exp(wk⋅x)1
- x ∈ R n + 1 x\in R^{n+1} x∈Rn+1, w k ∈ R n + 1 w_k\in R^{n+1} wk∈Rn+1
-
P
(
Y
=
k
∣
x
)
=
exp
(
w
k
⋅
x
)
1
+
∑
k
=
1
K
−
1
exp
(
w
k
⋅
x
)
P(Y=k|x)=\frac{\exp(w_k\cdot x)}{1+\sum\limits_{k=1}^{K-1}\exp(w_k\cdot x)}
P(Y=k∣x)=1+k=1∑K−1exp(wk⋅x)exp(wk⋅x)
- 模型参数估计
- 应用极大似然估计法估计模型参数,得到逻辑斯蒂回归模型
- 设
- P ( Y = k ∣ x ) = π ( x ) P(Y=k|x)=\pi(x) P(Y=k∣x)=π(x), P ( Y = K ∣ x ) = 1 − π ( x ) P(Y=K|x)=1-\pi(x) P(Y=K∣x)=1−π(x)
- 似然函数为
- ∏ i = 1 N [ π ( x i ) ] y k [ 1 − π ( x i ) ] 1 − y K \prod\limits_{i=1}^N[\pi(x_i)]^{y_k}[1-\pi(x_i)]^{1-y_K} i=1∏N[π(xi)]yk[1−π(xi)]1−yK
- 对数似然函数为
- L ( w ) = ∑ i = 1 N [ y k log π ( x i ) + ( 1 − y K ) log ( 1 − π ( x i ) ) ] L(w)=\sum\limits_{i=1}^N[y_k\log \pi(x_i)+(1-y_K)\log(1-\pi(x_i))] L(w)=i=1∑N[yklogπ(xi)+(1−yK)log(1−π(xi))]
- = ∑ i = 1 N [ y k log π ( x i ) 1 − π ( x i ) + log ( 1 − π ( x i ) ) ] =\sum\limits_{i=1}^N[y_k\log\frac{\pi(x_i)}{1-\pi(x_i)}+\log(1-\pi(x_i))] =i=1∑N[yklog1−π(xi)π(xi)+log(1−π(xi))]
- = ∑ i = 1 N [ y i ( w k ⋅ x ) − log ( 1 + exp ( w k ⋅ x ) ) ] =\sum\limits_{i=1}^N[y_i(w_k\cdot x)-\log(1+\exp(w_k\cdot x))] =i=1∑N[yi(wk⋅x)−log(1+exp(wk⋅x))]
- 设
- 对
L
(
w
)
L(w)
L(w)求极大值,得到
w
w
w的估计值
- 这样问题就变成了以对数似然函数为目标函数的最优化问题
- 设
w
w
w的极大似然估计值是
w
^
\hat{w}
w^,那么学到的逻辑斯蒂回归模型为
- P ( Y = k ∣ x ) = exp ( w k ^ ⋅ x ) 1 + exp ( w k ^ ⋅ x ) P(Y=k|x)=\frac{\exp(\hat{w_k}\cdot x)}{1+\exp(\hat{w_k}\cdot x)} P(Y=k∣x)=1+exp(wk^⋅x)exp(wk^⋅x)
- P ( Y = K ∣ x ) = 1 1 + exp ( w k ^ ⋅ x ) P(Y=K|x)=\frac{1}{1+\exp(\hat{w_k}\cdot x)} P(Y=K∣x)=1+exp(wk^⋅x)1
- 应用极大似然估计法估计模型参数,得到逻辑斯蒂回归模型
- 设
最大熵模型
- 最大熵原理
- 最大熵原理是概率模型学习的一个准则
- 最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型
- 通常用约束条件来确定概率模型的集合,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型
- 最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件
- 在没有更多信息的情况下,那些不确定的部分都是"等可能的"
- 最大熵原理通过熵的最大化来表示等可能性
- "等可能"不容易操作,而熵则是一个可优化的数值指标
- 最大熵模型的定义
- 假设
- 分类模型是一个条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)
- X ∈ X a l l ⊆ R n X\in X_{all} \rm \subseteq R^n X∈Xall⊆Rn, 表示输入
-
Y
∈
Y
a
l
l
Y\in Y_{all}
Y∈Yall, 表示输出
- X , Y X, Y X,Y分别表示输入输出的集合
- 分类模型是一个条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)
- 这个模型表示的是对于给定的输入 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),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)}
- 联合分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y)的经验分布
- P ~ ( X = x , Y = y ) = v ( X = x , Y = y ) N \widetilde{P}(X=x,Y=y)=\frac{v(X=x,Y=y)}{N} P (X=x,Y=y)=Nv(X=x,Y=y)
- v ( X = x , Y = y ) v(X=x,Y=y) v(X=x,Y=y)表示训练数据中样本 ( x , y ) (x,y) (x,y)出现的频数, N N N表示训练样本容量
- 边缘分布
P
(
X
)
P(X)
P(X)的经验分布
- P ~ ( X = x ) = v ( X = x ) N \widetilde{P}(X=x)=\frac{v(X=x)}{N} P (X=x)=Nv(X=x)
- v ( X = x ) v(X=x) v(X=x)表示训练数据中输入 x x x出现的频数, N N N表示训练样本容量
- 特征函数 (feature function)
- f ( x , y ) = { 1 , x 与 y 满 足 某 一 事 实 0 , 否 则 f(x,y)=\begin{cases}1,x与y满足某一事实\\0,否则\end{cases} f(x,y)={1,x与y满足某一事实0,否则
-
f
(
x
,
y
)
f(x,y)
f(x,y) (是一个二值函数)描述输入
x
x
x和输出
y
y
y之间的某一个事实
- 当 x x x和 y y y满足这个事实时取值为1
- 否则取值为0
- 特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于经验分布
P
~
(
X
,
Y
)
\widetilde{P}(X,Y)
P
(X,Y)的期望值
- E P ~ ( f ) = ∑ x , y P ~ ( x , y ) f ( x , y ) E_{\widetilde{P}}(f)=\sum\limits_{x,y}\widetilde{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
)
\widetilde{P}(X)
P
(X)的期望值
- E P ( f ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) E_P(f)=\sum\limits_{x,y}\widetilde{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_{\widetilde{P}}(f)=E_P(f) EP (f)=EP(f)
- 将
E
P
~
(
f
)
=
E
P
(
f
)
E_{\widetilde{P}}(f)=E_P(f)
EP
(f)=EP(f)作为模型学习的约束条件
- 假设有 n n n个特征函数 f i ( x , y ) f_i(x,y) fi(x,y), 那么就有 n n n个约束条件, i = 1 , 2 , ⋯ , n i=1,2,\cdots,n i=1,2,⋯,n
- 定义
- 假设满足所有约束条件的模型集合为
- C ≡ { P ∈ P a l l ∣ E P ( f i ) = E P ~ ( f i ) } C\rm \equiv\{P\in P_{all} |E_P(f_i)=E_{\widetilde{P}}(f_i)\} C≡{P∈Pall∣EP(fi)=EP (fi)}, i = 1 , 2 , ⋯ , n i=1,2,\cdots,n i=1,2,⋯,n
- P P P概率模型集合
- 定义在条件概率分布
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\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x) H(P)=−x,y∑P (x)P(y∣x)logP(y∣x)
- 模型集合 C C C中条件熵 H ( P ) H(P) H(P)最大的模型称为最大熵模型
- 假设满足所有约束条件的模型集合为
- 假设
- 拉格朗日乘子
- 拉格朗日乘子法,求解有约束多变量最优化问题
- 给定一个函数
- y = f ( x 1 , ⋯ , x n ) y=f(x_1,\cdots,x_n) y=f(x1,⋯,xn)
- 给定一组约束(假设这些约束可以用
k
k
k个等式表示)
- g 1 ( x 1 , ⋯ , x n ) = c 1 g 2 ( x 1 , ⋯ , x n ) = c 2 ⋮ g k ( x 1 , ⋯ , x n ) = c k \begin{matrix}g_1(x_1,\cdots,x_n)=c_1\\g_2(x_1,\cdots,x_n)=c_2\\\vdots\\g_k(x_1,\cdots,x_n)=c_k\end{matrix} g1(x1,⋯,xn)=c1g2(x1,⋯,xn)=c2⋮gk(x1,⋯,xn)=ck
- 目标
- 在集合 S = { ( x 1 , ⋯ , x n ) : g i ( x 1 , ⋯ , x n ) = c i } S=\{(x_1,\cdots,x_n):g_i(x_1,\cdots,x_n)=c_i\} S={(x1,⋯,xn):gi(x1,⋯,xn)=ci}, i = 1 , ⋯ , k i=1,\cdots,k i=1,⋯,k上
- 对 y = f ( x 1 , ⋯ , x n ) y=f(x_1,\cdots,x_n) y=f(x1,⋯,xn)求最大值
- 一个定理保证了在极值点
x
∈
S
x\in S
x∈S, 一定有
-
∇
f
=
λ
1
∇
g
1
+
⋯
+
λ
k
∇
g
k
\nabla f=\lambda_1\nabla g_1+\cdots+\lambda_k\nabla g_k
∇f=λ1∇g1+⋯+λk∇gk
- λ 1 , ⋯ , λ k \lambda_1,\cdots,\lambda_k λ1,⋯,λk称为拉格朗日乘子
-
∇
f
=
λ
1
∇
g
1
+
⋯
+
λ
k
∇
g
k
\nabla f=\lambda_1\nabla g_1+\cdots+\lambda_k\nabla g_k
∇f=λ1∇g1+⋯+λk∇gk
- 假设 ∇ g 1 , ⋯ , ∇ g k \nabla g_1,\cdots,\nabla g_k ∇g1,⋯,∇gk是线性无关向量
- 为了求出
f
f
f在集合
S
S
S上的极大值或极小值点
- 求解关于变量
x
1
,
⋯
,
x
n
x_1,\cdots,x_n
x1,⋯,xn和
λ
1
,
⋯
,
λ
k
\lambda_1,\cdots,\lambda_k
λ1,⋯,λk的
n
n
n个拉格朗日乘子方程
- ∂ f ∂ x 1 = λ 1 ∂ g 1 ∂ x 1 + ⋯ + λ k ∂ g k ∂ x 1 ⋮ ∂ f ∂ x n = λ 1 ∂ g 1 ∂ x n + ⋯ + λ k ∂ g k ∂ x n \begin{matrix}\frac{\partial f}{\partial x_1}=\lambda_1\frac{\partial g_1}{\partial x_1}+\cdots+\lambda_k\frac{\partial g_k}{\partial x_1}\\\vdots\\\frac{\partial f}{\partial x_n}=\lambda_1\frac{\partial g_1}{\partial x_n}+\cdots+\lambda_k\frac{\partial g_k}{\partial x_n}\end{matrix} ∂x1∂f=λ1∂x1∂g1+⋯+λk∂x1∂gk⋮∂xn∂f=λ1∂xn∂g1+⋯+λk∂xn∂gk
- 及
k
k
k个约束方程
- g 1 ( x 1 , ⋯ , x n ) = c 1 g 2 ( x 1 , ⋯ , x n ) = c 2 ⋮ g k ( x 1 , ⋯ , x n ) = c k \begin{matrix}g_1(x_1,\cdots,x_n)=c_1\\g_2(x_1,\cdots,x_n)=c_2\\\vdots\\g_k(x_1,\cdots,x_n)=c_k\end{matrix} g1(x1,⋯,xn)=c1g2(x1,⋯,xn)=c2⋮gk(x1,⋯,xn)=ck
- 还要检查那些不满足梯度向量 ∇ g 1 , ⋯ , ∇ g k \nabla g_1,\cdots,\nabla g_k ∇g1,⋯,∇gk线性无关的异常点
- 求解关于变量
x
1
,
⋯
,
x
n
x_1,\cdots,x_n
x1,⋯,xn和
λ
1
,
⋯
,
λ
k
\lambda_1,\cdots,\lambda_k
λ1,⋯,λk的
n
n
n个拉格朗日乘子方程
- 拉格朗日乘子法以梯度向量的几何解释为基础
- 假设只有一个约束函数
- g ( x 1 , ⋯ , x n ) = c g(x_1,\cdots,x_n)=c g(x1,⋯,xn)=c
- 则拉格朗日乘子方程变为
- ∇ f = λ ∇ g \nabla f=\lambda \nabla g ∇f=λ∇g
- 线性无关,即
- ∇ g ≠ 0 \nabla g\not=0 ∇g=0
- 集合
g
=
c
g=c
g=c为
R
n
R^n
Rn中的
n
−
1
n-1
n−1维曲面
- 对任意点 x ∈ S x\in S x∈S, 梯度向量 ∇ g ( x ) \nabla g(x) ∇g(x)在这点与 S S S垂直
- 而梯度向量 ∇ f \nabla f ∇f总是指向 f f f增加最快的方向
- 在局部的极大或极小值点,
f
f
f增加最快的方向也应该与
S
S
S垂直
- 于是在这一点,
∇
f
\nabla f
∇f与
∇
g
\nabla g
∇g指向同一个方向,即
- ∇ f = λ ∇ g \nabla f=\lambda \nabla g ∇f=λ∇g
- 于是在这一点,
∇
f
\nabla f
∇f与
∇
g
\nabla g
∇g指向同一个方向,即
- 多约束的情况下,几何的原理是类似的
- 现在
S
S
S为
k
k
k个曲面
g
1
=
c
1
⋯
,
g
k
=
c
k
g_1=c_1\cdots,g_k=c_k
g1=c1⋯,gk=ck的交集
- 每个曲面都是 R n R^n Rn中的 n − 1 n-1 n−1维子集
- 从而它们的交集为 n − k n-k n−k维子集
- 在极值点
-
∇
f
\nabla f
∇f一定与
S
S
S垂直
- 因为它一定在由 k k k个向量 ∇ g 1 , ⋯ , ∇ g k \nabla g_1,\cdots,\nabla g_k ∇g1,⋯,∇gk张成的线性空间中
-
∇
f
\nabla f
∇f一定与
S
S
S垂直
- 线性无关的假设保证了这 k k k个向量 ∇ g 1 , ⋯ , ∇ g k \nabla g_1,\cdots,\nabla g_k ∇g1,⋯,∇gk可以生成一个 k k k维线性空间
- 现在
S
S
S为
k
k
k个曲面
g
1
=
c
1
⋯
,
g
k
=
c
k
g_1=c_1\cdots,g_k=c_k
g1=c1⋯,gk=ck的交集
- 假设只有一个约束函数
- 拉格朗日对偶性 (Lagrange duality)
- 策略
- 约束优化问题中,利用拉格朗日对偶性将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解
- 原始问题
- 假设
f
(
x
)
,
c
i
(
x
)
,
h
i
(
x
)
f(x),c_i(x),h_i(x)
f(x),ci(x),hi(x)是定义在
R
n
R^n
Rn上的连续可微函数
- min x ∈ R n f ( x ) \min\limits_{x\in R^n}\ f(x) x∈Rnmin f(x)
- s . t . c i ( x ) ≤ 0 s.t.\ \ c_i(x)\leq0 s.t. ci(x)≤0, i = 1 , 2 , ⋯ , k i=1,2,\cdots,k i=1,2,⋯,k
- h j ( x ) = 0 h_j(x)=0 hj(x)=0, j = 1 , 2 , ⋯ , l j=1,2,\cdots,l j=1,2,⋯,l
- 考虑约束最优化问题,称此约束最优化问题为原始最优化问题或原始问题
- 广义拉格朗日函数 (generalized Lagrange function)
-
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
L(x,\alpha,\beta)=f(x)+\sum\limits_{i=1}^k\alpha_ic_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
- x = ( x ( 1 ) , x ( 2 ) , ⋯ , x ( n ) ) T ∈ R n x=(x^{(1)},x^{(2)},\cdots,x^{(n)})^T\in R^n x=(x(1),x(2),⋯,x(n))T∈Rn, α i , β i \alpha_i,\beta_i αi,βi是拉格朗日乘子, α i ≥ 0 \alpha_i\geq0 αi≥0
- 考虑
x
x
x的函数
-
θ
P
(
x
)
=
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x)=\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta)
θP(x)=α,β:αi≥0maxL(x,α,β)
- 下标 P P P表示原始问题
-
θ
P
(
x
)
=
max
α
,
β
:
α
i
≥
0
L
(
x
,
α
,
β
)
\theta_P(x)=\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta)
θP(x)=α,β:αi≥0maxL(x,α,β)
-
L
(
x
,
α
,
β
)
=
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
L(x,\alpha,\beta)=f(x)+\sum\limits_{i=1}^k\alpha_ic_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)
L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
- 假设给定某个
x
x
x,如果
x
x
x违反原始问题的约束条件
- 即存在某个 i i i使得 c i ( x ) > 0 c_i(x)>0 ci(x)>0
- 或者存在某个 j j j使得 h j ( x ) ≠ 0 h_j(x)\not=0 hj(x)=0
-
θ
P
(
x
)
=
max
α
,
β
:
α
i
≥
0
[
f
(
x
)
+
∑
i
=
1
k
α
i
c
i
(
x
)
+
∑
j
=
1
l
β
j
h
j
(
x
)
]
=
+
∞
\theta_P(x)=\max\limits_{\alpha,\beta:\alpha_i\geq0}[f(x)+\sum\limits_{i=1}^k\alpha_ic_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x)]=+\infty
θP(x)=α,β:αi≥0max[f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)]=+∞
- 因为若某个 i i i使约束 c i ( x ) > 0 c_i(x)>0 ci(x)>0, 则可令 α i → + ∞ \alpha_i\rightarrow +\infty αi→+∞
- 若某个 j j j使 h j ( x ) ≠ 0 h_j(x)\not=0 hj(x)=0, 则可令 β j \beta_j βj使 β j h j ( x ) → + ∞ \beta_jh_j(x)\rightarrow +\infty βjhj(x)→+∞
- 而将其余 α i , β j \alpha_i,\beta_j αi,βj均取为0
- 如果
x
x
x满足约束条件
c
i
(
x
)
≤
0
c_i(x)\leq0
ci(x)≤0,
h
j
(
x
)
=
0
h_j(x)=0
hj(x)=0
- 则由式 θ P ( x ) = max α , β : α i ≥ 0 L ( x , α , β ) \theta_P(x)=\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta) θP(x)=α,β:αi≥0maxL(x,α,β) 和式 L ( x , α , β ) = f ( x ) + ∑ i = 1 k α i c i ( x ) + ∑ j = 1 l β j h j ( x ) L(x,\alpha,\beta)=f(x)+\sum\limits_{i=1}^k\alpha_ic_i(x)+\sum\limits_{j=1}^l\beta_jh_j(x) L(x,α,β)=f(x)+i=1∑kαici(x)+j=1∑lβjhj(x)
- 可知 θ P ( x ) = f ( x ) \theta_P(x)=f(x) θP(x)=f(x)
-
θ
P
(
x
)
=
{
f
(
x
)
,
x
满
足
原
始
问
题
约
束
+
∞
,
其
他
\theta_P(x)=\begin{cases}f(x),&x满足原始问题约束\\+\infty,&其他\end{cases}
θP(x)={f(x),+∞,x满足原始问题约束其他
- 如果考虑极小化问题
- min x θ P ( x ) = min x max α , β : α i ≥ 0 L ( x , α , β ) \min\limits_{x}\theta_P(x)=\min\limits_x\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta) xminθP(x)=xminα,β:αi≥0maxL(x,α,β)
- 它是与原始最优化问题等价的,即它们有相同的解
- 问题 min x max α , β : α i ≥ 0 L ( x , α , β ) \min\limits_x\ \max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta) xmin α,β:αi≥0maxL(x,α,β)称为广义拉格朗日函数的极小极大问题
- 把原始最优化问题表示为广义拉格朗日函数的极小极大问题
- 如果考虑极小化问题
- 定义原始问题的最优值,称为原始问题的值
- p ∗ = min x θ P ( x ) p^*=\min\limits_x\theta_P(x) p∗=xminθP(x)
- 假设
f
(
x
)
,
c
i
(
x
)
,
h
i
(
x
)
f(x),c_i(x),h_i(x)
f(x),ci(x),hi(x)是定义在
R
n
R^n
Rn上的连续可微函数
- 对偶问题
- 定义
- θ D ( α , β ) = min x L ( x , α , β ) \theta_D(\alpha,\beta)=\min\limits_xL(x,\alpha,\beta) θD(α,β)=xminL(x,α,β)
- 考虑极大化
θ
D
(
α
,
β
)
\theta_D(\alpha,\beta)
θD(α,β)
- max α , β : α i ≥ 0 θ D ( α , β ) = max α , β : α i ≥ 0 min x L ( x , α , β ) \max\limits_{\alpha,\beta:\alpha_i\geq0}\theta_D(\alpha,\beta)=\max\limits_{\alpha,\beta:\alpha_i\geq0}\min\limits_xL(x,\alpha,\beta) α,β:αi≥0maxθD(α,β)=α,β:αi≥0maxxminL(x,α,β)
- max α , β : α i ≥ 0 min x L ( x , α , β ) \max\limits_{\alpha,\beta:\alpha_i\geq0}\min\limits_xL(x,\alpha,\beta) α,β:αi≥0maxxminL(x,α,β)称为广义拉格朗日函数的极大极小问题
- 可以将广义格朗日函数的极大极小问题表示为约束最优化问题,称为原始问题的对偶问题
- max α , β θ D ( α , β ) = max α , β min x L ( x , α , β ) \max\limits_{\alpha,\beta}\theta_D(\alpha,\beta)=\max\limits_{\alpha,\beta}\min\limits_xL(x,\alpha,\beta) α,βmaxθD(α,β)=α,βmaxxminL(x,α,β)
- s . t . α i ≥ 0 s.t.\ \alpha_i\geq0 s.t. αi≥0, i = 1 , 2 , ⋯ , k i=1,2,\cdots,k i=1,2,⋯,k
- 定义对偶问题的最优值,称为对偶问题的值
- d ∗ = max α , β : α i ≥ 0 θ D ( α , β ) d^*=\max\limits_{\alpha,\beta:\alpha_i\geq0}\theta_D(\alpha,\beta) d∗=α,β:αi≥0maxθD(α,β)
- 定义
- 原始问题和对偶问题的关系
- 定理1
- 若原始问题和对偶问题都有最优值
- d ∗ = max α , β : α i ≥ 0 min x L ( x , α , β ) ≤ min x max α , β : α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\max\limits_{\alpha,\beta:\alpha_i\geq0}\min\limits_xL(x,\alpha,\beta)\leq\min\limits_x\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta)=p^* d∗=α,β:αi≥0maxxminL(x,α,β)≤xminα,β:αi≥0maxL(x,α,β)=p∗
- 证明
- 由 max α , β θ D ( α , β ) = max α , β min x L ( x , α , β ) \max\limits_{\alpha,\beta}\theta_D(\alpha,\beta)=\max\limits_{\alpha,\beta}\min\limits_xL(x,\alpha,\beta) α,βmaxθD(α,β)=α,βmaxxminL(x,α,β)与 θ P ( x ) = max α , β : α i ≥ 0 L ( x , α , β ) \theta_P(x)=\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta) θP(x)=α,β:αi≥0maxL(x,α,β)
- 对任意的
α
,
β
,
x
\alpha,\beta,x
α,β,x有
- θ D ( α , β ) = min x L ( x , α , β ) ≤ L ( x , α , β ) ≤ max α , β : α i ≥ 0 L ( x , α , β ) = θ P ( x ) \theta_D(\alpha,\beta)=\min\limits_xL(x,\alpha,\beta)\leq L(x,\alpha,\beta)\leq \max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta)=\theta_P(x) θD(α,β)=xminL(x,α,β)≤L(x,α,β)≤α,β:αi≥0maxL(x,α,β)=θP(x)
- 即
- θ D ( α , β ) ≤ θ P ( x ) \theta_D(\alpha,\beta)\leq \theta_P(x) θD(α,β)≤θP(x)
- 由于原始问题和对偶问题均有最优值,所以
- max α , β : α i ≥ 0 θ D ( α , β ) ≤ min x θ P ( x ) \max\limits_{\alpha,\beta:\alpha_i\geq0}\theta_D(\alpha,\beta)\leq\min\limits_x\theta_P(x) α,β:αi≥0maxθD(α,β)≤xminθP(x)
- 即
- d ∗ = max α , β : α i ≥ 0 min x L ( x , α , β ) ≤ min x max α , β : α i ≥ 0 L ( x , α , β ) = p ∗ d^*=\max\limits_{\alpha,\beta:\alpha_i\geq0}\min\limits_xL(x,\alpha,\beta)\leq\min\limits_x\max\limits_{\alpha,\beta:\alpha_i\geq0}L(x,\alpha,\beta)=p^* d∗=α,β:αi≥0maxxminL(x,α,β)≤xminα,β:αi≥0maxL(x,α,β)=p∗
- 若原始问题和对偶问题都有最优值
- 推论1
- 设
- x ∗ x^* x∗是原始问题的可行解
- α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的可行解
- 并且 d ∗ = p ∗ d^*=p^* d∗=p∗,
- 则
- x ∗ x^* x∗是原始问题的最优解
- α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的最优解
- 设
- 在某些条件下,原始问题和对偶问题的最优值相等,
d
∗
=
p
∗
d^*=p^*
d∗=p∗, 这时可以用解对偶问题替代解原始问题
- 定理2
- 考虑原始问题和对偶问题
- 假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数;并且假设不等式约束
c
i
(
x
)
c_i(x)
ci(x)是严格可行的
- 即存在
x
x
x对所有
i
i
i有
c
i
(
x
)
<
0
c_i(x)<0
ci(x)<0,则存在
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗
- 使 x ∗ x^* x∗是原始问题的解
- α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗是对偶问题的解
- 并且
- p ∗ = d ∗ = L ( x ∗ , α ∗ , β ∗ ) p^*=d^*=L(x^*,\alpha^*,\beta^*) p∗=d∗=L(x∗,α∗,β∗)
- 即存在
x
x
x对所有
i
i
i有
c
i
(
x
)
<
0
c_i(x)<0
ci(x)<0,则存在
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗
- 定理3
- 对原始问题和对偶问题
- 假设函数
f
(
x
)
f(x)
f(x)和
c
i
(
x
)
c_i(x)
ci(x)是凸函数,
h
j
(
x
)
h_j(x)
hj(x)是仿射函数,并且不等式约束
c
i
(
x
)
c_i(x)
ci(x)是严格可行的
- 则 x ∗ x^* x∗和 α ∗ , β ∗ \alpha^*,\beta^* α∗,β∗分别是原始问题和对偶问题的解的充分必要条件是
-
x
∗
,
α
∗
,
β
∗
x^*,\alpha^*,\beta^*
x∗,α∗,β∗满足下面KKT(Karush-Kuhn-Tucker)条件
- ∇ x L ( x ∗ , α ∗ , β ∗ ) = 0 \nabla_xL(x^*,\alpha^*,\beta^*)=0 ∇xL(x∗,α∗,β∗)=0
-
α
i
∗
c
i
(
x
∗
)
=
0
\alpha_i^*c_i(x^*)=0
αi∗ci(x∗)=0,
i
=
1
,
2
,
⋯
,
k
i=1,2,\cdots,k
i=1,2,⋯,k
- 称为KKT的对偶互补条件
- 若 α i ∗ > 0 \alpha_i^*>0 αi∗>0
- 则 c i ( x ∗ ) = 0 c_i(x^*)=0 ci(x∗)=0
- 称为KKT的对偶互补条件
- c i ( x ∗ ) ≤ 0 c_i(x^*)\leq0 ci(x∗)≤0, i = 1 , 2 , ⋯ , k i=1,2,\cdots,k i=1,2,⋯,k
- α i ∗ ≥ 0 \alpha_i^*\geq0 αi∗≥0, i = 1 , 2 , ⋯ , k i=1,2,\cdots,k i=1,2,⋯,k
- h j ( x ∗ ) = 0 h_j(x^*)=0 hj(x∗)=0, j = 1 , 2 , ⋯ , l j=1,2,\cdots,l j=1,2,⋯,l
- 定理2
- 定理1
- KKT
- 策略
- 最大熵模型的学习
- 最大熵模型的学习过程就是求解最大熵模型的过程
- 最大熵模型的学习可以形式化为约束最优化问题
- 给定
- 训练数据集
- T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={(x1,y1),(x2,y2),⋯,(xN,yN)}
- 特征函数
- f i ( x , y ) f_i(x,y) fi(x,y), i = 1 , 2 , ⋯ , n i=1,2,\cdots,n i=1,2,⋯,n
- 最大熵模型的学习等价于约束最优化问题
- max P ∈ C \max\limits_{P\in C} P∈Cmax H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) H(P)=-\sum\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x) H(P)=−x,y∑P (x)P(y∣x)logP(y∣x)
- s . t . s.t. s.t. E P ( f i ) = E P ~ ( f i ) E_P(f_i)=E_{\widetilde{P}}(f_i) EP(fi)=EP (fi)
- ∑ y P ( y ∣ x ) = 1 \sum\limits_yP(y|x)=1 y∑P(y∣x)=1
- 将求最大值问题改写为等价的求最小值问题
- min P ∈ C \min\limits_{P\in C} P∈Cmin − H ( P ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) -H(P)=\sum\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x) −H(P)=x,y∑P (x)P(y∣x)logP(y∣x)
- s . t . s.t. s.t. E P ( f i ) − E P ~ ( f i ) = 0 E_P(f_i)-E_{\widetilde{P}}(f_i)=0 EP(fi)−EP (fi)=0
- ∑ y P ( y ∣ x ) = 1 \sum\limits_yP(y|x)=1 y∑P(y∣x)=1
- 求解约束最优化问题,所得出的解,就是最大熵模型学习的解
- 训练数据集
- 具体推导过程
- 策略
- 将约束最优化的原始问题转换为无约束最优化的对偶问题,通过求解对偶问题求解原始问题
- 引进拉格朗日乘子
w
0
,
w
1
,
w
2
,
⋯
,
w
n
w_0,w_1,w_2,\cdots,w_n
w0,w1,w2,⋯,wn,定义拉格朗日函数
L
(
P
,
w
)
L(P,w)
L(P,w)
- L ( P , w ) ≡ − H ( P ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( E P ~ ( f i ) − E P ( f i ) ) L(P,w)\equiv -H(P)+w_0(1-\sum\limits_yP(y|x))+\sum\limits_{i=1}^nw_i(E_{\widetilde{P}}(f_i)-E_P(f_i)) L(P,w)≡−H(P)+w0(1−y∑P(y∣x))+i=1∑nwi(EP (fi)−EP(fi))
- = ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( ∑ x , y P ~ ( x , y ) f ( x , y ) − ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) ) =\sum\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x)+w_0(1-\sum\limits_yP(y|x))+\sum\limits_{i=1}^nw_i(\sum\limits_{x,y}\widetilde{P}(x,y)f(x,y)-\sum\limits_{x,y}\widetilde{P}(x)P(y|x)f(x,y)) =x,y∑P (x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P (x,y)f(x,y)−x,y∑P (x)P(y∣x)f(x,y))
- 最优化原始问题
- min P ∈ C \min\limits_{P\in C} P∈Cmin max w L ( P , w ) \max\limits_wL(P,w) wmaxL(P,w)
- 对偶问题是
- max w \max\limits_w wmax min P ∈ C L ( P , w ) \min\limits_{P\in C}L(P,w) P∈CminL(P,w)
- 由于拉格朗日函数
L
(
P
,
w
)
L(P,w)
L(P,w)是
P
P
P的凸函数
- 原始问题的解与对偶问题的解是等价的
- 首先,求解对偶问题内部的极小化问题
min
P
∈
C
L
(
P
,
w
)
\min\limits_{P\in C}L(P,w)
P∈CminL(P,w)
-
min
P
∈
C
L
(
P
,
w
)
\min\limits_{P\in C}L(P,w)
P∈CminL(P,w)是
w
w
w的函数,将其记作
- Ψ ( w ) = min P ∈ C L ( P , w ) = L ( P w , w ) \Psi(w)=\min\limits_{P\in C}L(P,w)=L(P_w,w) Ψ(w)=P∈CminL(P,w)=L(Pw,w)
-
Ψ
\Psi
Ψ称为对偶函数,将其解记作
- P w = a r g min P ∈ C L ( P , w ) = P w ( y ∣ x ) P_w=arg\min\limits_{P\in 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)的偏导数
- ∂ L ( P , w ) ∂ P ( y ∣ x ) = ∑ x , y p ~ ( x ) ( log P ( y ∣ x ) + 1 ) − ∑ y w 0 − ∑ x , y ( P ~ ( x ) ∑ i = 1 n w i f i ( x , y ) ) \frac{\partial L(P,w)}{\partial P(y|x)}=\sum\limits_{x,y}\widetilde{p}(x)(\log P(y|x)+1)-\sum\limits_yw_0-\sum\limits_{x,y}(\widetilde{P}(x)\sum\limits_{i=1}^nw_if_i(x,y)) ∂P(y∣x)∂L(P,w)=x,y∑p (x)(logP(y∣x)+1)−y∑w0−x,y∑(P (x)i=1∑nwifi(x,y))
- = ∑ x , y P ~ ( x ) ( log P ( y ∣ x ) + 1 − w 0 − ∑ i = 1 n w i f i ( x , y ) ) =\sum\limits_{x,y}\widetilde{P}(x)(\log P(y|x)+1-w_0-\sum\limits_{i=1}^nw_if_i(x,y)) =x,y∑P (x)(logP(y∣x)+1−w0−i=1∑nwifi(x,y))
- 令偏导数等于0,在
P
~
(
x
)
>
0
\widetilde{P}(x)>0
P
(x)>0的情况下,解得
- P ( y ∣ x ) = exp ( ∑ i = 1 n w i f i ( x , y ) + w 0 − 1 ) P(y|x)=\exp(\sum\limits_{i=1}^nw_if_i(x,y)+w_0-1) P(y∣x)=exp(i=1∑nwifi(x,y)+w0−1)
- = exp ( ∑ i = 1 n w i f i ( x , y ) ) exp ( 1 − w 0 ) =\frac{\exp(\sum\limits_{i=1}^nw_if_i(x,y))}{\exp(1-w_0)} =exp(1−w0)exp(i=1∑nwifi(x,y))
- 由
∑
y
P
(
y
∣
x
)
=
1
\sum\limits_yP(y|x)=1
y∑P(y∣x)=1, 得
-
P
w
(
y
∣
x
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z
w
(
x
)
P_w(y|x)=\frac{\exp(\sum\limits_{i=1}^nw_if_i(x,y))}{Z_w(x)}
Pw(y∣x)=Zw(x)exp(i=1∑nwifi(x,y))
- Z w ( x ) = ∑ y exp ( ∑ i = 1 n w i f i ( x , y ) ) Z_w(x)=\sum\limits_y\exp(\sum\limits_{i=1}^nw_if_i(x,y)) Zw(x)=y∑exp(i=1∑nwifi(x,y)), 规范化因子
- f i ( x , y ) f_i(x,y) fi(x,y)是特征函数
- w i w_i wi是特征的权值
-
P
w
(
y
∣
x
)
=
exp
(
∑
i
=
1
n
w
i
f
i
(
x
,
y
)
)
Z
w
(
x
)
P_w(y|x)=\frac{\exp(\sum\limits_{i=1}^nw_if_i(x,y))}{Z_w(x)}
Pw(y∣x)=Zw(x)exp(i=1∑nwifi(x,y))
- P w = P w ( y ∣ x ) P_w=P_w(y|x) Pw=Pw(y∣x)就是最大熵模型, w w w是最大熵模型中的参数向量
-
min
P
∈
C
L
(
P
,
w
)
\min\limits_{P\in C}L(P,w)
P∈CminL(P,w)是
w
w
w的函数,将其记作
- 然后,求解对偶问题外部的极大化问题
- max w Ψ ( w ) \max\limits_w\Psi(w) wmaxΨ(w)
- 将其记为
- w ∗ = a r g max w Ψ ( w ) w^*=arg\max\limits_w\Psi(w) w∗=argwmaxΨ(w)
- 可以应用最优化算法求对偶函数
Ψ
(
w
)
\Psi(w)
Ψ(w)的极大化,得到
w
∗
w^*
w∗,用来表示
P
∗
∈
C
P^*\in C
P∗∈C
-
P
∗
=
P
w
∗
=
P
w
∗
(
y
∣
x
)
P^*=P_{w^*}=P_{w^*}(y|x)
P∗=Pw∗=Pw∗(y∣x)是学习到的最优模型(最大熵模型)
- 也就是说,最大熵模型的学习归结为对偶函数 Ψ ( w ) \Psi(w) Ψ(w)的极大化
-
P
∗
=
P
w
∗
=
P
w
∗
(
y
∣
x
)
P^*=P_{w^*}=P_{w^*}(y|x)
P∗=Pw∗=Pw∗(y∣x)是学习到的最优模型(最大熵模型)
- 策略
- 极大似然估计
- 证明对偶函数的极大化等价于最大熵模型的极大似然估计
- 已知训练数据的经验概率分布
P
~
(
X
,
Y
)
\widetilde{P}(X,Y)
P
(X,Y), 条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X), 的对数似然函数表示为
- L P ~ ( P w ) = log ∏ x , y P ( y ∣ x ) P ~ ( x , y ) = ∑ x , y P ~ ( x , y ) log P ( y ∣ x ) L_{\widetilde{P}}(P_w)=\log\prod\limits_{x,y}P(y|x)^{\widetilde{P}(x,y)}=\sum\limits_{x,y}\widetilde{P}(x,y)\log P(y|x) LP (Pw)=logx,y∏P(y∣x)P (x,y)=x,y∑P (x,y)logP(y∣x)
- 当条件概率分布
P
(
y
∣
x
)
P(y|x)
P(y∣x)是最大熵模型
-
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(\sum\limits_{i=1}^nw_if_i(x,y))
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\limits_y\exp(\sum\limits_{i=1}^nw_if_i(x,y)) Zw(x)=y∑exp(i=1∑nwifi(x,y))
- 对数似然函数
L
P
~
(
P
w
)
L_{\widetilde{P}}(P_w)
LP
(Pw)为
- L P ~ ( P w ) = ∑ x , y P ~ ( x , y ) log P ( y ∣ x ) L_{\widetilde{P}}(P_w)=\sum\limits_{x,y}\widetilde{P}(x,y)\log P(y|x) LP (Pw)=x,y∑P (x,y)logP(y∣x)
- = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ~ ( x , y ) log Z w ( x ) =\sum\limits_{x,y}\widetilde{P}(x,y)\sum\limits_{i=1}^nw_if_i(x,y)-\sum\limits_{x,y}\widetilde{P}(x,y)\log Z_w(x) =x,y∑P (x,y)i=1∑nwifi(x,y)−x,y∑P (x,y)logZw(x)
- = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log Z w ( x ) =\sum\limits_{x,y}\widetilde{P}(x,y)\sum\limits_{i=1}^nw_if_i(x,y)-\sum\limits_{x}\widetilde{P}(x)\log Z_w(x) =x,y∑P (x,y)i=1∑nwifi(x,y)−x∑P (x)logZw(x)
-
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(\sum\limits_{i=1}^nw_if_i(x,y))
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y)), 时
- 由
-
L
(
P
,
w
)
≡
−
H
(
P
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
n
w
i
(
E
P
~
(
f
i
)
−
E
P
(
f
i
)
)
L(P,w)\equiv -H(P)+w_0(1-\sum\limits_yP(y|x))+\sum\limits_{i=1}^nw_i(E_{\widetilde{P}}(f_i)-E_P(f_i))
L(P,w)≡−H(P)+w0(1−y∑P(y∣x))+i=1∑nwi(EP
(fi)−EP(fi))
- = ∑ x , y P ~ ( x ) P ( y ∣ x ) log P ( y ∣ x ) + w 0 ( 1 − ∑ y P ( y ∣ x ) ) + ∑ i = 1 n w i ( ∑ x , y P ~ ( x , y ) f ( x , y ) − ∑ x , y P ~ ( x ) P ( y ∣ x ) f ( x , y ) ) =\sum\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x)+w_0(1-\sum\limits_yP(y|x))+\sum\limits_{i=1}^nw_i(\sum\limits_{x,y}\widetilde{P}(x,y)f(x,y)-\sum\limits_{x,y}\widetilde{P}(x)P(y|x)f(x,y)) =x,y∑P (x)P(y∣x)logP(y∣x)+w0(1−y∑P(y∣x))+i=1∑nwi(x,y∑P (x,y)f(x,y)−x,y∑P (x)P(y∣x)f(x,y))
- Ψ ( w ) = min P ∈ C L ( P , w ) = L ( P w , w ) \Psi(w)=\min\limits_{P\in C}L(P,w)=L(P_w,w) Ψ(w)=P∈CminL(P,w)=L(Pw,w)
- 对偶函数
Ψ
(
w
)
\Psi(w)
Ψ(w)可得
-
Ψ
(
w
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
+
∑
i
=
1
n
w
i
(
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
)
\Psi(w)=\sum\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x)+\sum\limits_{i=1}^nw_i(\sum\limits_{x,y}\widetilde{P}(x,y)f(x,y)-\sum\limits_{x,y}\widetilde{P}(x)P(y|x)f(x,y))
Ψ(w)=x,y∑P
(x)P(y∣x)logP(y∣x)+i=1∑nwi(x,y∑P
(x,y)f(x,y)−x,y∑P
(x)P(y∣x)f(x,y))
- = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) + ∑ x , y P ~ ( x ) P w ( y ∣ x ) ( log P w ( y ∣ x ) − ∑ i = 1 n w i f i ( x , y ) ) =\sum\limits_{x,y}\widetilde{P}(x,y)\sum\limits_{i=1}^nw_if_i(x,y)+\sum\limits_{x,y}\widetilde{P}(x)P_w(y|x)(\log P_w(y|x)-\sum\limits_{i=1}^nw_if_i(x,y)) =x,y∑P (x,y)i=1∑nwifi(x,y)+x,y∑P (x)Pw(y∣x)(logPw(y∣x)−i=1∑nwifi(x,y))
- = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x , y P ~ ( x ) P w ( y ∣ x ) log Z w ( x ) =\sum\limits_{x,y}\widetilde{P}(x,y)\sum\limits_{i=1}^nw_if_i(x,y)-\sum\limits_{x,y}\widetilde{P}(x)P_w(y|x)\log Z_w(x) =x,y∑P (x,y)i=1∑nwifi(x,y)−x,y∑P (x)Pw(y∣x)logZw(x)
- = ∑ x , y P ~ ( x , y ) ∑ i = 1 n w i f i ( x , y ) − ∑ x P ~ ( x ) log Z w ( x ) =\sum\limits_{x,y}\widetilde{P}(x,y)\sum\limits_{i=1}^nw_if_i(x,y)-\sum\limits_{x}\widetilde{P}(x)\log Z_w(x) =x,y∑P (x,y)i=1∑nwifi(x,y)−x∑P (x)logZw(x)
-
Ψ
(
w
)
=
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
log
P
(
y
∣
x
)
+
∑
i
=
1
n
w
i
(
∑
x
,
y
P
~
(
x
,
y
)
f
(
x
,
y
)
−
∑
x
,
y
P
~
(
x
)
P
(
y
∣
x
)
f
(
x
,
y
)
)
\Psi(w)=\sum\limits_{x,y}\widetilde{P}(x)P(y|x)\log P(y|x)+\sum\limits_{i=1}^nw_i(\sum\limits_{x,y}\widetilde{P}(x,y)f(x,y)-\sum\limits_{x,y}\widetilde{P}(x)P(y|x)f(x,y))
Ψ(w)=x,y∑P
(x)P(y∣x)logP(y∣x)+i=1∑nwi(x,y∑P
(x,y)f(x,y)−x,y∑P
(x)P(y∣x)f(x,y))
-
L
(
P
,
w
)
≡
−
H
(
P
)
+
w
0
(
1
−
∑
y
P
(
y
∣
x
)
)
+
∑
i
=
1
n
w
i
(
E
P
~
(
f
i
)
−
E
P
(
f
i
)
)
L(P,w)\equiv -H(P)+w_0(1-\sum\limits_yP(y|x))+\sum\limits_{i=1}^nw_i(E_{\widetilde{P}}(f_i)-E_P(f_i))
L(P,w)≡−H(P)+w0(1−y∑P(y∣x))+i=1∑nwi(EP
(fi)−EP(fi))
- 比较
- 对数似然函数 L P ~ ( P w ) L_{\widetilde{P}}(P_w) LP (Pw)
- 对偶函数 Ψ ( w ) \Psi(w) Ψ(w)
- 可得
- Ψ ( w ) = L P ~ ( P w ) \Psi(w)=L_{\widetilde{P}}(P_w) Ψ(w)=LP (Pw)
- 证明了最大熵模型学习中得对偶函数极大化等价于最大熵模型的极大似然估计
- 最大熵学习问题转换为具体求解对数似然函数极大化或对偶函数极大化问题
- 可以将最大熵模型写成更一般的形式
-
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(\sum\limits_{i=1}^nw_if_i(x,y))
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\limits_y\exp(\sum\limits_{i=1}^nw_if_i(x,y)) Zw(x)=y∑exp(i=1∑nwifi(x,y))
- x ∈ R n x\in R^n x∈Rn为输入
- y ∈ { 1 , 2 , ⋯ , K } y\in \{1,2,\cdots,K\} y∈{1,2,⋯,K}为输出
- w ∈ R n w\in R^n w∈Rn为权值向量
- f i ( x , y ) f_i(x,y) fi(x,y)为任意实值特征向量 i = 1 , 2 , ⋯ , n i=1,2,\cdots,n i=1,2,⋯,n
-
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(\sum\limits_{i=1}^nw_if_i(x,y))
Pw(y∣x)=Zw(x)1exp(i=1∑nwifi(x,y))
- 可以将最大熵模型写成更一般的形式
总结
- 最大熵模型与逻辑斯蒂回归模型有类似的形式,它们又称为对数线性模型(log linear model)
- 模型学习就是在给定的训练数据条件下对模型进行极大似然估计或正则化的极大似然估计
查看书籍
- 统计学习方法
- 数学建模方法与分析