1.引言
在很多问题之中,我们关心的特征和事件具有一定的概率依赖关系,这种依赖关系是具有因果性的,我们可以用条件概率去刻画,并使用贝叶斯网络去描述模型,马尔可夫模型和隐马尔科夫模型都可看作贝叶斯网络的特殊形式。
2.贝叶斯网络
2.1基本概念
贝叶斯网络是一种用有向无环图来表示随机变量间的相互依赖关系,它提供了一种表示联合概率分布的方法,在机器学习和概率推断有着重要应用。
2.2基本原理
概率推断问题可以抽象为在一个联合概率分布模型中,已知部分随机变量的取值,去求未知变量
。
这里我们引入两个定理。
2.2.1随机变量的条件独立性
对于随机变量X,Y,Z,如果其满足
我们称之为X和Y关于Z条件独立。
根据条件独立,我们可计算
2.2.2链式法则
对于高维的随机分布,我们可以写成如下形式:
2.2.3马尔可夫链
对于一个随时间变化的随机变量X,表示t时刻X的状态,如果随机变量X下一刻的状态与过去无关,即
和
关于
条件独立,这样的随机变量满足一阶马尔可夫假设,联合概率有如下形式:
这种随机过程我们称之为马尔可夫链。
2.2.4图表示
在一个贝叶斯网络中,节点表示随机变量,有向边表示随机变量之间的相互依赖关系,我们用箭头连接节点,箭头出发的点称为父节点,箭头指向的点称为子节点,边上权值用p(子节点|父节点)描述,联合分布有:
其中是
父节点的集合。
3.隐马尔科夫模型(HMM)
3.1基本概念
在一个系统中,它的状态取值服从马尔科夫链,但是它状态的变化我们无法直接观察到,能够观察到数据是一定概率由不可观测的系统内部状态(隐变量)决定的。任何HMM模型我们都可以用起始概率,发射概率和跳转概率来描述,跳转概率是隐节点之间的边,发射概率是隐节点与可观测节点之间的边。如下面的例子:
在给定观测序列O和隐状态序列X的情况下,联合概率为:
其中是起始概率,e是发射概率,a是转移概率。
3.2HMM评估问题
给定观测序列O和模型M(模型结构和参数给定),计算,即计算该序列来自该模型的似然度。如何计算
呢,一种想法是穷尽模型M下各种可能的观测序列产生O的概率,但是这样时间复杂度为
,当序列过长,时间复杂度太大,不利于计算。这里介绍两种基于动态规划的算法。
3.2.1向前算法
step1:定义初值
step2:对t迭代求解
step3:终止结果
如下图所示:
3.2.2向后算法
我们 引入后向概率:
它表示在t时刻当隐状态时,观察到后续观察值为
的概率。
step1:定义初值
step2:对t迭代求解
step3:终止结果
如下图所示:
3.3HMM隐状态推断问题(解码问题)
在一些情况下,我们希望能够根据模型参数与观测序列推断最有可能的隐状态序列。
3.3.1维特比算法
最优路径的特性:如果A到B中最优路径包含C,那么A到C的最优路径就是A到B中最优路径的A到C的部分。
step1:定义初值
step2:对迭代求解
for j=1:n
for t=1:L
step3:终止结果
step4:路径回溯
如下图所示:
3.4HMM学习问题
在实际情况中,我们希望根据大量观测数据得出模型的参数,在已知模型结构,观测值范围V和隐状态集Q,根据样本O,求得模型参数A,E,S。
3.4.1Baum-Welch算法
它是一种结合动态规划和期望最大化的方法,简称EM算法。
E步骤:
利用模型现有参数求隐变量取值的期望。
M步骤:
利用当前对隐变量估计值对模型参数进行最大似然估计,更新模型。
如下图所示: