机器学习第十四章——.概率图模型
14.概率图模型
-
机器学习最重要的任务是根据已观察到的证据(例如训练样本)对感兴趣的未知变量(例如类别标记)进行估计和推测。
-
概率模型提供了一种描述框架,将描述任务归结为计算变量的概率分布,在概率模型中,利用已知的变量推测未知变量的分布称为“推断",其核心在于基于可观测的变量推测出未知变量的条件分布
- 生成式:计算联合分布P(Y,R,O)
- 判别式:计算条件分布P(Y,R|O)
-
符号约定
- Y为关心的变量的集合,O为可观测变量集合,R为其他变量集合
-
概率模型
- 直接利用概率求和规则消去变量R的时间和空间复杂度为指数级别
O ( 2 ∣ Y ∣ + ∣ R ∣ ) O(2^{|Y|+|R|}) O(2∣Y∣+∣R∣)
需要一种能够简洁紧凑表达变量间关系的工具——概率图模型
- 直接利用概率求和规则消去变量R的时间和空间复杂度为指数级别
-
概率图模型
- 是一类用图来表达变量相关关系的概率模型
- 图模型提供了一种描述框架
- 结点:随机变量(集合)
- 边:变量之间的依赖关系
- 分类:
- 有向图:贝叶斯网(隐马尔可夫模型)
- 使用有向无环图表示变量之间的依赖关系
- 无向图:马尔可夫网(马尔可夫随机场 )
- 使用无向图表示变量间的相关关系
- 有向图:贝叶斯网(隐马尔可夫模型)
14.1 隐马尔可夫模型(HMM)
定义10.1(隐马尔可夫模型)隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程.隐藏的马尔可夫链随机生成的状态的序列,称为状态序列;每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列。序列的每一个位置又可以看作是一个时刻。
-
组成
-
状态变量:
{ y 1 , y 2 , . . . , y n } \{y_1,y_2,...,y_n\} {y1,y2,...,yn}
通常假定是隐藏的,不可被观测的- 取值范围为y,通常有N个可能取值的离散空间
-
观测变量:
{ x 1 , x 2 , . . . , x n } \{x_1,x_2,...,x_n\} {x1,x2,...,xn}
表示第i时刻的观测值集合- 观测变量可以为离散或连续型,本章中只讨论离散型观测变量,取值范围为
{ o 1 , o 2 , . . . , o m } \{o_1,o_2,...,o_m\} {o1,o2,...,om}
- 观测变量可以为离散或连续型,本章中只讨论离散型观测变量,取值范围为
-
- t时刻的状态
x
t
x_t
xt,仅依赖于t -1时刻状态
x
t
−
1
x_{t-1}
xt−1,与其余n -2个状态无关
- 马尔可夫链:系统下一时刻状态仅由当前状态决定,不依赖于以往的任何状态(今天是晴天,明天还是晴天的概率,仅仅与今天的天气相关,与昨天及昨天以前的天气并不相关)
P ( x 1 , y 1 , . . . , x n , y n ) = P ( y 1 ) P ( x 1 ∣ y 1 ) ∏ i = 2 n P ( y i ∣ y i − 1 ) P ( x i ∣ y i ) P(x_1,y_1,...,x_n,y_n)=P(y_1)P(x_1|y_1)\prod_{i=2}^nP(y_i|y_{i-1})P(x_i|y_i) P(x1,y1,...,xn,yn)=P(y1)P(x1∣y1)i=2∏nP(yi∣yi−1)P(xi∣yi)
-
确定一个HMM需要三组参数
λ = [ A , B , π ] \lambda=[A,B,\pi] λ=[A,B,π]-
状态转移概率:模型在各个状态间转换的概率
-
表示在任意时刻t若状态为 s i s_i si,下一状态为 s j s_j sj
则概率为
A = [ a i j ] N × N a i j = p ( y t + 1 = s j ∣ y t = s i ) , 1 ≤ i , j ≤ N A=[a_{ij}]_{N\times N}\\ a_{ij}=p(y_{t+1}=s_j|y_t=s_i),1≤i,j≤N A=[aij]N×Naij=p(yt+1=sj∣yt=si),1≤i,j≤N- 例如我们假设天气状况只有四种情况:晴天,阴天,雨天,雪天,那么矩阵A就是4×4的矩阵
a 12 : 表示今天是晴天,明天是阴天的概率 a 32 : 表示今天是雨天,明天是阴天的概率 a_{12}:表示今天是晴天,明天是阴天的概率\\ a_{32}:表示今天是雨天,明天是阴天的概率 a12:表示今天是晴天,明天是阴天的概率a32:表示今天是雨天,明天是阴天的概率
- 例如我们假设天气状况只有四种情况:晴天,阴天,雨天,雪天,那么矩阵A就是4×4的矩阵
-
-
输出观测概率:模型根据当前状态获得各个观测值的概率
-
在任意时刻t
若状态为 s i , 下一时刻状态为 s j 若状态为s_i,下一时刻状态为s_j 若状态为si,下一时刻状态为sj
则概率为
B = [ b i j ] N × M b i j = p ( x t = o j ∣ y t = s i ) , 1 < i ≤ N , 1 ≤ j ≤ M B=[b_{ij}]_{N\times M}\\ b_{ij}=p(x_t=o_j|y_t=s_i),1<i≤N ,1≤j≤M B=[bij]N×Mbij=p(xt=oj∣yt=si),1<i≤N,1≤j≤M- 例如我们假设天气状况只有四种情况:晴天,阴天,雨天,雪天,而我能观测到的天气情况只有3种:晴天,阴天,雨天,那么矩阵B就是4×3的矩阵
b 12 : 表示实际上是晴天,而我测出来是阴天的概率 b 41 : 表示实际上是雪天,而我测出来是晴天的概率 b_{12}:表示实际上是晴天,而我测出来是阴天的概率\\ b_{41}:表示实际上是雪天,而我测出来是晴天的概率 b12:表示实际上是晴天,而我测出来是阴天的概率b41:表示实际上是雪天,而我测出来是晴天的概率
- 例如我们假设天气状况只有四种情况:晴天,阴天,雨天,雪天,而我能观测到的天气情况只有3种:晴天,阴天,雨天,那么矩阵B就是4×3的矩阵
-
-
初始状态概率:模型在初始时刻各个状态出现的概率
π = [ π 1 , . . . , π n ] π i = P ( y 1 = s i ) , 1 ≤ i < N \pi=[\pi_1,...,\pi_n]\\ \pi_i=P(y_1=s_i),1≤i<N π=[π1,...,πn]πi=P(y1=si),1≤i<N
-
-
生成过程
-
通过指定状态空间Y,观测空间X和上述三组参数,就能确定一个隐马尔可夫模型。给定
λ = [ A , B , π ] \lambda=[A,B,\pi] λ=[A,B,π]
它按如下过程生成观察序列:-
设置t=1,并根据初始状态π选择初始状态 y 1 y_1 y1
-
根据 y t y_t yt和输出观测概率B选择观测变量取值 x t x_t xt
-
根据状态 y t y_t yt和状态转移矩阵A转移模型状态,即确定 y t + 1 y_{t+1} yt+1
-
若t <n,设置t = t +1,并转到(2)步,否则停止
-
-
-
基本问题:对于模型λ=[A,B,π],给定观测序列
x = { x 1 , x 2 , . . . , x n } x=\{x_1,x_2,...,x_n\} x={x1,x2,...,xn}-
评估模型和观测序列之间的匹配程度:有效计算观测序列复产生的概率P(xlλ)
-
根据观测序列“推测”隐藏的模型状态
y = { y 1 , y 2 , . . . , y n } y=\{y_1,y_2,...,y_n\} y={y1,y2,...,yn} -
参数学习:如何调整模型参数λ=[A,B,π],以使得该序列出现的概率P(A|λ)最大
-
-
具体应用
-
根据以往的观测序列
x = { x 1 , x 2 , . . . , x n } x=\{x_1,x_2,...,x_n\} x={x1,x2,...,xn}
预测当前时刻最有可能的观测值
x n x_n xn -
语音识别:根据观测的语音信号推测最有可能的状态序列(即:对应的文字)
-
通过数据学习参数(模型训练)
-
14.2 马尔可夫随机场(MRF)
典型的马尔可夫网,著名的无向图模型
- 图模型表示:
- 结点表示变量(集),边表示依赖关系
- 有一组势函数,亦称“因子”,这是定义在变量子集上的非负实函数,主要用于定义概率分布函数
- 分布形式化:
- 使用基于极大团的势函数(因子)
- 对于图中结点的一个子集,若其中任意两结点间都有边连接,则称该结点子集为一个“团"。若一个团中加入另外任何一个结点都不再形成团,则称该团为“极大团”
- 使用基于极大团的势函数(因子)
团 : { x 1 , x 2 } , { x 2 , x 5 , x 6 } 等 不是极大团 : { x 2 , x 5 } , { x 2 , x 6 } , { x 5 , x 6 } 团:\{x_1,x_2\},\{x_2,x_5,x_6\}等\\ 不是极大团:\{x_2,x_5\},\{x_2,x_6\},\{x_5,x_6\} 团:{x1,x2},{x2,x5,x6}等不是极大团:{x2,x5},{x2,x6},{x5,x6}
-
多个变量之间的连续分布可基于团分解为多个因子的乘积,因此每个因子只与一个团相关
-
对于n个变量 x = { x 1 , x 2 , . . . , x n } x=\{x_1,x_2,...,x_n\} x={x1,x2,...,xn},所有团(包含极大团)构成的集合为C,但若变量问题较多,则团的数目过多,会对今后的计算带来麻烦,所以我们在计算中仅考虑极大团,我们记团为Q
Q ∈ C ∗ ( C ∗ 为极大团对应的集合 ) Q\in C^*(C^*为极大团对应的集合) Q∈C∗(C∗为极大团对应的集合)
对应的变量集合记为 X Q X_Q XQ则联合概率定义为
P ( X ) = 1 Z ∗ ∏ Q ∈ C ∗ ψ Q ( X Q ) P(X)=\frac{1}{Z^*}\prod_{Q\in C^*}\psi_Q(X_Q) P(X)=Z∗1Q∈C∗∏ψQ(XQ)ψ Q 是与团 Q 对应的势函数 Z ∗ 为概率的规范化因子 , Z ∗ = ∑ X ∏ Q ∈ C ∗ ψ Q ( X Q ) \psi_Q是与团Q对应的势函数\\ Z^*为概率的规范化因子,Z^*=\sum_{X}\prod_{Q\in C^*}\psi_Q(X_Q) ψQ是与团Q对应的势函数Z∗为概率的规范化因子,Z∗=X∑Q∈C∗∏ψQ(XQ)
在实际应用中,Z往往很难精确计算,但很多任务中,不需要对Z进行精确计算
-
按照上述的例子,联合概率分布
P ( X ) = 1 Z ψ Q ( x 1 , x 2 ) ψ Q ( x 1 , x 3 ) ψ Q ( x 2 , x 4 ) ψ Q ( x 3 , x 5 ) ψ Q ( x 2 , x 5 , x 6 ) P(X)=\frac{1}{Z}\psi_Q(x_1,x_2)\psi_Q(x_1,x_3)\psi_Q(x_2,x_4)\psi_Q(x_3,x_5)\psi_Q(x_2,x_5,x_6) P(X)=Z1ψQ(x1,x2)ψQ(x1,x3)ψQ(x2,x4)ψQ(x3,x5)ψQ(x2,x5,x6)
马尔可夫随机场中的分离集
- 马尔可夫随机场中得到“条件独立性”
- 借助“分离”的概念,若从结点集A中的结点到B中的结点都必须经过结点集C中的结点,则称结点集A,B被结点集C分离,称C为分离集
-
借助“分离”的概念,可以得到:
-
全局马尔可夫性:在给定分离集的条件下,两个变量子集条件独立
-
若令A,B,C对应的变量集分别为 X A , X B , X C X_A,X_B,X_C XA,XB,XC,则 X A X_A XA和 X B X_B XB在 X C X_C XC给定的条件独立,记为 X A ⊥ X B ∣ X C X_A⊥X_B|X_C XA⊥XB∣XC
-
我们对图进行简化,把变量集A、B、C看成3个整体
可以得到其联合概率为
P
(
x
A
,
x
B
,
x
C
)
=
1
Z
ψ
A
C
(
x
A
,
x
C
)
ψ
B
C
(
x
B
,
x
C
)
P(x_A,x_B,x_C)=\frac{1}{Z}\psi_{AC}(x_A,x_C)\psi_{BC}(x_B,x_C)
P(xA,xB,xC)=Z1ψAC(xA,xC)ψBC(xB,xC)
-
由全局马尔可夫性可以导出:
-
局部马尔可夫性:在给定邻接变量的情况下,一个变量条件独立于其它所有变量
-
令V为图的结点集,n(v)为结点v在图上的邻接节点
KaTeX parse error: Undefined control sequence: \textbackslash at position 38: …有X_v\perp X_{V \̲t̲e̲x̲t̲b̲a̲c̲k̲s̲l̲a̲s̲h̲ ̲n^*(v)}|X_{n(v)…-
例如有图如下:
KaTeX parse error: Undefined control sequence: \textbackslash at position 84: …,x_4,x_5\}\\ V \̲t̲e̲x̲t̲b̲a̲c̲k̲s̲l̲a̲s̲h̲ ̲n^*(v)=\{x_6,x_…
如果给定了 x 2 , x 3 , x 4 , x 5 , 那么 x 1 和 x 6 , x 7 , x 8 , x 9 , x 10 , x 11 条件独立 如果给定了x_2,x_3,x_4,x_5,那么x_1和x_6,x_7,x_8,x_9,x_{10},x_{11}条件独立 如果给定了x2,x3,x4,x5,那么x1和x6,x7,x8,x9,x10,x11条件独立
-
-
-
成对马尔可夫性:在给定所有其它变量的情况下,两个非邻接变量条件独立
- 令V为图的结点集,边集为E,对图中的两个结点u,v,若
<
u
,
v
>
∉
E
<u,v> \notin E
<u,v>∈/E,有KaTeX parse error: Undefined control sequence: \textbackslash at position 20: …perp x_{v}|x_{V\̲t̲e̲x̲t̲b̲a̲c̲k̲s̲l̲a̲s̲h̲<u,v>}
- 例如有图如下:
- 例如有图如下:
< u , v > = < x 1 , x 4 > <u,v>=<x_1,x_4> <u,v>=<x1,x4>,所以并不存在这样一条边,则在给定了 x 2 , x 3 x_2,x_3 x2,x3的情况下,那么 x 1 x_1 x1和 x 4 x_4 x4条件独立
- 令V为图的结点集,边集为E,对图中的两个结点u,v,若
<
u
,
v
>
∉
E
<u,v> \notin E
<u,v>∈/E,有KaTeX parse error: Undefined control sequence: \textbackslash at position 20: …perp x_{v}|x_{V\̲t̲e̲x̲t̲b̲a̲c̲k̲s̲l̲a̲s̲h̲<u,v>}
-
势函数
假定变量均为二值变量,定义势函数
ψ
(
x
A
,
x
C
)
=
{
1.5
,
i
f
x
A
=
x
C
0.1
,
o
t
h
e
r
w
i
s
e
\psi(x_A,x_C)=\begin{cases} 1.5, & if\quad x_A=x_C \\ 0.1, & otherwise \\ \end{cases}
ψ(xA,xC)={1.5,0.1,ifxA=xCotherwise
ψ ( x B , x C ) = { 0.2 , i f x B = x C 1.3 , o t h e r w i s e \psi(x_B,x_C)=\begin{cases} 0.2, & if\quad x_B=x_C \\ 1.3, & otherwise \\ \end{cases} ψ(xB,xC)={0.2,1.3,ifxB=xCotherwise
说明模型偏好 x A 与 x C x_A与x_C xA与xC有相同的取值, x B 与 x C x_B与x_C xB与xC有相同的取值,换言之 x A 与 x C x_A与x_C xA与xC正相关, x B 与 x C x_B与x_C xB与xC负相关,所以令 x A 与 x C x_A与x_C xA与xC相同且 x B 与 x C x_B与x_C xB与xC不同的变量值指派将有较高的联合概率
-
势函数中 ψ Q ( X Q ) \psi_Q(X_Q) ψQ(XQ)的作用是定量刻画变量集 X Q X_Q XQ
中变量的相关关系,应为非负函数,且在所偏好的变量取值上有较大的函数值
-
为了满足非负性,指数函数常被用于定义势函数,即:
ψ Q ( X Q ) = e − H Q ( x Q ) \psi_Q(X_Q)= e^{-H_Q(x_Q)}\\ ψQ(XQ)=e−HQ(xQ)- H Q ( x Q ) H_Q(x_Q) HQ(xQ)是一个定义在变量 x Q x_Q xQ上的实值函数, H Q ( x Q ) = ∑ u , v ∈ Q , u ≠ v α u v x u x v + ∑ v ∈ Q β v x v H_Q(x_Q)=\sum_{u,v\in Q,u\neq v}\alpha_{uv}x_ux_v+\sum_{v\in Q}\beta_vx_v HQ(xQ)=∑u,v∈Q,u=vαuvxuxv+∑v∈Qβvxv
- α u v 和 β v \alpha_{uv}和\beta_v αuv和βv是参数,上式第一项考虑每一对结点的关系,第二项考虑单节点
14.3 条件随机场(CRF)
-
是一种判别式无向图模型(可看作给定观测值的MRF),条件随机场对多个变量给定相应观测值后的条件概率进行建模,若令 x = { x 1 , x 2 , . . . , x n } \bf{x}=\it{\{x_1,x_2,...,x_n\}} x={x1,x2,...,xn}为观测序列, y = { y 1 , y 2 , . . . , y n } \bf{y}=\it{\{y_1,y_2,...,y_n\}} y={y1,y2,...,yn}为对应的标记序列,CRF的目标是构建条件概率模型 P ( y ∣ x ) P\bf({y|x}) P(y∣x)
-
标记变y可以是结构型变量,它各个分量之间具有某种相关性。
- 自然语言处理的词性标注任务中,观测数据为语句(单词序列),标记为相应的词性序列,具有线性序列结构
- 在语法分析任务中,输出标记是语法树,具有树形结构
-
令G=<V,E>表示结点与标记变量y中元素——对应的无向图。无向图中
y v 表示与节点 v 对应的标记变量, n ( v ) 表示结点 v 的邻接结点 y_v表示与节点v对应的标记变量,n(v)表示结点v的邻接结点 yv表示与节点v对应的标记变量,n(v)表示结点v的邻接结点
若图中的每个结点都满足马尔可夫性,
KaTeX parse error: Undefined control sequence: \textbackslash at position 26: …m x},{\rm y}_{V\̲t̲e̲x̲t̲b̲a̲c̲k̲s̲l̲a̲s̲h̲\{v\}})= P(y_v|…
则(y,x)构成条件随机场。 -
CRF使用势函数和图结构上的团来定义P(ylx)
-
本章仅考虑链式条件随机场,如下所示:
-
包含两种关于标记变量的团:
-
相邻的标记变量 { y i − 1 , y i } \{y_{i-1},y_i\} {yi−1,yi}
-
单个标记变量 { y i } \{y_i\} {yi}
-
-
条件概率可被定义为:
P ( y ∣ x ) = 1 Z e x p ( ∑ j ∑ i = 1 n − 1 λ j t j ( y i + 1 , y i , x , i ) + ∑ k ∑ i = 1 n μ k s k ( y i , x , i ) ) P(\textnormal{y}|\textnormal{x})=\frac{1}{Z}exp\bigg(\sum_{j}\sum_{i=1}^{n-1}\lambda_jt_j(y_{i+1},y_i,\textnormal{x},i)+\sum_{k}\sum_{i=1}^{n}\mu_ks_k(y_i,\textnormal{x},i)\bigg)\\ P(y∣x)=Z1exp(j∑i=1∑n−1λjtj(yi+1,yi,x,i)+k∑i=1∑nμksk(yi,x,i))- t j ( y i + 1 , y i , x , i ) t_j(y_{i+1},y_i,\textnormal{x},i) tj(yi+1,yi,x,i)是定义在观测序列的两个相邻标记位置上的转移特征函数,用于刻画相邻标记变量之间的.相关关系以及观测序列对它们的影响
- s k ( y i , x , i ) s_k(y_i,\textnormal{x},i) sk(yi,x,i)是定义在观测序列的标记位置i上的状态特征函数,用于刻画观测序列对标记变量的影响
- λ j , μ k \lambda_j,\mu_k λj,μk为参数,Z为规范化因子
-
特征函数通常是实值函数,以刻画数据的一些很可能成立或者期望成立的经验特性,以词性标注任务为例:
-
采用特征函数:
t j ( y i + 1 , y i , x , i ) = { 1 , i f y i + 1 = [ P ] , y i = [ V ] , a n d x i = ′ ′ k n o c k ′ ′ 0 , o t h e r w i s e t_j(y_{i+1},y_i,\textnormal{x},i)= \begin{cases} 1, & if\,y_{i+1}=[P],y_i=[V],and\,\,x_i=''knock'' \\ 0, & otherwise \\ \end{cases} tj(yi+1,yi,x,i)={1,0,ifyi+1=[P],yi=[V],andxi=′′knock′′otherwise表示第 i 个观测值 x i 为单 词 ′ k n o c k ′ 时 , 相应的标记 y i , y i + 1 很可能分别为 [ V ] , [ P ] . 表示第i个观测值x_i为单词'knock'时,相应的标记y_i,y_{i+1}很可能分别为[V],[P]. 表示第i个观测值xi为单词′knock′时,相应的标记yi,yi+1很可能分别为[V],[P].
MRF | CRF |
---|---|
使用团上的势函数定义概率 | 使用团上的势函数定义概率 |
对联合概率建模 | 有观测变量,对条件概率建模 |
14.4 学习与推断
-
基于概率图模型定义的分布,能对目标变量的边际分布或某些可观测变量为条件的条件分布进行推断
-
对概率图模型,还需确定具体分布的参数,称为参数估计或学习问题,通常便用极大似似然估计或后验概率估计求解,但若将参数视为待推测的变量,则参数估计过程和推断十分相似,可以“吸收”到推断问题中
-
假设图模型所对应的变量集
x = { x 1 , x 2 , . . . , x n } \textnormal{x}=\{x_1,x_2,...,x_n\} x={x1,x2,...,xn}
能分为 X E \textnormal{X}_E XE和 X F \textnormal{X}_F XF两个不相交的变量集,推断问题的目标就是计算边际概率 p ( X E ) p(\textnormal{X}_E) p(XE)或者条件概率 p ( X F ∣ X E ) p(\textnormal{X}_F|\textnormal{X}_E) p(XF∣XE)。同时,由条件概率定义容易有
P ( X F ∣ X F ) = P ( X E , X F ) P ( X F ) = P ( X E , X F ) ∑ X F P ( X E , X F ) P(\textnormal{X}_F|\textnormal{X}_F)=\frac{P(\textnormal{X}_E ,\textnormal{X}_F)}{P(\textnormal{X}_F)}=\frac{P(\textnormal{X}_E,\textnormal{X}_F)}{\sum_{\textnormal{X}_F}P(\textnormal{X}_E,\textnormal{X}_F)} P(XF∣XF)=P(XF)P(XE,XF)=∑XFP(XE,XF)P(XE,XF)
-
其中,联合概率 P ( X F , X F ) P(\textnormal{X}_F,\textnormal{X}_F) P(XF,XF)可基于图模型获得,所以推断问题的关键就在于如何高效计算边际分布,即
P ( X F ) = ∑ X F P ( X F , X F ) P(\textnormal{X}_F)=\sum_{\textnormal{X}_F}P(\textnormal{X}_F,\textnormal{X}_F) P(XF)=XF∑P(XF,XF) -
概率图模型的推断方法可以分两类
- 精确推断方法(变量消去,信念传播)
- 计算出目标变量的边际分布或条件分布的精确值
- 一般情况下,该类方法的计算复杂度随极大团规模增长呈指数增长,适用范围有限
- 近似推断方法
- 在较低的时间复杂度下获得原问题的近似解
- 在实际问题中更常用
- 精确推断方法(变量消去,信念传播)
14.4.1 变量消去
- 精确推断实质是一种动态规划算法,利用图模型所描述的条件独立性来削减计算自标概率值所需的计算量
- 变量消去是最直观的精确推断方法,也是构建其它精确推断算法的基础
例如,计算边缘概率
P
(
x
5
)
P(x_5)
P(x5),其中
m
i
j
(
x
j
)
m_{ij}(x_j)
mij(xj)表示对
x
i
x_i
xi进行求和后得到的
x
j
x_j
xj的函数
P
(
x
5
)
=
∑
x
4
∑
x
3
∑
x
2
∑
x
1
p
(
x
1
,
x
2
,
x
3
,
x
4
,
x
5
)
=
∑
x
4
∑
x
3
∑
x
2
∑
x
1
p
(
x
1
)
p
(
x
2
∣
x
1
)
p
(
x
3
∣
x
2
)
p
(
x
4
∣
x
3
)
p
(
x
5
∣
x
3
)
=
∑
x
3
p
(
x
5
∣
x
3
)
∑
x
4
p
(
x
4
∣
x
3
)
∑
x
2
p
(
x
3
∣
x
2
)
∑
x
1
p
(
x
1
)
p
(
x
2
∣
x
1
)
=
∑
x
3
p
(
x
5
∣
x
3
)
∑
x
4
p
(
x
4
∣
x
3
)
∑
x
2
p
(
x
3
∣
x
2
)
m
12
(
x
2
)
=
∑
x
3
p
(
x
5
∣
x
3
)
∑
x
4
p
(
x
4
∣
x
3
)
m
23
(
x
3
)
=
∑
x
3
p
(
x
5
∣
x
3
)
m
43
(
x
3
)
m
23
(
x
3
)
=
m
35
(
x
5
)
P(x_5)=\sum_{x_4}\sum_{x_3}\sum_{x_2}\sum_{x_1}p(x_1,x_2,x_3,x_4,x_5)\\ =\sum_{x_4}\sum_{x_3}\sum_{x_2}\sum_{x_1}p(x_1)p(x_2|x_1)p(x_3|x_2)p(x_4|x_3)p(x_5|x_3)\\ =\sum_{x_3}p(x_5|x_3)\sum_{x_4}p(x_4|x_3)\sum_{x_2}p(x_3|x_2)\sum_{x_1}p(x_1)p(x_2|x_1)\\ =\sum_{x_3}p(x_5|x_3)\sum_{x_4}p(x_4|x_3)\sum_{x_2}p(x_3|x_2)m_{12}(x_2)\\ =\sum_{x_3}p(x_5|x_3)\sum_{x_4}p(x_4|x_3)m_{23}(x_3)\\ =\sum_{x_3}p(x_5|x_3)m_{43}(x_3)m_{23}(x_3)\\ =m_{35}(x_5)
P(x5)=x4∑x3∑x2∑x1∑p(x1,x2,x3,x4,x5)=x4∑x3∑x2∑x1∑p(x1)p(x2∣x1)p(x3∣x2)p(x4∣x3)p(x5∣x3)=x3∑p(x5∣x3)x4∑p(x4∣x3)x2∑p(x3∣x2)x1∑p(x1)p(x2∣x1)=x3∑p(x5∣x3)x4∑p(x4∣x3)x2∑p(x3∣x2)m12(x2)=x3∑p(x5∣x3)x4∑p(x4∣x3)m23(x3)=x3∑p(x5∣x3)m43(x3)m23(x3)=m35(x5)
上述方法对无向图模型同样适用。
变量消去法实际上是利用了乘法对加法的分配律,将对多个变量的积的求和问题转化为对部分变量交替进行求积和求和的问题。这种转化使得每次的求和和求积运算被限制在局部,仅和部分变量有关,从而简化了计算
但变量消去有一个明显缺点,就是会造成大量冗余的计算
p
(
x
5
)
=
∑
x
4
∑
x
3
∑
x
2
∑
x
1
p
(
x
1
)
p
(
x
2
∣
x
1
)
p
(
x
3
∣
x
2
)
p
(
x
4
∣
x
3
)
p
(
x
5
∣
x
3
)
p(x_5)=\sum_{x_4}\sum_{x_3}\sum_{x_2}\sum_{x_1}p(x_1)p(x_2|x_1)p(x_3|x_2)p(x_4|x_3)p(x_5|x_3)
p(x5)=x4∑x3∑x2∑x1∑p(x1)p(x2∣x1)p(x3∣x2)p(x4∣x3)p(x5∣x3)
p ( x 4 ) = ∑ x 5 ∑ x 3 ∑ x 2 ∑ x 1 p ( x 1 ) p ( x 2 ∣ x 1 ) p ( x 3 ∣ x 2 ) p ( x 5 ∣ x 3 ) p ( x 4 ∣ x 3 ) p(x_4)=\sum_{x_5}\sum_{x_3}\sum_{x_2}\sum_{x_1}p(x_1)p(x_2|x_1)p(x_3|x_2)p(x_5|x_3)p(x_4|x_3) p(x4)=x5∑x3∑x2∑x1∑p(x1)p(x2∣x1)p(x3∣x2)p(x5∣x3)p(x4∣x3)
14.4.2 信念传播
信念传播算法将变量消去法中的求和操作看作一个消息传递过程,较好地解决了求解多个边际分布时的重复计算问题.具体来说,变量消去法通过求和操作
KaTeX parse error: Undefined control sequence: \textbackslash at position 53: …prod_{k\in n(i)\̲t̲e̲x̲t̲b̲a̲c̲k̲s̲l̲a̲s̲h̲ ̲j}m_{ki}(x_i)
消去变量
x
i
x_i
xi,其中
n
(
i
)
n_{(i)}
n(i)表示结点
x
i
x_i
xi的邻接结点。在信念传播算法中,这个操作被看作从
x
i
x_i
xi向
x
j
x_j
xj传递了一个消息
m
i
j
(
x
j
)
m_{ij}(x_j)
mij(xj),此时变量消去过程就能描述为下图所示的消息传递过程。
不难发现,每次消息传递操作仅与变量 x i x_i xi及其邻接结点直接相关,换言之,消息传递相关的计算被限制在图的局部进行.
-
信念传播算法中,一个结点仅在接收到来自其它所有结点的消息后才能向另一个结点发送消息,且结点的边际分布正比于它所接收的消息的乘积:
p ( x i ) ∝ ∏ k ∈ n ( i ) m k i ( x i ) p(x_i)∝\prod_{k\in n(i)}m_{ki}(x_i) p(xi)∝k∈n(i)∏mki(xi) -
例:下图中,结点 x 3 x_3 x3要向 x 5 x_5 x5发送消息,必须事先收到来自结点 x 2 x_2 x2和 x 4 x_4 x4的消息,且传递到 x 5 x_5 x5的消息 m 35 ( x 5 ) m_{35}(x_5) m35(x5)恰为概率 p ( x 5 ) p(x_5) p(x5):
- 若图中没有环,则信念传播算法经过两个步骤即可完成所有消息传递,进而能计算所有变量上的边际分布:
- 指定一个根节点,从所有叶结点开始向根节点传递消息,直到根节点收到所有邻接结点的消息
- 从根结点开始向叶结点传递消息,直到所有叶结点均收到消息
14.5 近似推断
- 精确推断方法需要很大的计算开销,因此在显示应用中近似推断方法更为常用。
- 近似推断方法大致可以分为两类:
- 采样法:通过使用随机化方法完成近似,如MCMC采样
- 变分推断:使用确定性近似完成推断
14.5.1 MCMC采样
-
很多任务中,我们关心的并非概率分布本身,而是基于概率分布的期望,并且还能基于期望进一步作出决策。
-
若直接计算或逼近这个期望比推断概率分布(不计算边缘分布)更容易,则直接操作无疑蒋使推断问题更为高效
-
采样法基于这个思路,假定目标是计算函数 f ( x ) f(x) f(x)在概率密度函数 p ( x ) p(x) p(x)下的期望:
E p [ f ] = ∫ f ( x ) p ( x ) d x {\mathbb E}_p[f]=\int f(x)p(x)\,{\rm d}x Ep[f]=∫f(x)p(x)dx -
则可根据 p ( x ) p(x) p(x)抽取一组样本 { x 1 , x 2 , . . . , x N } \{x_1,x_2,...,x_N\} {x1,x2,...,xN},然后计算 f ( x ) f(x) f(x)在这些样本上的均值
f ^ = 1 N ∑ i = 1 N f ( x i ) \hat f=\frac{1}{N}\sum_{i=1}^Nf(x_i) f^=N1i=1∑Nf(xi)- 用于近似期望 E [ f ] \mathbb{E}[f] E[f],如果样本 { x 1 , x 2 , . . . , x N } \{x_1,x_2,...,x_N\} {x1,x2,...,xN}独立,基于大数定律这种通过大量取样的方法就获得较高的近似精度。问题的关键就变成了如何取样,即如何高效地从图模型所描述的概率分布中获取样
-
马尔可夫链蒙特卡罗是图模型中最常用的采样技术。
-
给定连续变量 x ∈ X x∈X x∈X的概率密度函数 p ( x ) p(x) p(x), x x x在区间 A A A中的概率为:
P ( A ) = ∫ A p ( x ) d x P(A)=\int_Ap(x)\,{\rm d}x P(A)=∫Ap(x)dx -
若有函数 f : X → R f:X→{\mathbb R} f:X→R,可计算 f ( x ) f(x) f(x)的期望:
p ( f ) = E p [ f ( X ) ] = ∫ x f ( x ) p ( x ) d x p(f)={\mathbb E}_p[f(X)]=\int_xf(x)p(x)\,{\rm d}x p(f)=Ep[f(X)]=∫xf(x)p(x)dx -
若 x x x为高维多原变量且服从一个复杂分布,积分操作会很困难。
-
MCMC先构造出服从 p p p分布的独立同分布随机变量 x 1 , x 2 , . . . , x N x_1,x_2,...,x_N x1,x2,...,xN,再得到无偏估计:
p ~ ( f ) = 1 N ∑ i = 1 N f ( x i ) \tilde p(f)=\frac{1}{N}\sum_{i=1}^Nf(x_i) p~(f)=N1i=1∑Nf(xi) -
如何在概率分布复杂的情况下产生独立同分布的样本?
-
MCMC算法的关键在于通过“构造平稳分布为p的马尔可夫链”来产生样本:当马尔可夫链运行足够长的时间(收敛到平稳状态),则产出的样本x近似服从p分布;并且通过多次重复运行、遍历马尔可夫链就可以取得多个服从该分布的独立同分布样本。
-
判定马尔可夫链的平稳态:
-
假定马尔可夫链 T T T的状态转移概率为 T ( x ′ ∣ x ) T(x'|x) T(x′∣x),t时刻状态的分布为 p ( x t ) p(x^t) p(xt),则若在某个时刻马尔可夫链满足平稳条件:
p ( x t ) T ( x t − 1 ∣ x t ) = p ( x t − 1 ) T ( x t ∣ x t − 1 ) p(x^t)T(x^{t-1}|x^t)=p(x^{t-1})T(x^t|x^{t-1}) p(xt)T(xt−1∣xt)=p(xt−1)T(xt∣xt−1) -
则 p ( x ) p(x) p(x)是该马尔可夫链的平稳分布,且马尔可夫链在满足该条件时已经收敛到平稳状态
-
-
MCMC方法先设法构造一条马尔可夫链,使其收敛至平稳分布恰为待估计参数的后验分布,然后通过该马尔可夫链产生样本,用这些样本进行估计
-
MCMC中如何构造马尔可夫链的转移概率至关重要,不同构造方法产生不同的MCMC算法。
-
Metropolis-Hastings(MH)算法是MCMC算法的代表之一。基于“拒绝采样”逼近平稳分布。
-
算法每次根据上一轮采样结果 x t − 1 x^{t-1} xt−1来采样获得候选状态样本 x ∗ x^* x∗,但这个样本会以一定概率被拒绝
-
若从状态 x t − 1 x^{t-1} xt−1到状态 x ∗ x^* x∗的转移概率为 Q ( x ∗ ∣ x t − 1 ) A ( x ∗ ∣ x t − 1 ) Q(x^*|x^{t-1})A(x^*|x^{t-1}) Q(x∗∣xt−1)A(x∗∣xt−1), x ∗ x^* x∗最终收敛到平稳状态,则:
p ( x t − 1 ) Q ( x ∗ ∣ x t − 1 ) A ( x ∗ ∣ x t − 1 ) = p ( x ∗ ) Q ( x t − 1 ∣ x ∗ ) A ( x t − 1 ∣ x ∗ ) p({\rm x}^{t-1})Q({\rm x}^*|{\rm x}^{t-1})A({\rm x}^*|{\rm x}^{t-1})=p({\rm x}^*)Q({\rm x}^{t-1}|{\rm x}^*)A({\rm x}^{t-1}|{\rm x}^*) p(xt−1)Q(x∗∣xt−1)A(x∗∣xt−1)=p(x∗)Q(xt−1∣x∗)A(xt−1∣x∗)
其中 Q ( x ∗ ∣ x t − 1 ) Q({\rm x}^*|{\rm x}^{t-1}) Q(x∗∣xt−1)为用户给定的先验概率, A ( x ∗ ∣ x t − 1 ) A({\rm x}^*|{\rm x}^{t-1}) A(x∗∣xt−1)为 x ∗ x^* x∗被接受的概率 -
为达到平稳状态,只需将接受率设置为
A ( x ∗ ∣ x t − 1 ) = min ( 1 , p ( x ∗ ) Q ( x t − 1 ∣ x ∗ ) p ( x t − 1 ) Q ( x ∗ ∣ x t − 1 ) ) A({\rm x}^*|{\rm x}^{t-1})=\min\bigg(1,\frac{p({\rm x}^*)Q({\rm x}^{t-1}|{\rm x}^*)}{p({\rm x}^{t-1})Q({\rm x}^*|{\rm x}^{t-1})}\bigg) A(x∗∣xt−1)=min(1,p(xt−1)Q(x∗∣xt−1)p(x∗)Q(xt−1∣x∗))
-
-
-
吉布斯采样被视为MH算法的特例,也使用马尔可夫链获取样本,平稳分布也是 p ( x ) p(x) p(x)
-
具体来说,假定 x = { x 1 , x 2 , . . . , x N } {\mathbb x}=\{x_1,x_2,...,x_N\} x={x1,x2,...,xN},目标分布为 p ( x ) p(x) p(x),在初始化 x x x的取值后,通过循环下列步骤来完成采样:
-
随机或以某个次序选取某变量 x i x_i xi
-
根据 x x x中除 x i x_i xi外的变量的现有取值,计算条件概率 p ( x i ∣ x i ˉ ) p(x_i|{\rm x_{\bar i}}) p(xi∣xiˉ),其中
x i ˉ = { x 1 , x 2 , . . . , x i − 1 , x i + 1 , . . . , x N } {\rm x_{\bar i}}=\{x_1,x_2,...,x_{i-1},x_{i+1},...,x_N\} xiˉ={x1,x2,...,xi−1,xi+1,...,xN} -
根据 p ( x i ∣ x i ) p(x_i|{\rm x_i}) p(xi∣xi)对变量 x i x_i xi采样,用采样值代替原值
-
14.5.2 变分推断
- 变分推断通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布
- 图模型盘式记法:
- 相互独立的、由相同机制生成的多个变量被放在一个方框(盘)内,并在方框中标出类似变量重复出现的个数N
- 方框可以嵌套
- 通常用阴影标注出已知的、能观察到的变量
-
图模型中,已知变量 = { x 1 , x 2 , . . . , x N } =\{x_1,x_2,...,x_N\} ={x1,x2,...,xN}, Θ \Theta Θ是 x {\rm x} x与z服从的分布参数。所有能观察到的变量 x {\rm x} x的联合分布概率密度函数是:
p ( x ∣ Θ ) = ∏ i = 1 N ∑ z p ( x i , z ∣ Θ ) p({\rm x}|\Theta)=\prod_{i=1}^N\sum_{{\rm z}}p(x_i,{\rm z}|\Theta) p(x∣Θ)=i=1∏Nz∑p(xi,z∣Θ) -
对应的对数似然:
ln p ( x ∣ Θ ) = ∑ i = 1 N ln { ∑ z p ( x i , z ∣ Θ ) } \ln p({\rm x}|\Theta)=\sum_{i=1}^N\ln\bigg\{\sum_{{\rm z}}p(x_i,{\rm z}|\Theta)\bigg\} lnp(x∣Θ)=i=1∑Nln{z∑p(xi,z∣Θ)} -
推断和学习任务主要是由观察变量 x {\rm x} x来估计隐变量z和分布参数 Θ \Theta Θ,即求解 p ( z ∣ x , Θ ) p({\rm z|x,\Theta}) p(z∣x,Θ)和 Θ \Theta Θ
-
可使用EM算法最大化对数似然
- E步:根据t时刻的参数 Θ t \Theta^t Θt对 p ( z │ x , Θ t ) p({\rm z│x,\Theta^t}) p(z│x,Θt)进行推断,并计算联合似然函数 p ( x │ z , Θ t ) p({\rm x│z,\Theta^t}) p(x│z,Θt)
- M步:基于E步结果进行最大化寻优,对关于变量 Θ \Theta Θ的函数 Q = ( Θ ; Θ t ) {\mathcal Q}=(\Theta;\Theta^t) Q=(Θ;Θt)进行最大化从而求取
Θ t + 1 = arg max Θ Q = ( Θ ; Θ t ) = arg max Θ ∑ z p ( z ∣ x , Θ t ) ln p ( x ∣ z , Θ t ) \Theta^{t+1}=\arg \max_{\Theta}{\mathcal Q}=(\Theta;\Theta^t)\\ =\arg \max_{\Theta}\sum_{{\rm z}}p({\rm z|x,\Theta^t})\ln p({\rm x|z,\Theta^t}) Θt+1=argΘmaxQ=(Θ;Θt)=argΘmaxz∑p(z∣x,Θt)lnp(x∣z,Θt)
对数联合似然函数 ln p ( x , z ∣ Θ ) \ln p({\rm x,z|\Theta}) lnp(x,z∣Θ)在分布 ln p ( z ∣ x , Θ t ) \ln p({\rm z|x,\Theta^t}) lnp(z∣x,Θt)下的期望,分布 ln p ( z ∣ x , Θ t ) \ln p({\rm z|x,\Theta^t}) lnp(z∣x,Θt)与z的真实后验分布相等, Q = ( Θ ; Θ t ) {\mathcal Q}=(\Theta;\Theta^t) Q=(Θ;Θt)近似于对数似然函数
-
ln p ( z ∣ x , Θ t ) \ln p({\rm z|x,\Theta^t}) lnp(z∣x,Θt)是隐变量z的近似分布,将这个近似分布用 q ( z ) q(z) q(z)表示
ln p ( X ) = L ( q ) + K L ( q ∣ ∣ p ) \ln p({\rm X})={\mathcal L}(q)+KL(q||p) lnp(X)=L(q)+KL(q∣∣p)-
构成下界
L ( q ) = ∫ q ( z ) ln { p ( x , z ) q ( z ) } d z {\mathcal L}(q)=\int q({\rm z})\ln\big\{\frac{p({\rm x,z})}{q({\rm z})}\big\}{\rm dz} L(q)=∫q(z)ln{q(z)p(x,z)}dz -
分布q和p的差异度量
K L ( q ∣ ∣ p ) = − ∫ q ( z ) ln { p ( z ) ∣ p ( x ) q ( z ) } d z KL(q||p)=-\int q({\rm z})\ln\big\{\frac{p({\rm z})|p({\rm x})}{q({\rm z})}\big\}{\rm dz} KL(q∣∣p)=−∫q(z)ln{q(z)p(z)∣p(x)}dz
-
-
现实任务中,E步的推断可能很复杂
- 借助变分推断,简化q的形式(增加假设)
-
假设z的分布
q ( z ) = ∏ i = 1 M q i ( z i ) q({\rm z})=\prod_{i=1}^Mq_i({\rm z}_i) q(z)=i=1∏Mqi(zi) -
假设复杂的多变量z可以拆解为一系列相互独立的多变量 z i z_i zi,同时令 q i q_i qi分布相对简单或有很好的结构(如为指数族分布):
L ( q ) = ∫ ∏ i q i { ln p ( x , z ) − ∑ i ln q i } d z = ∫ q j { ∫ ln p ( x , z ) ∏ i ≠ j q i d z i } d z j − ∫ q j ln q j d z j + c o n s t = ∫ q j ln p ~ ( x , z j ) d z j − ∫ q j ln q j d z j + c o n s t {\mathcal L}(q)=\int \prod_iq_i\bigg\{\ln p({\rm x,z})-\sum_i\ln q_i\bigg\}{\rm dz}\\ =\int q_j\bigg\{\int\ln p({\rm x,z})\prod_{i\neq j}q_i{\rm dz}_i\bigg\}{\rm dz}_j-\int q_j\ln q_j{\rm dz}_j+const\\ =\int q_j\ln\tilde p({\rm x,z}_j){\rm dz}_j-\int q_j\ln q_j{\rm dz}_j+const L(q)=∫i∏qi{lnp(x,z)−i∑lnqi}dz=∫qj{∫lnp(x,z)i=j∏qidzi}dzj−∫qjlnqjdzj+const=∫qjlnp~(x,zj)dzj−∫qjlnqjdzj+const
其中 ln p ~ ( x , z j ) = E i ≠ j [ ln p ( x , z ) ] + c o n s t \ln\tilde p({\rm x,z}_j)={\mathbb E}_{i\neq j}[\ln p({\rm x,z})]+const lnp~(x,zj)=Ei=j[lnp(x,z)]+const, E i ≠ j [ ln p ( x , z ) ] = ∫ ln p ( x , z ) ∏ i ≠ j q i d z i {\mathbb E}_{i\neq j}[\ln p({\rm x,z})]=\int \ln p({\rm x,z})\prod_{i\neq j}q_i{\rm dz}_i Ei=j[lnp(x,z)]=∫lnp(x,z)∏i=jqidzi
- 要得到 q i q_i qi,可固定 q i ≠ j q_{i\neq j} qi=j再对 L ( q ) {\mathcal L}(q) L(q)最大化,可发现上式等于 − K L ( q i ∣ ∣ p ~ ( x , z j ) ) -KL(q_i||\tilde p({\rm x,z}_j)) −KL(qi∣∣p~(x,zj)),当 q j = p ~ ( x , z j ) q_j=\tilde p({\rm x,z}_j) qj=p~(x,zj)时 L ( q ) {\mathcal L}(q) L(q)最大,可得最优近似:
ln q j ∗ ( z j ) = E i ≠ j [ ln p ( x , z ) ] + c o n s t q j ∗ ( z j ) = exp ( E i ≠ j [ ln p ( x , z ) ] ) ∫ exp ( E i ≠ j [ ln p ( x , z ) ] ) d z j \ln q_j^*({\rm z}_j)={\mathbb E}_{i\neq j}[\ln p({\rm x,z})]+const\\ q_j^*({\rm z}_j)=\frac{\exp({\mathbb E}_{i\neq j}[\ln p({\rm x,z})])}{\int \exp({\mathbb E}_{i\neq j}[\ln p({\rm x,z})]){\rm dz}_j} lnqj∗(zj)=Ei=j[lnp(x,z)]+constqj∗(zj)=∫exp(Ei=j[lnp(x,z)])dzjexp(Ei=j[lnp(x,z)])
- 因此,通过恰当分割变量子集 z j {\rm z}_j zj并选择 q i q_i qi服从的分布, E i ≠ j [ ln p ( x , z ) ] {\mathbb E}_{i\neq j}[\ln p({\rm x,z})] Ei=j[lnp(x,z)]往往有闭式解,使得上式能对隐变量高效推断
- 由于在对 z i z_i zi所服从的分布 q j ∗ q^*_j qj∗估计时融合了 z j {\rm z}_j zj之外的其它 z i ≠ j {\rm z}_{i\neq j} zi=j的信息,这是通过联合似然函数 ln p ( x , z ) \ln p({\rm x,z}) lnp(x,z)在 z j {\rm z}_j zj之外的隐变量分布上求期望得到的,因此亦称为“平均场”方法
- 在实际应用中,最重要的是考虑如何对隐变量进行拆解,以及假设各变量子集服从何种分布,在此基础之上结合EM算法对概率图模型进行推断和参数估计
14.6 话题模型
-
话题模型是一类生成式有向图模型,主要用来处理离散型的数据集合(如文本集合)。作为一种非监督产生式模型,话题模型能够有效利用海量数据发现文档集合中隐含的语义。隐狄里克雷分配模型(LDA)是话题模型的典型代表。
-
LDA的基本单元
- 词(word) :待处理数据中的基本离散单元
- 文档(document) :待处理的数据对象,由词组成,词在文档中不计顺序。数据对象只要能用“词袋”表示就可以使用话题模
- 话题(topic) :表示一个概念,具体表示为一系列相关的词,以及它们在该概念下出现的概率
-
话题模型是一类生成式有向图模型,主要用来处理离散型的数据集合(如文本集合)。作为一种非监督产生式模型,话题模型能够有效利用海量数据发现文档集合中隐含的语义。隐狄里克雷分配模型(LDA)是话题模型的典型代表。
-
话题模型的构成
- 一个话题就像一个箱子,里面装着这个概念下出现概率较高的词
- 假定数据集中一共包含K个话题和T篇文档,文档中的词来自一个包含N个词的字典
- 用T个N维向量 W = { w 1 , w 2 , . . . , w T } W =\{w_1,w_2,...,w_T\} W={w1,w2,...,wT}表示文档集合
- 用K个N维向量 β K β_K βK表示话题
- w t ∈ R N w_t∈{\mathbb R}^N wt∈RN的第n个分量 w t w_t wt,n表示文档t中词n的词频, β K ∈ R N \beta_K\in {\mathbb R}^N βK∈RN的第n个分量 β k , n \beta_{k,n} βk,n表示话题k中词n的词频
-
现实任务中通过统计文档中出现的词来获得词频向量 w i w_i wi
-
LDA从生成式模型的角度看待文档和话题,认为每篇文档包含多个话题
- 用 Θ t ∈ R K \Theta_t\in {\mathbb R}^K Θt∈RK表示文档t中所包含的每个话题的比例, Θ t , k \Theta_{t,k} Θt,k表示文档t中包含话题k的比例
-
生成文档t
- 从以 α α α为参数的狄利克雷分布中随机采样一个话题分布 Θ t \Theta_{t} Θt ;
- 按如下步骤产生文档中的N个词
- 根据 Θ t \Theta_{t} Θt进行话题指派,得到文档t中词n的话题 z t , n z_{t,n} zt,n;
- 根据指派的话题所对应的的词分布 β k \beta_k βk随机采样生成词
-
生成的文档以不同比例包含多个话题,文档中的每个词来自于一个话题,这个话题是粮据话题比例产生的
-
词频 w t , n w_{t,n} wt,n是唯一已观测变量,依赖于话题指派 z t , n z_{t,n} zt,n及话题对应词频 β k \beta_k βk,话题指派 z t , n z_{t,n} zt,n依赖于话题分布 Θ t \Theta_{t} Θt, Θ t \Theta_{t} Θt依赖于 α \alpha α,话题词频依赖于参数 η \eta η
p ( W , z , β , Θ ∣ α ) = ∏ t = 1 T p ( Θ t ∣ α ) ∏ i = 1 K p ( β k ∣ η ) ( ∏ n = 1 N P ( w t , n ∣ z t , n , β k ) P ( z t , n ∣ Θ t ) ) p({\rm W,z,\beta,\Theta|\alpha})=\prod_{t=1}^Tp(\Theta_t|\alpha)\prod_{i=1}^Kp(\beta_k|\eta)\bigg(\prod_{n=1}^NP(w_{t,n}|z_{t,n},\beta_k)P(z_{t,n}|\Theta_t)\bigg) p(W,z,β,Θ∣α)=t=1∏Tp(Θt∣α)i=1∏Kp(βk∣η)(n=1∏NP(wt,n∣zt,n,βk)P(zt,n∣Θt))
其中 p ( Θ t ∣ α ) p(\Theta_t|\alpha) p(Θt∣α)和 p ( β k ∣ η ) p(\beta_k|\eta) p(βk∣η)通常分别设置为以 α \alpha α和 η \eta η为参数的K维和N维狄利克雷分布 -
模型参数估计
- 给定训练数据
W
=
{
w
1
,
w
2
,
.
.
.
,
w
T
}
W=\{w_1, w_2,...,w_T\}
W={w1,w2,...,wT},参数通过极大似然法估计,寻找
α
α
α和
η
\eta
η以最大化对数似然(通常采用变分法求取近似解)
L L ( α , η ) = ∑ t = 1 T ln p ( w t ∣ α , η ) LL({\bf \alpha,\eta})=\sum_{t=1}^T\ln p(w_t|\alpha,\eta) LL(α,η)=t=1∑Tlnp(wt∣α,η)
- 给定训练数据
W
=
{
w
1
,
w
2
,
.
.
.
,
w
T
}
W=\{w_1, w_2,...,w_T\}
W={w1,w2,...,wT},参数通过极大似然法估计,寻找
α
α
α和
η
\eta
η以最大化对数似然(通常采用变分法求取近似解)
-
模型推断
- 模型已知,参数
α
α
α和n已确定,根据词频来推断文档话题结构(推断
Θ
t
\Theta_t
Θt,
β
k
\beta_k
βk,
z
t
,
n
z_{t,n}
zt,n)可通过求解(分母常采用吉布斯采样或变分法进行推断)
p ( z , β , Θ ∣ W , α , η ) = p ( W , z , β , Θ ∣ α , η ) p ( W ∣ α , η ) p({\rm z,\beta,\Theta|W,\alpha,\eta})=\frac{p({\rm W,z,\beta,\Theta|\alpha,\eta})}{p(W|\alpha,\eta)} p(z,β,Θ∣W,α,η)=p(W∣α,η)p(W,z,β,Θ∣α,η)
- 模型已知,参数
α
α
α和n已确定,根据词频来推断文档话题结构(推断
Θ
t
\Theta_t
Θt,
β
k
\beta_k
βk,
z
t
,
n
z_{t,n}
zt,n)可通过求解(分母常采用吉布斯采样或变分法进行推断)