背景知识
本小节主要对推导过程中存在的一些背景知识进行简要介绍,大家可以按照自己的情况进行阅读,有错误之处还请指出,谢谢啦~
1.1 逻辑回归与最大熵模型
1.1.1 多分类逻辑回归模型与softmax函数
1.1.1.1.1 多分类逻辑回归函数
对于二分类逻辑回归函数想必大家肯定都很熟悉啦,我们在此简单回顾一下!逻辑回归模型如下:
P
(
Y
=
1
∣
x
)
=
e
w
⋅
x
1
+
e
w
⋅
x
=
1
1
+
e
−
w
⋅
x
P(Y=1|x) = \frac{e^{w \cdot x}}{1+e^{w \cdot x}}=\frac{1}{1+e^{-w \cdot x}}
P(Y=1∣x)=1+ew⋅xew⋅x=1+e−w⋅x1
其中,
w
=
(
w
(
1
)
,
w
(
2
)
,
.
.
.
,
w
(
n
)
,
b
)
T
w = (w^{(1)},w^{(2)},...,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)},...,x^{(n)},1)^{T}
x=(x(1),x(2),...,x(n),1)T。
一个事件发生的几率指该事件发生的概率与不发生的概率的比值。如果事件发生的概率是
p
p
p,那么该事件的几率是
p
1
−
p
\frac{p}{1-p}
1−pp。对于逻辑回归而言,有下式成立,
l
o
g
p
1
−
p
=
w
⋅
x
log\frac{p}{1-p}=w \cdot x
log1−pp=w⋅x
那么针对多分类问题逻辑回归该如何使用呢?我们可以将
K
K
K分类问题可以分别构建二分类模型进行。令
P
(
Y
=
i
∣
x
)
P(Y=i|x)
P(Y=i∣x)为给定
x
x
x取值下
Y
Y
Y取值为
i
i
i的概率。显然有
∑
i
=
1
K
P
(
Y
=
i
∣
x
)
=
1
\displaystyle \sum_{i=1}^{K}P(Y=i|x)=1
i=1∑KP(Y=i∣x)=1。将
Y
Y
Y最后一个取值类别或占比最大的类别作为基线类别,将每个类别与基线类别进行配对构建逻辑回归模型。假设将
Y
=
K
Y=K
Y=K设为基线类别,构建模型如下:
l
o
g
P
(
Y
=
i
∣
x
)
P
(
Y
=
K
∣
x
)
=
w
i
⋅
x
log\frac{P(Y=i|x)}{P(Y=K|x)}=w_i \cdot x
logP(Y=K∣x)P(Y=i∣x)=wi⋅x
令
P
(
Y
=
i
∣
x
)
=
P
(
Y
=
i
)
P(Y=i|x)=P(Y=i)
P(Y=i∣x)=P(Y=i)。所以有如下式子成立:
P
(
Y
=
1
)
=
e
w
1
⋅
x
×
P
(
Y
=
K
)
P(Y=1) = e^{w_1\cdot x} \times P(Y=K)
P(Y=1)=ew1⋅x×P(Y=K)
P
(
Y
=
2
)
=
e
w
2
⋅
x
×
P
(
Y
=
K
)
P(Y=2) = e^{w_2\cdot x} \times P(Y=K)
P(Y=2)=ew2⋅x×P(Y=K)
⋮
\vdots
⋮
P
(
Y
=
K
−
1
)
=
e
w
K
−
1
⋅
x
×
P
(
Y
=
K
)
P(Y=K-1) = e^{w_K-1\cdot x} \times P(Y=K)
P(Y=K−1)=ewK−1⋅x×P(Y=K)
因此,有
1
−
P
(
Y
=
K
)
=
∑
i
=
0
K
−
1
e
w
i
⋅
x
×
P
(
Y
=
K
)
1-P(Y=K) = \displaystyle \sum_{i=0}^{K-1}e^{w_i \cdot x} \times P(Y=K)
1−P(Y=K)=i=0∑K−1ewi⋅x×P(Y=K),所以
P
(
Y
=
K
)
=
1
1
+
∑
i
=
0
K
−
1
e
w
i
⋅
x
P(Y=K)=\frac{1}{1+\displaystyle \sum_{i=0}^{K-1}e^{w_i \cdot x}}
P(Y=K)=1+i=0∑K−1ewi⋅x1。则有下式成立:
P
(
Y
=
i
∣
x
)
=
e
w
i
⋅
x
1
+
∑
i
=
0
K
−
1
e
w
i
⋅
x
,
i
=
1
,
2
,
.
.
.
.
,
K
−
1
P(Y=i|x) = \frac{e^{w_i \cdot x}}{1+\displaystyle \sum_{i=0}^{K-1}e^{w_i \cdot x}},i = 1,2,....,K-1
P(Y=i∣x)=1+i=0∑K−1ewi⋅xewi⋅x,i=1,2,....,K−1
1.1.1.1.2 softmax
如果我们将其看做一个对数线性模型,那么则有
l
o
g
P
(
Y
=
1
∣
x
)
=
w
1
⋅
x
−
l
o
g
Z
logP(Y=1|x) = w_1 \cdot x -logZ
logP(Y=1∣x)=w1⋅x−logZ
l
o
g
P
(
Y
=
2
∣
x
)
=
w
2
⋅
x
−
l
o
g
Z
logP(Y=2|x) = w_2 \cdot x -logZ
logP(Y=2∣x)=w2⋅x−logZ
⋮
\vdots
⋮
l
o
g
P
(
Y
=
K
∣
x
)
=
w
K
⋅
x
−
l
o
g
Z
logP(Y=K|x) = w_K \cdot x -logZ
logP(Y=K∣x)=wK⋅x−logZ
这里用一个额外项
−
l
o
g
Z
-logZ
−logZ来确保所有概率能够形成一个概率分布,从而使得这些概率的和等于1。然后将等式两边的进行指数化,我们可以得到以下公式:
P
(
Y
=
1
∣
x
)
=
e
w
1
⋅
x
Z
P(Y=1|x)=\frac{e^{w_1 \cdot x}}{Z}
P(Y=1∣x)=Zew1⋅x
P
(
Y
=
2
∣
x
)
=
e
w
2
⋅
x
Z
P(Y=2|x)=\frac{e^{w_2 \cdot x}}{Z}
P(Y=2∣x)=Zew2⋅x
⋮
\vdots
⋮
P
(
Y
=
K
∣
x
)
=
e
w
K
⋅
x
Z
P(Y=K|x)=\frac{e^{w_K \cdot x}}{Z}
P(Y=K∣x)=ZewK⋅x
则可以得到
Z
=
∑
i
=
1
K
e
w
i
⋅
x
Z=\displaystyle \sum_{i=1}^{K}e^{w_i \cdot x}
Z=i=1∑Kewi⋅x,则
P
(
Y
=
i
∣
x
)
=
e
w
i
⋅
x
∑
i
=
1
K
e
w
i
⋅
x
P(Y=i|x)=\frac{e^{w_i \cdot x}}{\displaystyle \sum_{i=1}^{K}e^{w_i \cdot x}}
P(Y=i∣x)=i=1∑Kewi⋅xewi⋅x
上式即为我们熟悉的softmax公式。这个函数能够将
x
1
,
x
2
,
.
.
.
,
x
n
x_1,x_2,...,x_n
x1,x2,...,xn之间的差别放大,当存在一个
x
k
x_k
xk比所有值中的最大值要小很多的话,那么它对应的softmax函数值就会趋于0。相反,当
x
k
x_k
xk是最大值的时候,除非第二大的值跟它很接近,否则的话softmax会趋于1。
1.1.2 最大熵原理与最大熵模型
1.1.2.1 最大熵原理
熵在机器学习中很常见,如交叉熵、信息熵和相对熵(KL散度)等,在最大熵模型中我们所说的熵指的是信息熵。
最大熵原理是概率模型学习的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。
假设离散随机变量
X
X
X的概率分布是
P
(
X
)
P(X)
P(X),其信息熵为
H
(
P
)
=
−
∑
x
P
(
x
)
l
o
g
P
(
x
)
H(P)=-\displaystyle \sum_{x}P(x)logP(x)
H(P)=−x∑P(x)logP(x),熵满足下列不等式:
0
≤
H
(
P
)
≤
l
o
g
∣
X
∣
0\leq H(P)\leq log|X|
0≤H(P)≤log∣X∣式中,
∣
X
∣
|X|
∣X∣是
X
X
X的取值个数,当且仅当
X
X
X的分布是均匀分布时右边的等号成立,即当
X
X
X服从均匀分布时,熵最大。
最大熵原理选择的概率模型首先必须要满足已有的事实(约束条件),在没有更多信息的情况下,那些不确定的部分是“等可能的”。
例:假设随机变量
X
X
X有5个取值
{
A
,
B
,
C
,
D
,
E
}
\{A,B,C,D,E\}
{A,B,C,D,E},要估计取各个值的概率
P
(
A
)
,
P
(
B
)
,
P
(
C
)
,
P
(
D
)
,
P
(
E
)
P(A),P(B),P(C),P(D),P(E)
P(A),P(B),P(C),P(D),P(E)。从先验知识中,我们了解到一些信息,如下:
P
(
A
)
+
P
(
B
)
=
3
10
P(A)+P(B)=\frac{3}{10}
P(A)+P(B)=103
P
(
A
)
+
P
(
B
)
+
P
(
C
)
+
P
(
D
)
+
P
(
E
)
=
1
P(A)+P(B)+P(C)+P(D)+P(E)=1
P(A)+P(B)+P(C)+P(D)+P(E)=1
解:在缺少其他信息的情况下,可以认为
A
A
A和
B
B
B是等概率的,
C
C
C,
D
D
D,
E
E
E是等概率的,于是
P
(
A
)
=
P
(
A
)
=
3
20
P(A)=P(A)=\frac{3}{20}
P(A)=P(A)=203
P
(
C
)
=
P
(
D
)
=
P
(
E
)
=
7
30
P(C)=P(D)=P(E)=\frac{7}{30}
P(C)=P(D)=P(E)=307
1.1.2.2 最大熵模型
给定一个训练数据集
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
)
\widetilde{P}(X,Y)
P
(X,Y)和
P
~
(
X
)
\widetilde{P}(X)
P
(X)表示,如下:
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)
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
,
Y
=
y
)
v(X=x,Y=y)
v(X=x,Y=y)表示训练样本中样本
(
x
,
y
)
(x,y)
(x,y)出现的频数,
v
(
X
=
x
)
v(X=x)
v(X=x)表示训练数据中
x
x
x出现的瓶数。用特征函数
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{aligned} &1,x与y满足某一事实\\ &0,否则 \end{aligned} \right.
f(x,y)={1,x与y满足某一事实0,否则
特征函数
f
(
x
,
y
)
f(x,y)
f(x,y)关于经验分布
P
~
(
X
,
Y
)
\widetilde{P}(X,Y)
P
(X,Y)的期望值用
E
P
~
(
f
)
E_{\widetilde{P}}(f)
EP
(f)表示,则有
E
P
~
(
f
)
=
∑
x
,
y
P
~
(
X
,
Y
)
f
(
x
,
y
)
E_{\widetilde{P}}(f)=\displaystyle \sum_{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
)
E_{{P}}(f)
EP(f)表示,则有
E
P
(
f
)
=
∑
x
,
y
P
~
(
X
)
P
(
x
,
y
)
f
(
x
,
y
)
E_{{P}}(f)=\displaystyle \sum_{x,y}\widetilde{P}(X)P(x,y)f(x,y)
EP(f)=x,y∑P
(X)P(x,y)f(x,y),如果模型学到训练数据中的信息,那就可以假设两个期望值相等,即
∑
x
,
y
P
~
(
X
)
P
(
x
,
y
)
f
(
x
,
y
)
=
∑
x
,
y
P
~
(
X
,
Y
)
f
(
x
,
y
)
(1)
\displaystyle \sum_{x,y}\widetilde{P}(X)P(x,y)f(x,y)=\displaystyle \sum_{x,y}\widetilde{P}(X,Y)f(x,y) \tag{1}
x,y∑P
(X)P(x,y)f(x,y)=x,y∑P
(X,Y)f(x,y)(1)
我们将公式(1)作为模型学习的约束条件,假如有
n
n
n个特征函数
f
i
(
x
,
y
)
,
i
=
1
,
2
,
.
.
.
,
n
f_i(x,y),i=1,2,...,n
fi(x,y),i=1,2,...,n,那么就有n个约束条件。
条件熵:已知
X
X
X的条件下,
Y
Y
Y的条件概率的分布的信息熵对
X
X
X的数学期望,已知随机变量X的条件下随机变量Y的不确定性。
H
(
Y
∣
X
)
=
−
∑
x
∈
X
P
(
x
)
∑
y
∈
Y
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
H(Y|X)=-\displaystyle \sum_{x\in X}P(x) \sum_{y\in Y}P(y|x)logP(y|x)
H(Y∣X)=−x∈X∑P(x)y∈Y∑P(y∣x)logP(y∣x)
最大熵模型:假设满足所有约束条件的模型
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)集合为
C
≡
{
P
(
Y
∣
X
)
∣
E
P
(
f
i
)
=
E
P
~
(
f
)
,
i
=
1
,
2
,
.
.
.
,
n
}
C\equiv\{P(Y|X)|E_{{P}}(f_i)=E_{\widetilde{P}}(f), i = 1,2,...,n\}
C≡{P(Y∣X)∣EP(fi)=EP
(f),i=1,2,...,n}
定义在条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)上的条件熵为
H
(
P
)
=
−
∑
x
∈
X
P
~
(
x
)
∑
y
∈
Y
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
H(P)=-\displaystyle \sum_{x\in X}\widetilde{P}(x) \sum_{y\in Y}P(y|x)logP(y|x)
H(P)=−x∈X∑P
(x)y∈Y∑P(y∣x)logP(y∣x)
则模型集合
C
C
C中条件熵
H
(
P
)
H(P)
H(P)最大的模型成为最大熵模型(
P
P
P指
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X))。
1.1.2.3 最大熵模型的学习
最大熵模型的学习等价于约束最优化问题:
max
P
∈
C
H
(
P
)
=
−
∑
x
∈
X
P
~
(
x
)
∑
y
∈
Y
P
(
y
∣
x
)
l
o
g
P
(
y
∣
x
)
\max_{P\in C} H(P)=-\displaystyle \sum_{x\in X}\widetilde{P}(x) \sum_{y\in Y}P(y|x)logP(y|x)
P∈CmaxH(P)=−x∈X∑P
(x)y∈Y∑P(y∣x)logP(y∣x)
s
.
t
.
E
P
(
f
i
)
=
E
P
~
(
f
)
,
i
=
1
,
2
,
.
.
.
,
n
s.t. \quad E_{{P}}(f_i)=E_{\widetilde{P}}(f), i = 1,2,...,n
s.t.EP(fi)=EP
(f),i=1,2,...,n
∑
y
P
(
y
∣
x
)
=
1
\displaystyle \sum_{y}P(y|x)=1
y∑P(y∣x)=1
引入拉格朗日乘子
w
0
,
w
1
,
w
2
,
.
.
.
,
w
n
w_0,w_1,w_2,...,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
)
−
E
P
(
f
i
)
)
L(P,w)=-H(p)+w_0(1-\displaystyle \sum_{y}P(y|x))+\displaystyle \sum_{i=1}^{n}w_i(E_{\widetilde{P}}(f)-E_{{P}}(f_i))
L(P,w)=−H(p)+w0(1−y∑P(y∣x))+i=1∑nwi(EP
(f)−EP(fi))最后解得结果如下:
P
w
(
y
∣
x
)
=
1
Z
w
(
x
)
e
x
p
(
∑
i
=
1
n
w
i
f
(
x
,
y
)
)
P_w(y|x)=\frac{1}{Z_w(x)}exp(\displaystyle \sum_{i=1}^{n}w_if(x,y))
Pw(y∣x)=Zw(x)1exp(i=1∑nwif(x,y))
其中,
Z
w
(
x
)
=
∑
y
e
x
p
(
∑
i
=
1
n
w
i
f
(
x
,
y
)
)
Z_w(x) = \displaystyle \sum_{y}exp(\displaystyle \sum_{i=1}^{n}w_if(x,y))
Zw(x)=y∑exp(i=1∑nwif(x,y))
P
w
(
y
∣
x
)
P_w(y|x)
Pw(y∣x)就是最大熵模型,
w
w
w是最大熵模型中的参数向量,即需要求解的参数。
最大熵模型与逻辑回归模型有类似的形式,他们又称为对数线性模型(log linear model)。模型求解就是在给定训练数据条件下对模型进行极大似然估计,即求解参数
w
w
w。
逻辑回归即是最大熵模型的特殊形式,转换过程如下图所示:
1.2 EM(expectation–maximization)算法
在HMM中,我们需要根据观测序列 X X X求出隐藏序列 Z Z Z,但是若参数 θ \theta θ未知,我们就无法求得隐藏序列 Z Z Z,同理,若我们不知道 Z Z Z的信息,则无法推断出 θ \theta θ的信息,这就成了一个鸡生蛋、蛋生鸡的问题。此时,EM算法就可以大展身手了!!!!
1.2.1 EM算法背景知识
Jensen不等式
设
f
(
x
)
f(x)
f(x)是定义域为实数的函数,如果对所有实数
x
x
x,
f
(
x
)
f(x)
f(x)的二阶导数恒大于等于0,那么
f
(
x
)
f(x)
f(x)为凸函数。如果
f
(
x
)
f(x)
f(x)为凸函数,
X
X
X为随机变量,那么Jensen不等式表达如下:
E
[
f
(
X
)
]
≥
f
(
E
[
X
]
)
E[f(X)]\geq f(E[X])
E[f(X)]≥f(E[X])
证明如下:
1.2.2 过程推导
问题
假如我们需要调查学校的男生和女生的身高分布 ,我们抽取100个男生和100个女生,将他们按照性别划分为两组。然后,统计抽样得到100个男生的身高数据和100个女生的身高数据。如果我们知道他们的身高服从正态分布,但是男生和女士身高分布的均值
μ
\mu
μ和方差
σ
2
\sigma^2
σ2是不知道的,这4个参数就是我们需要估计的。但是我们不知道这200个数据中哪个是男生的身高,哪个是女生的身高,即抽取得到的每个样本都不知道是从哪个分布中抽取的。这个时候,对于每个样本,就有两个未知量需要估计:
(1)这个身高数据是来自于男生数据集合还是来自于女生?
(2)男生、女生身高数据集的正态分布的参数分别是多少?
EM算法求解步骤
(1)初始化参数:先初始化男生和女生身高的正态分布的参数;
(2)计算每一个人更可能属于男生分布或者女生分布;
(3)通过分为男生的n个人来重新估计男生身高分布的参数(最大似然估计),女生分布也按照相同的方式估计出来,更新分布。
(4)这时候每个样本属于这两个分布的概率也变了,然后重复步骤(1)至(3),直到参数不发生变化为止。
数据集
m
m
m个相互独立的样本:
X
=
(
x
(
1
)
,
.
.
.
,
x
(
m
)
)
X = (x^{(1)},..., x^{(m)})
X=(x(1),...,x(m)),如200人的身高的序列。
隐含变量:未观测到的随机变量Z的值:
Z
=
(
z
(
1
)
,
.
.
.
,
z
(
m
)
)
Z = (z^{(1)},..., z^{(m)})
Z=(z(1),...,z(m)),如性别序列,
{
男
,
男
,
女
,
.
.
.
.
,
男
}
\{男,男,女,....,男\}
{男,男,女,....,男}。
完整数据:包含观测到的随机变量
X
X
X和隐含变量
Z
Z
Z的数据:
Y
=
(
X
,
Z
)
Y = (X, Z)
Y=(X,Z)
以下为公式推导部分:
将极大似然估计改写为:
L
(
θ
)
=
∑
i
l
n
P
(
x
(
i
)
;
θ
)
=
∑
i
=
1
m
l
n
∑
Z
(
i
)
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
=
∑
i
=
1
m
l
n
∑
Z
(
i
)
Q
i
(
z
(
i
)
)
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
≥
∑
i
=
1
m
∑
Z
(
i
)
Q
i
(
z
(
i
)
)
l
n
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
\begin{aligned}L(\theta)&=\displaystyle \sum_{i}lnP(x^{(i)};\theta)\\ &=\displaystyle\sum_{i=1}^{m}ln\displaystyle\sum_{Z^{(i)}}P(x^{(i)},Z^{(i)};\theta)\\ &=\displaystyle\sum_{i=1}^{m}ln\displaystyle\sum_{Z^{(i)}}Q_i(z^{(i)})\frac{P(x^{(i)},Z^{(i)};\theta)}{Q_i(z^{(i)})}\\ &\geq\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{Z^{(i)}}Q_i(z^{(i)})ln\frac{P(x^{(i)},Z^{(i)};\theta)}{Q_i(z^{(i)})} \end{aligned}
L(θ)=i∑lnP(x(i);θ)=i=1∑mlnZ(i)∑P(x(i),Z(i);θ)=i=1∑mlnZ(i)∑Qi(z(i))Qi(z(i))P(x(i),Z(i);θ)≥i=1∑mZ(i)∑Qi(z(i))lnQi(z(i))P(x(i),Z(i);θ)
Q
i
(
z
(
i
)
)
Q_i(z^{(i)})
Qi(z(i))是新引入的分布,可以理解为每个样本
i
i
i为
z
(
i
)
z^{(i)}
z(i)的概率,在上述例子中,
z
(
i
)
z^{(i)}
z(i)的取值范围为
{
男
,
女
}
\{男,女\}
{男,女},所以有
∑
Z
(
i
)
Q
i
(
z
(
i
)
)
=
1
\displaystyle\sum_{Z^{(i)}}Q_i(z^{(i)})=1
Z(i)∑Qi(z(i))=1,最后一步推导是利用Jensen不等式,由于
l
n
ln
ln是凹函数,所以有
E
[
f
(
X
)
]
≤
f
(
E
[
X
]
)
E[f(X)]\leq f(E[X])
E[f(X)]≤f(E[X])成立。
等式成立的条件:所以我们想要最大化
L
(
θ
)
L(\theta)
L(θ),当等号成立时,我们去优化下界就可以了。根据Jense不等式,当随机变量是常数时,等号成立,所以有
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
=
C
(2)
\frac{P(x^{(i)},Z^{(i)};\theta)}{Q_i(z^{(i)})}=C \tag2
Qi(z(i))P(x(i),Z(i);θ)=C(2)
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
=
C
(
Q
i
(
z
(
i
)
)
)
P(x^{(i)},Z^{(i)};\theta)=C\big(Q_i(z^{(i)})\big)
P(x(i),Z(i);θ)=C(Qi(z(i)))
∑
Z
(
i
)
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
=
C
(
∑
Z
(
i
)
Q
i
(
z
(
i
)
)
)
\displaystyle\sum_{Z^{(i)}}P(x^{(i)},Z^{(i)};\theta)=C\big(\displaystyle\sum_{Z^{(i)}}Q_i(z^{(i)})\big)
Z(i)∑P(x(i),Z(i);θ)=C(Z(i)∑Qi(z(i)))
∑
Z
(
i
)
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
=
C
\displaystyle\sum_{Z^{(i)}}P(x^{(i)},Z^{(i)};\theta)=C
Z(i)∑P(x(i),Z(i);θ)=C
将
C
C
C代回式
(
2
)
(2)
(2),可得
Q
i
(
z
(
i
)
)
=
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
∑
Z
(
i
)
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
=
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
P
(
x
(
i
)
;
θ
)
=
P
(
Z
(
i
)
∣
x
(
i
)
,
θ
)
\begin{aligned} Q_i(z^{(i)})&=\frac{P(x^{(i)},Z^{(i)};\theta)}{\displaystyle\sum_{Z^{(i)}}P(x^{(i)},Z^{(i)};\theta)}\\ &=\frac{P(x^{(i)},Z^{(i)};\theta)}{P(x^{(i)};\theta)}\\ &=P(Z^{(i)}|x^{(i)},\theta) \end{aligned}
Qi(z(i))=Z(i)∑P(x(i),Z(i);θ)P(x(i),Z(i);θ)=P(x(i);θ)P(x(i),Z(i);θ)=P(Z(i)∣x(i),θ)
至此,EM算法的推导就结束了,现在我们看看怎么使用EM算法!!!
输入:观察数据 X = ( x ( 1 ) , . . . , x ( m ) ) X = (x^{(1)},..., x^{(m)}) X=(x(1),...,x(m)),联合分布 P ( X , Z ∣ θ ) P(X,Z|\theta) P(X,Z∣θ),条件分布 P ( Z ∣ X , θ ) P(Z|X,\theta) P(Z∣X,θ), 极大迭代次数 J J J。
(1) 随机初始化模型参数
θ
\theta
θ的初值
θ
0
\theta^0
θ0;
(2)
F
o
r
For
For
j
j
j
f
r
o
m
from
from
1
1
1
t
o
to
to
J
J
J:
E
E
E步:计算联合分布的条件概率期望:
Q
i
(
z
(
i
)
)
=
P
(
Z
(
i
)
∣
x
(
i
)
,
θ
)
Q_i(z^{(i)})=P(Z^{(i)}|x^{(i)},\theta)
Qi(z(i))=P(Z(i)∣x(i),θ)
M步:极大化
L
(
θ
)
L(\theta)
L(θ)(将加号从
l
n
ln
ln中取出,方便以后求导) ,也就是优化其下界,得到
θ
\theta
θ:
θ
=
a
r
g
max
θ
∑
i
=
1
m
∑
Z
(
i
)
Q
i
(
z
(
i
)
)
l
n
P
(
x
(
i
)
,
Z
(
i
)
;
θ
)
Q
i
(
z
(
i
)
)
\theta=arg\max_{\theta}\displaystyle\sum_{i=1}^{m}\displaystyle\sum_{Z^{(i)}}Q_i(z^{(i)})ln\frac{P(x^{(i)},Z^{(i)};\theta)}{Q_i(z^{(i)})}
θ=argθmaxi=1∑mZ(i)∑Qi(z(i))lnQi(z(i))P(x(i),Z(i);θ)
重复
E
E
E步和
M
M
M步,直到参数收敛,最终输出参数和隐藏变量。
1.3 有向图和无向图
1.3.1 有向图
此图即为一个有向图,其满足马尔科夫假设,即马尔科夫链里的
x
i
x_i
xi总是只受
x
i
−
1
x_{i-1}
xi−1一个人的影响。其概率计算公式为
P
(
x
1
,
x
2
,
x
3
,
x
4
,
x
5
)
=
P
(
x
1
)
⋅
P
(
x
2
∣
x
1
)
⋅
P
(
x
3
∣
x
2
)
⋅
P
(
x
4
∣
x
2
)
⋅
P
(
x
1
)
⋅
P
(
x
1
)
P(x_1,x_2,x_3,x_4,x_5)=P(x_1)\cdot P(x_2 | x_1)\cdot P(x_3|x_2)\cdot P(x_4|x_2)\cdot P(x_1)\cdot P(x_1)
P(x1,x2,x3,x4,x5)=P(x1)⋅P(x2∣x1)⋅P(x3∣x2)⋅P(x4∣x2)⋅P(x1)⋅P(x1)
1.3.2 无向图
马尔科夫性是是保证或者判断概率图是否为概率无向图的条件。主要包括三种,分别是
- 成对马尔科夫性
- 局部马尔科夫性
- 全局马尔科夫性
具体可参考《统计学习方法》,满足任意一种即为无向图。
此图即为一个无向图,如果一个图太大,可以用因子分解将 P ( x 1 , x 2 , x 3 , x 4 ) P(x_1,x_2,x_3,x_4) P(x1,x2,x3,x4)写为若干个所有最大团概率的乘积。公式如下:
P ( Y ) = 1 Z ( x ) ∏ c ψ c ( Y c ) P(Y)=\frac{1}{Z(x)}\displaystyle \prod_{c}\psi_c(Y_c) P(Y)=Z(x)1c∏ψc(Yc) Z ( x ) = ∑ Y ∏ c ψ c ( Y c ) Z(x)=\displaystyle \sum_{Y}\displaystyle \prod_{c}\psi_c(Y_c) Z(x)=Y∑c∏ψc(Yc)
以上图为例,其公式为
P ( Y ) = 1 Z ( x ) ψ 1 ( x 1 , x 3 , x 4 ) ⋅ ψ 2 ( x 2 , x 3 , x 4 ) P(Y)=\frac{1}{Z(x)}\psi_1(x_1,x_3,x_4)\cdot \psi_2(x_2,x_3,x_4) P(Y)=Z(x)1ψ1(x1,x3,x4)⋅ψ2(x2,x3,x4)
Z ( x ) Z(x) Z(x)是在这4个点将 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4任意放置的所有可能求和。
1.3 生成式和判别式模型
1、判别式模型的特征总结如下:
- 对 P ( Y ∣ X ) P(Y|X) P(Y∣X)建模
- 对所有的样本只构建一个模型,确认总体判别边界
- 观测到输入什么特征,就预测最可能的label
- 另外,判别式的优点是:对数据量要求没生成式的严格,速度也会快,小数据量下准确率也会好些。
2、生成式模型
在模型训练中,我学习到的是X与Y的联合模型
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X) ,也就是说,我在训练阶段是只对
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)建模,我需要确定维护这个联合概率分布的所有的信息参数。完了之后在inference再对新的sample计算
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X),导出
Y
Y
Y,但这已经不属于建模阶段了。
生成式总结下有如下特点:
- 对 P ( X , Y ) P(X,Y) P(X,Y)建模
- 生成式模型的优点在于,所包含的信息非常齐全,我称之为“上帝信息”,所以不仅可以用来输入label,还可以干其他的事情。
- 生成式模型关注结果是如何产生的,但是生成式模型需要非常充足的数据量以保证采样到了数据本来的面目,所以速度相比之下较慢。
至此,我们的背景知识就介绍结束啦,下一篇,正文开始!
参考:
https://www.zhihu.com/question/35866596/answer/236886066
https://zhuanlan.zhihu.com/p/36331115