从HMM到BiLSTM-CRF过程详解(1)

背景知识

  本小节主要对推导过程中存在的一些背景知识进行简要介绍,大家可以按照自己的情况进行阅读,有错误之处还请指出,谢谢啦~

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=1x)=1+ewxewx=1+ewx1
  其中, 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} 1pp。对于逻辑回归而言,有下式成立, l o g p 1 − p = w ⋅ x log\frac{p}{1-p}=w \cdot x log1pp=wx
  那么针对多分类问题逻辑回归该如何使用呢?我们可以将 K K K分类问题可以分别构建二分类模型进行。令 P ( Y = i ∣ x ) P(Y=i|x) P(Y=ix)为给定 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=1KP(Y=ix)=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=Kx)P(Y=ix)=wix
  令 P ( Y = i ∣ x ) = P ( Y = i ) P(Y=i|x)=P(Y=i) P(Y=ix)=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)=ew1x×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)=ew2x×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=K1)=ewK1x×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) 1P(Y=K)=i=0K1ewix×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=0K1ewix1。则有下式成立:
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=ix)=1+i=0K1ewixewix,i=1,2,....,K1

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=1x)=w1xlogZ 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=2x)=w2xlogZ ⋮ \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=Kx)=wKxlogZ
这里用一个额外项 − 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=1x)=Zew1x P ( Y = 2 ∣ x ) = e w 2 ⋅ x Z P(Y=2|x)=\frac{e^{w_2 \cdot x}}{Z} P(Y=2x)=Zew2x ⋮ \vdots P ( Y = K ∣ x ) = e w K ⋅ x Z P(Y=K|x)=\frac{e^{w_K \cdot x}}{Z} P(Y=Kx)=ZewKx
则可以得到 Z = ∑ i = 1 K e w i ⋅ x Z=\displaystyle \sum_{i=1}^{K}e^{w_i \cdot x} Z=i=1Kewix,则 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=ix)=i=1Kewixewix
上式即为我们熟悉的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)=xP(x)logP(x),熵满足下列不等式: 0 ≤ H ( P ) ≤ l o g ∣ X ∣ 0\leq H(P)\leq log|X| 0H(P)logX式中, ∣ 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)={1xy0
  特征函数 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,yP (X,Y)f(x,y)
  特征函数 f ( x , y ) f(x,y) f(x,y)关于经验分布 P ( Y ∣ X ) P(Y|X) P(YX)这是我们想要学习到的)与经验分布 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,yP (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,yP (X)P(x,y)f(x,y)=x,yP (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(YX)=xXP(x)yYP(yx)logP(yx)

  最大熵模型:假设满足所有约束条件的模型 P ( Y ∣ X ) P(Y|X) P(YX)集合为
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(YX)EP(fi)=EP (f),i=1,2,...,n}
定义在条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)上的条件熵为
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)=xXP (x)yYP(yx)logP(yx)
则模型集合 C C C中条件熵 H ( P ) H(P) H(P)最大的模型成为最大熵模型( P P P P ( Y ∣ X ) P(Y|X) P(YX))。

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) PCmaxH(P)=xXP (x)yYP(yx)logP(yx) 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 yP(yx)=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(1yP(yx))+i=1nwi(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(yx)=Zw(x)1exp(i=1nwif(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)=yexp(i=1nwif(x,y))
P w ( y ∣ x ) P_w(y|x) Pw(yx)就是最大熵模型, 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(θ)=ilnP(x(i);θ)=i=1mlnZ(i)P(x(i),Z(i);θ)=i=1mlnZ(i)Qi(z(i))Qi(z(i))P(x(i),Z(i);θ)i=1mZ(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(ZX,θ), 极大迭代次数 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=1mZ(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} xi1一个人的影响。其概率计算公式为
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(x2x1)P(x3x2)P(x4x2)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)=Ycψ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(YX)建模
  • 对所有的样本只构建一个模型,确认总体判别边界
  • 观测到输入什么特征,就预测最可能的label
  • 另外,判别式的优点是:对数据量要求没生成式的严格,速度也会快,小数据量下准确率也会好些。

2、生成式模型
在模型训练中,我学习到的是X与Y的联合模型 P ( Y ∣ X ) P(Y|X) P(YX) ,也就是说,我在训练阶段是只对 P ( Y ∣ X ) P(Y|X) P(YX)建模,我需要确定维护这个联合概率分布的所有的信息参数。完了之后在inference再对新的sample计算 P ( Y ∣ X ) P(Y|X) P(YX),导出 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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是对这些模型和技术在不同场景和需求下的使用时机进行分类列举,并简要说明其原因: 1. 文本表示方法: - One-hot编码:适用于简单的文本分类任务,其中词汇量较小且词汇之间没有明显的顺序关系。 - TF-IDF:适用于文本分类、信息检索和关键词提取等任务,能够考虑词语在语料库中的重要性。 - N-gram:适用于语言模型和文本生成任务,通过考虑词语之间的上下文关系来提高模型的性能。 2. 词向量表示方法: - Word2Vec:适用于语义表示和词语相似度计算等任务,能够将词语映射到连续的向量空间中。 - FastText:适用于处理大规模文本数据,尤其是对于低频词有较好的处理效果。 - GloVe:适用于词语相似度计算和文本分类等任务,结合全局统计信息和局部上下文信息来生成词向量。 3. 语言模型和预训练模型: - NNLM(神经网络语言模型):适用于自然语言处理中的语言建模任务,能够生成连续的语言序列。 - ELMo、GPT、UniLM:适用于各种NLP任务,如文本分类、命名实体识别等,通过预训练语言模型来提供丰富的语义表示。 - BERT、ALBERT、RoBERTa、SimBert:适用于多种NLP任务,如文本分类、问答系统等,通过预训练模型和Fine-tuning来提供深层次的语义理解。 4. 序列模型: - RNN、LSTM、GRU:适用于序列建模和自然语言生成任务,能够考虑上下文信息和长期依赖关系。 - BiLSTM-CRF:适用于命名实体识别和序列标注任务,结合双向LSTM和条件随机场来提高序列标注的准确性。 5. 语言生成与翻译: - Seq2seq:适用于机器翻译和文本摘要等任务,通过编码器-解码器结构将一个序列映射到另一个序列。 - Transformer:适用于机器翻译和文本生成任务,通过自注意力机制来建模长距离依赖关系。 6. 序列标注和结构化预测: - HMMCRF:适用于命名实体识别和序列标注任务,通过建模序列的概率分布来进行标注。 - Viterbi算法:适用于解码HMMCRF模型的最优路径,能够找到给定观测序列下的最可能的隐状态序列。 7. 文本摘要和关键词提取: - TF-IDF、TextRank:适用于提取文本关键词和生成摘要,通过计算词语的重要性来选择最相关的内容。 8. 基于图的模型: - GPT:适用于生成自然语言文本、对话系统等任务,通过建模文本序列的概率分布来生成连续的语言。 - MT5:适用于机器翻译任务,通过多任务学习的方式来提高翻译质量。 9. 强化学习与生成对话: - ChatGPT、UniLM:适用于生成对话和聊天机器人等任务,通过预训练模型和强化学习来生成连贯和有意义的对话。 10. 文本分类和情感分析: - CNN、XGBoost:适用于文本分类和情感分析等任务,能够从文本中提取局部和全局的特征进行分类。 11. 共现矩阵和搜索算法: - 共现矩阵、集束搜索:适用于信息检索和推荐系统等任务,能够通过统计词语之间的共现关系来提供相关的结果。 以上列举的使用时机是根据各个模型和技术的特点和优势来进行分类的,但实际使用时还需要结合具体的任务和数据来选择最合适的模型和技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值