#|[机器学习入门]——第六课-Markov链


文章目录

  • 第六课-Markov链
    • 一、贝叶斯网
      • 半朴素贝叶斯
        • 朴素贝叶斯
        • 半朴素贝叶斯
      • 贝叶斯网
        • 变量之间的典型依赖关系
          • 独立与条件独立
    • 二、贝叶斯网到Markov模型
    • 三、Markov链
      • Markov模型
      • 一步转移
      • n步转移
      • m+n步转移矩阵
      • 转移图
      • Markov链基本问题
        • 举例:瓶子倒水
        • 举例:射击问题
      • 稳定状态和平稳分布
      • 典型应用:PageRank
        • 结论
      • 总结

第六课-Markov链 一、贝叶斯网 半朴素贝叶斯
朴素贝叶斯 为了降低贝叶斯公式估计后验概率的困难,使用了属性条件独立性假设
P ( x 1 , x 2 , . . . , x p ∣ c j ) = ∏ i = 1 p P ( x i ∣ c j ) P(x_1,x_2,...,x_p|c_j)=\prod_{i=1}^pP(x_i|c_j) P(x1?,x2?,...,xp?∣cj?)=i=1∏p?P(xi?∣cj?)
但是这一假设对于很多现实任务无法成立,例如时序数据:语音信号、基因芯片等
半朴素贝叶斯 适当考虑一部分属性间的相互依赖信息,从而既不需要进行完全联合概率计算,又不至于彻底忽略比较强的属性依赖关系
贝叶斯网
借助有向无环图来刻画属性之间的依赖关系,并使用条件概率表来描述属性的联合分布
#|[机器学习入门]——第六课-Markov链
文章图片

一个贝叶斯网B由结构G和参数两部分构成
网络结构G是一个有向无环图,每个节点对应于一个属性;若两个属性有直接依赖关系,则由一条边连接(定性)
参数通过条件概率表定量描述依赖关系(定量)
根据概率的链式法则,属性的联合概率可以分解成
P ( X 1 , X 2 , . . . , X n ) = P ( X 1 ) P ( X 2 ∣ X 1 ) . . . P ( X n ? 1 ∣ X n ? 2 , . . . X 1 ) P ( X n ∣ X n ? 1 , . . . , X 1 ) P(X_1,X_2,...,X_n)=P(X_1)P(X_2|X_1)...P(X_{n-1}|X_{n-2,...X_1})P(X_n|X_{n-1},...,X_1) P(X1?,X2?,...,Xn?)=P(X1?)P(X2?∣X1?)...P(Xn?1?∣Xn?2,...X1??)P(Xn?∣Xn?1?,...,X1?)
但是贝叶斯网假设每个属性与它的非后裔属性独立,于是在上例中
P ( x 1 , x 2 , x 3 , x 4 , x 5 ) = P ( x 1 ) P ( x 2 ) P ( x 3 ∣ x 1 ) P ( x 4 ∣ x 1 , x 2 ) P ( x 5 ∣ x 2 ) P(x_1,x_2,x_3,x_4,x_5)=P(x_1)P(x_2)P(x_3|x_1)P(x_4|x_1,x_2)P(x_5|x_2) P(x1?,x2?,x3?,x4?,x5?)=P(x1?)P(x2?)P(x3?∣x1?)P(x4?∣x1?,x2?)P(x5?∣x2?)
利用条件独立性,有效降低了参数的估计数目
变量之间的典型依赖关系 在贝叶斯网中,三个变量之间的典型依赖关系如图所示:
#|[机器学习入门]——第六课-Markov链
文章图片

1??同父结构中,给定的值,和条件独立;
#|[机器学习入门]——第六课-Markov链
文章图片

2??顺序结构中,给定,则和条件独立——重点
y只受x影响,z不影响它
P ( y , x , z ) = P ( x , z ) P ( y ∣ x , z ) = P ( x , z ) P ( y ∣ x ) = P ( x ) P ( z ∣ x ) P ( y ∣ x ) P ( y , z ∣ x ) = P ( y ∣ x ) P ( z ∣ x ) P(y,x,z)=P(x,z)P(y|x,z)=P(x,z)P(y|x)=P(x)P(z|x)P(y|x)\\ P(y,z|x)=P(y|x)P(z|x) P(y,x,z)=P(x,z)P(y∣x,z)=P(x,z)P(y∣x)=P(x)P(z∣x)P(y∣x)P(y,z∣x)=P(y∣x)P(z∣x)
3??v型结构中,给定4,1和2必然不条件独立
P ( x 4 , x 1 , x 2 ) = P ( x 4 ∣ x 1 , x 2 ) P ( x 1 ) P ( x 2 ) P(x_4,x_1,x_2)=P(x_4|x_1,x_2)P(x_1)P(x_2) P(x4?,x1?,x2?)=P(x4?∣x1?,x2?)P(x1?)P(x2?)
独立与条件独立 #|[机器学习入门]——第六课-Markov链
文章图片

二、贝叶斯网到Markov模型 在贝叶斯网中,如果变量满足拓扑次序,而且任意相连的三个变量之间都是顺序结构,则就得到了一阶的Markov模型
对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边∈E(G),则u在线性序列中出现在v之前。
#|[机器学习入门]——第六课-Markov链
文章图片

图中的x1出现在x2之前,x2出现在x3之前
一阶马尔可夫模型隐含的意思是“给定当前的值,未来是独立于过去的”,对应的联合分布可以写成
#|[机器学习入门]——第六课-Markov链
文章图片

估计的参数量: d + ( T ? 1 ) d 2 d+(T-1)d^2 d+(T?1)d2
三、Markov链 Markov模型
在一阶Markov模型中,假设转移概率 P ( X t ∣ X t ? 1 ) P(X_t|X_{t-1}) P(Xt?∣Xt?1?)不依赖于时间,则称为齐次马尔科夫链HMC(HomogeneousMarkovChain),即齐次性。
不依赖于时间指的是P(x2|x1)和P(x3|x2)…P(xt|xt-1)的转移概率相同,不依赖于下标
此外,主要关注有限状态的齐次马尔可夫链,即假设每个变量的取值(状态)是离散的,都有种可能的取值
X t ∈ { 1 , 2 , . . . , K } X_t\in \{1,2,...,K\} Xt?∈{1,2,...,K}
有限HMC由以下三个要素决定
1??状态空间
2??初始状态分布 P ( X 1 ) : π i = P ( X 1 = i ) , i = 1 , . . . , K P(X_1):\pi_i=P(X_1=i),i=1,...,K P(X1?):πi?=P(X1?=i),i=1,...,K
3??状态转移矩阵A
状态转移矩阵A:有限状态的HMC的状态转移概率 A i j A_{ij} Aij?定义如下
A i j = P ( X t = j ∣ X t ? 1 = i ) A_{ij}=P(X_t=j|X_{t-1}=i) Aij?=P(Xt?=j∣Xt?1?=i)
所有的条件转移概率构成了一个大小为×的转移矩阵 A = ( A i j ) K × K A=(A_{ij})_{K\times K} A=(Aij?)K×K?。A的每一行的和都等于1,因此称A为随机矩阵(stochasticmatrix)
一步转移
A i j = P ( X t = j ∣ X t ? 1 = i ) A_{ij}=P(X_t=j|X_{t-1}=i) Aij?=P(Xt?=j∣Xt?1?=i)指定了从状态i到状态j的一步转移概率
给定时刻的状态分布向量 v t = ( P ( X t = 1 ) , . . . , P ( X t = K ) ) v_t=(P(X_t=1),...,P(X_t=K)) vt?=(P(Xt?=1),...,P(Xt?=K)),则
v t + 1 ( j ) = P ( X t + 1 = j ) = ∑ i = 1 K P ( X t = i ) P ( X t + 1 = j ∣ X t = i ) = ∑ i = 1 K v t ( i ) A i j = v t ( A : , j ) v_{t+1}(j)=P(X_{t+1}=j)=\sum_{i=1}^KP(X_t=i)P(X_{t+1}=j|X_t=i)=\sum_{i=1}^Kv_t(i)A_{ij}=v_t(A:,j) vt+1?(j)=P(Xt+1?=j)=i=1∑K?P(Xt?=i)P(Xt+1?=j∣Xt?=i)=i=1∑K?vt?(i)Aij?=vt?(A:,j)
写成矩阵形式为: v t + 1 = v t A v_{t+1}=v_tA vt+1?=vt?A
n步转移
A i j = P ( X t = j ∣ X t ? 1 = i ) A_{ij}=P(X_t=j|X_{t-1}=i) Aij?=P(Xt?=j∣Xt?1?=i)指定了从状态i到状态j的一步转移概率,那么一般的,对于n步转移矩阵A(n),其被定义为
#|[机器学习入门]——第六课-Markov链
文章图片
由一步转移矩阵形式 v t + 1 = v t A v_{t+1}=v_tA vt+1?=vt?A,递归得到 v t + n = v t A n v_{t+n}=v_tA^n vt+n?=vt?An
因此,得到n步转移矩阵 A ( n ) = A n A(n)=A^n A(n)=An
只要A是随机矩阵,那么 A n A^n An也是随机矩阵,每一行的值的和为1
m+n步转移矩阵
一步转移矩阵:;步转移矩阵: A ( n ) = A n A(n)=A^n A(n)=An
基于此,得到+步转移矩阵:A(+)=A()A()
从状态到状态的+步转移(条件)概率等于先从状态到状态的步转移概率,然后乘以从状态到状态的步转移概率,最后在关于求和:
#|[机器学习入门]——第六课-Markov链
文章图片
上述等式是Chapman-Kolmogorov(查普曼-科莫高洛夫,CK)方程在有限状态离散时间序列上的应用形式
转移图
马尔可夫链的演变可以按图(graph)结构,表示为转移图(transitiongraph),图中的每个节点表示状态可能的取值,每条边都被赋予一个转移概率。因此还可以使用转移图描述状态转移矩阵
#|[机器学习入门]——第六课-Markov链
文章图片

?思考:在贝叶斯网中假设无环,而这里却出现了环?
这里的环图描述的是状态之间的转移,而贝叶斯网描述的是变量之间的转移
Markov链基本问题
给定HMC由以下三个要素决定
1??状态空间
2??初始状态分布 P ( X 1 ) : π i = P ( X 1 = i ) , i = 1 , . . . , K P(X_1):\pi_i=P(X_1=i),i=1,...,K P(X1?):πi?=P(X1?=i),i=1,...,K
3??状态转移矩阵A
其基本问题1是计算一个特定状态序列的发生概率:
#|[机器学习入门]——第六课-Markov链
文章图片

该基本问题表明Markov链是一个生成模型(generativemodel),它描述了一个数据序列是如何被生成的。进一步说,它是一个具有一阶记忆的随机过程,因为转移概率仅仅依赖于前一个状态。
举例:瓶子倒水
在一轮内完成:
①将甲瓶子的水倒出一半到乙瓶
②然后将乙瓶子的水倒出一半到甲瓶
假设甲瓶和乙瓶一开始分别有a升和b升水
若a=3/5,b=2/5,
则一轮、二轮和三轮后的水量分布分别是多少?
#|[机器学习入门]——第六课-Markov链
文章图片
#|[机器学习入门]——第六课-Markov链
文章图片

举例:射击问题 某射击选手,当他射中,则下次也中靶的概率为0.8;当他脱靶,则下次中靶的概率为0.5。若第一次没中,问他第4次射击射中的概率为多少?
【#|[机器学习入门]——第六课-Markov链】#|[机器学习入门]——第六课-Markov链
文章图片

答:
此问题可用马尔可夫链解决
1?? 定义状态空间
设射中为状态1,未射中为状态2,状态向量 v = [ v 1 , v 2 ] v=[v_1,v_2] v=[v1?,v2?]表示处于这两种状态的概率
2?? 初始状态分布
初始状态为未射中,即初始状态为
π = [ 0 1 ] \pi=\begin{bmatrix} 0&1\\ \end{bmatrix} π=[0?1?]
3?? 状态转移矩阵A
由状态转移图可得到状态转移矩阵如下:
A = [ 0.8 0.2 0.5 0.5 ] A=\begin{bmatrix} 0.8&0.2\\ 0.5&0.5 \end{bmatrix} A=[0.80.5?0.20.5?]
4?? 求解问题
第四次射击时的状态向量为
v 3 = π A 3 = [ 0.695 0.305 ] v_3=\pi A^3= \begin{bmatrix} 0.695& 0.305\\ \end{bmatrix} v3?=πA3=[0.695?0.305?]
第4次射击射中的概率为0.695
稳定状态和平稳分布
平稳分布:对于一个Markov链,给定初始状态分布 v 1 = π = ( P ( X 1 = 1 ) , . . . , P ( X 1 = K ) ) v_1=\pi=(P(X_1=1),...,P(X_1=K)) v1?=π=(P(X1?=1),...,P(X1?=K)),利用状态转移公式 v t + 1 = v t A v_{t+1}=v_tA vt+1?=vt?A,经过一定次数的迭代之后,若能达到 v ^ = v ^ A \hat v=\hat{v}A v^=v^A则称Markov链达到了平稳分布。
一旦进入平稳分布,在之后的任意时刻的概率分布 永远为 v ^ \hat v v^,马尔可夫链处于稳定状态.稳定状态: v ^ \hat v v^经过A转移后仍然是 v ^ \hat v v^
平稳分布的计算
v ^ = v ^ A ? A T p = p p = v ^ T \hat v = \hat v A\Rightarrow A^Tp=p\qquad p=\hat v^T v^=v^A?ATp=pp=v^T
p是AT的特征为1的特征向量,为列向量,其中 v ^ \hat v v^要做归一化操作
对于之前的倒水问题:
#|[机器学习入门]——第六课-Markov链
文章图片

典型应用:PageRank
Markov链被应用于如下问题中
1、句子补全:给定当前单词,可以预测最有可能出现的下一个单词
2、网页排序:在给定的N个网页中,都包含“机器学习”。可以根据网页之间的链接(转移概率)对这些网页进行排序
GooglePageRank算法:佩奇排名本质上是一种以网页之间的超链接个数和质量作为主要因素粗略地分析网页的重要性的算法。
对于某个互联网网页A来说,该网页PageRank的计算基于以下两个基本假设:
数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。
质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。
PageRank基于指向网页的链接数量以及输出网页的链接数量定义网页的重要性。
若网页到网页有边,则令 L i j = 1 L_{ij}=1 Lij?=1,否则 L i j = 0 L_{ij}=0 Lij?=0。因此,的输出链接为
c j = ∑ i = 1 N L i j c_j = \sum^N_{i=1}L_{ij} cj?=i=1∑N?Lij?
对于某个网页而言,指向网页的链接数量越多,网页的重要性越大。对于某个网页,其输出链接数量越多,对网页的重要性贡献越小。
网页的重要性 p i p_i pi?通过如下递归等式定义:
p i = ( 1 ? d ) + d ∑ j = 1 N ( L i j c j ) p j p_i=(1-d)+d\sum_{j=1}^N(\frac{L_{ij}}{c_j})p_j pi?=(1?d)+dj=1∑N?(cj?Lij??)pj?
其中, 0是一常数, 的典型取值区间 [0.85 0.95]。 确保了每个网页的重要性分数至少为1-d, 1 / c j 1/c_j 1/cj?表示一个网站的权重,如果网站j向外有7个连接,那么他对每一个网站的重要性为1/7。
将上述方程写成矩阵表达形式
p = ( 1 ? d ) e + d ? L D c ? 1 p 其 中 , D c ? 1 = diag ( 1 / c 1 , . . . , 1 / c N ) , e = ( 1 , . . . , 1 ) T \pmb p=(1-d)\pmb e+d\cdot \pmb L\pmb D_c^{-1}\pmb p\\ 其中,\pmb D_c^{-1}=\text{diag}(1/c_1,...,1/c_N),\quad\pmb e=(1,...,1)^T p?p??p=(1?d)eee+d?LLLDDDc?1?p?p??p其中,DDDc?1?=diag(1/c1?,...,1/cN?),eee=(1,...,1)T
若假设N个网页的平均重要性为1,即 e T p = N e^Tp=N eTp=N。则
p = [ ( 1 ? d ) e e T / N + d ? L D c ? 1 ] p = B p B 是 一 个 列 随 机 矩 阵 , B = ( 1 ? d ) e e T / N + d ? L D c ? 1 \pmb p=[(1-d)\pmb {ee}^T/N+d\cdot \pmb L\pmb D_c^{-1}]\pmb p=\pmb{Bp}\\ \pmb B是一个列随机矩阵,\pmb B=(1-d)\pmb {ee}^T/N+d\cdot \pmb L\pmb D_c^{-1} p?p??p=[(1?d)eeeeeeT/N+d?LLLDDDc?1?]p?p??p=Bp?Bp??BpBBB是一个列随机矩阵,BBB=(1?d)eeeeeeT/N+d?LLLDDDc?1?
#|[机器学习入门]——第六课-Markov链
文章图片

其中 d L D c ? 1 d\pmb L\pmb D_c^{-1} dLLLDDDc?1?的每列之和为d
结论 这说明给定:网页之间的链接关系和一个初始 p 1 \pmb p_1 p?p??p1?
可以通过#|[机器学习入门]——第六课-Markov链
文章图片

进行迭代
N个网页的平均重要性为1,即 e T p = N e^Tp=N eTp=N,第二个公式就是使其强制满足这个条件
平稳分布就是网页的重要性结果
总结
1?? 马尔可夫链收敛到平稳分布的速度可能很慢。
2?? 马尔可夫链的性质是当前状态只与前一步状态相关,这在某些领域的应用中是一个缺点
如在自然语言处理中序列标注问题不仅和单个词相关,而且与观察序列的长度、单词的上下文等都相关。
一些其他基于马尔可夫链的模型对这些性质有进行改进,如最大熵隐马尔可夫模型(MEMM)可以整个观察序列。

    推荐阅读