概率图模型(probabilistic graphical models)在概率模型的基础上,使用了基于图的方法来表示概率分布(或者概率密度、密度函数),是一种通用化的不确定性知识表示和处理方法。
根据图模型的边是否有向,概率图模型通常被划分成有向概率图模型和无向概率图模型。可将图模型粗略的表示为:
两者本质区别在于:生成式模型(产生式模型)假设y决定x,判别式模型(区分式模型)假设x决定y。
贝叶斯网络又称为信度网络或信念网络,是一种基于概率推理的数学模型,其理论基础是贝叶斯公式。
贝叶斯网络就是一个有向无环图(DAG),结点表示随机变量,可以是客观测量、隐含变量、未知参量或假设等;结点之间的有向边表示条件依存关系,箭头指向的结点依存于箭头发出的结点(父节点)。两个结点没有链接关系表示两个随机变量能够在某些特定情况下条件独立,而两个结点有连接关系表示两个随机变量在任何条件下都不存在条件独立。条件独立是贝叶斯网络所依赖的一个核心概念。 每个节点都与一个概率函数相关,概率函数的输入是该节点的父节点所表示的随机变量的一组特定值,输出为当前节点表示的随机变量的概率值。概率函数值的大小实际上表达的是节点之间依存关系的强度。
【例】 如果一篇文章是关于南海岛屿的新闻(将这一事件记作“News”),文章可能包含介绍南海岛屿历史的内容(这一事件记作“History”),但一般不会有太多介绍旅游风光的内容(将事件“有介绍旅游风光的内容”记作“Sightseeing”)。我们可以构造一个简单的贝叶斯网络(其中“T”表示有,是,包含;“F”表示没有,不是,不包含)。
则三个事件的联合概率函数为:
P ( H , S , N ) = P ( H ∣ S , N ) × P ( S ∣ N ) × P ( N ) P(H,S,N) =P(H|S,N)\times P(S|N)\times P(N) P(H,S,N)=P(H∣S,N)×P(S∣N)×P(N)
这个模型可以回答如下类似的问题:如果一篇文章中含有南海岛屿历史相关的内容,该文章是关于南海新闻的可能性有多大?
构造贝叶斯网络是一项复杂的任务,设计表示、推断和学习三个方面的问题:
随机过程又称随机函数,是随时间而随机变化的过程。马尔科夫模型描述了一类重要的随机过程。我们常常需要考察一个随机变量序列,这些随机变量并不是相互独立的,每个随机变量的值依赖于这个序列前面的状态。
如果一个系统有 N N N个有限状态 S = { s 1 , s 2 , ⋯   , s N } S=\{s_1,s_2,\cdots,s_N\} S={s1,s2,⋯,sN},那么随着时间的推移,该系统将从某一状态转移到另一个状态。 Q = ( q 1 , q 2 , ⋯   , q T ) Q=(q_1,q_2,\cdots,q_T) Q=(q1,q2,⋯,qT)为一个随机变量序列,随机变量的取值为状态集 S S S中的某个状态,假定在时间 t t t的状态记为 q t q_t qt。对该系统的描述通常需要给出当前时刻 t t t的状态和其前面所有状态的关系:系统在时间 t t t处于状态 s j s_j sj的概率取决于其在时间 1 , 2 , ⋯   , t − 1 1,2,\cdots,t-1 1,2,⋯,t−1的状态,该概率为
P ( q t = s j ∣ q t − 1 = s i , q t − 2 = s k , ⋯   ) P(q_t=s_j|q_{t-1}=s_i,q_{t-2}=s_k,\cdots) P(qt=sj∣qt−1=si,qt−2=sk,⋯)
如果在特定条件下,系统在时间 t t t的状态只与其在时间 t − 1 t-1 t−1的状态相关,即
P ( q t = s j ∣ q t − 1 = s i , q t − 2 = s k , ⋯   ) = P ( q t = s j ∣ q t − 1 = s i ) P(q_t=s_j|q_{t-1}=s_i,q_{t-2}=s_k,\cdots)=P(q_t=s_j|q_{t-1}=s_i) P(qt=sj∣qt−1=si,qt−2=sk,⋯)=P(qt=sj∣qt−1=si)
则该系统构成一个离散的一阶马尔科夫链。
进一步,如果只考虑独立于时间 t t t的随机过程:
P ( q t = s j ∣ q t − 1 = s i ) = a i j , 1 ≤ i , j ≤ N P(q_t=s_j|q_{t-1}=s_i)=a_{ij},1\leq i,j\leq N P(qt=sj∣qt−1=si)=aij,1≤i,j≤N
该随机过程为马尔科夫模型。其中,状态转移概率 a i j a_{ij} aij必须满足一下条件:
a i j ≥ 0 , ∑ j = 1 N a i j = 1 a_{ij}\geq 0, \sum_{j=1}^Na_{ij}=1 aij≥0,j=1∑Naij=1
显然,有 N N N个状态的一阶马尔科夫过程有 N 2 N^2 N2次状态转移,其 N 2 N^2 N2个状态转移概率可以表示成一个状态转移矩阵。例如,一段文字中名词、动词、形容词三类词性出现的情况可由三个状态的马尔科夫模型描述:
状态 s 1 s_1 s1:名词
状态 s 2 s_2 s2:动词
状态 s 3 s_3 s3:形容词
假设状态之间的转移矩阵如下:
则 O = O= O=“名动形名”的概率为
马尔科夫模型又可视为随机的有限状态机。如图所示:
一个马尔科夫链的状态序列的概率可以通过计算形成该状态序列的所有状态之间转移弧上的概率乘积而得出,即
根据图中转移概率,我们可以得出:
显然,n元语法模型,当 n = 2 n=2 n=2时,实际上就是一个马尔科夫模型。但是当 n ≥ 3 n\geq 3 n≥3时,就不是一个马尔科夫模型,因为它不符合马尔科夫模型的基本约束。不过 n ≥ 3 n\geq 3 n≥3的n元语法模型确定数量的历史来说,可以通过将状态空间描述成多重前面状态的交叉乘积的方式,将其转换成马尔科夫模型。在这种情况下,将其称为m阶马尔科夫模型,这里的m是用于预测下一个状态的前面状态的个数,那么,n元语法模型就是 n − 1 n-1 n−1阶马尔科夫模型。
本文只是简单介绍了概率图模型中简单的贝叶斯网络和马尔科夫模型,作为学习概率图的基础。后面将持续介绍概率图后面进阶内容:隐马尔可夫模型,层次化的隐马尔可夫模型,马尔科夫网络,最大熵模型,最大熵马尔科夫模型,条件随机场等内容。