1.贝叶斯网络

把一个系统中的所有随机变量,根据是否条件独立,绘制在一个有向无环图(DAG)中,就形成了贝叶斯网络,又称信念网络。贝叶斯网络是一种概率图模型。

1.1贝叶斯网络结构

image.png
每个节点表示一个随机变量(可观察到的变量、隐变量或未知参数),连接的箭头表示两个节点之间存在因果关系(因:parents,果:children),两节点之间会产生一个条件概率值。
图中表示的联合分布概率:隐马尔科夫模型 - 图2
如果没有贝叶斯网络,联合概率中的参数项会非常多。
一般的,对于有N个节点的贝叶斯网络,联合概率分布为:
隐马尔科夫模型 - 图3

1.2判断条件独立

image.png 隐马尔科夫模型 - 图5
给定c的条件下,a和b是独立的。
image.png
隐马尔科夫模型 - 图7
给定c的条件下,a和b是独立的。
image.png隐马尔科夫模型 - 图9
当且仅当c未知的条件下,a和b是独立的。

1.3马尔科夫链

隐马尔科夫模型 - 图10的状态只和隐马尔科夫模型 - 图11有关,和其他变量条件独立,这种随机过程叫马尔科夫链(Markov chain)。
每一个节点的可取值范围是一样的。
image.png

2.隐马尔科夫模型(HMM)

隐马尔科夫模型是关于时序的概率模型(生成式模型)。
HMM描述了这样一个过程:由一个隐藏的马尔科夫链随机生成不可观测的状态随机序列(state sequence),再由各个状态生成一个可观测产生的观测随机序列(observation sequence),序列的每一个位置都可以看做一个时刻。
HMM的应用有:词性标注(Tagging)、语音识别(Speech Recognition)等。
image.png

2.1HMM联合概率分布

根据HMM图结构:image.png,所有变量的联合概率分布为:
隐马尔科夫模型 - 图15

2.2模型组成的三要素

初始概率分布隐马尔科夫模型 - 图16
状态转移概率分布隐马尔科夫模型 - 图17
观测概率分布隐马尔科夫模型 - 图18
隐马尔科夫模型 - 图19三元组就定义了一个隐马尔科夫模型。


Q:所有可能状态的集合,一共N种可能状态,隐马尔科夫模型 - 图20
S:长度为T的状态序列隐马尔科夫模型 - 图21
A:状态转移概率矩阵(NN),隐马尔科夫模型 - 图22
隐马尔科夫模型 - 图23表示时刻t处于状态隐马尔科夫模型 - 图24的条件下,在时刻(t+1)转移到状态隐马尔科夫模型 - 图25的概率。
隐马尔科夫模型 - 图26表示在*(t=1)
的初始时刻,处于状态隐马尔科夫模型 - 图27的概率。


V:所有可能观测的集合,一共M种可能观测,隐马尔科夫模型 - 图28
O:状态对应的长度为T的观测序列隐马尔科夫模型 - 图29
B:观测概率矩阵(N*M),隐马尔科夫模型 - 图30
隐马尔科夫模型 - 图31表示时刻t处于状态隐马尔科夫模型 - 图32的条件下,生成观测隐马尔科夫模型 - 图33的概率。

模型的基本假设

  • 齐次马尔科夫性假设:隐马尔科夫链时刻t的状态只和(t-1)的状态有关。

    隐马尔科夫模型 - 图34

  • 观测独立性假设:观测只和当前时刻状态有关。

    隐马尔科夫模型 - 图35

    2.3观测序列的生成过程

    输入:隐马尔科夫模型隐马尔科夫模型 - 图36,观测序列长度为T;
    输出:观测序列 隐马尔科夫模型 - 图37

  • 按照初始状态分布π,产生状态隐马尔科夫模型 - 图38,t=1;

  • 按照状态隐马尔科夫模型 - 图39的观测概率分布,生成观测隐马尔科夫模型 - 图40
  • 按照状态隐马尔科夫模型 - 图41的状态转移概率分布,产生状态隐马尔科夫模型 - 图42
  • 令t=t+1,如果t

    初始状态的概率

    初始状态的概率是一个先验概率,可以根据数据分布中的频率估计,也可以结合转换概率去计算。
    image.png

    2.4模型的三个基本问题

    观测序列概率计算问题:

    (评估模型与观测序列之间的匹配程度)
    已知:隐马尔科夫模型 - 图44
    求解:隐马尔科夫模型 - 图45
    【算法】:前向算法、后向算法。

    学习问题:

    (训练模型,找到可以更好的描述观测数据的模型参数。)
    已知:隐马尔科夫模型 - 图46
    求解:估计隐马尔科夫模型 - 图47,使得隐马尔科夫模型 - 图48最大。
    【算法】:

  • 监督学习算法:训练数据包括观测序列和状态序列。可使用极大似然估计法来估计HMM参数。

  • 非监督学习算法:训练数据只包括观测序列。使用Baum-Welch算法。

    预测问题/解码问题:

    (根据观测序列,推断出隐藏的状态序列。)
    已知:隐马尔科夫模型 - 图49
    求解:隐马尔科夫模型 - 图50有最大概率时的状态序列隐马尔科夫模型 - 图51
    【算法】:近似算法、维特比算法。

    2.5Viterbi算法:动态规划

  • 已知两天的心情image.png,推测最有可能的天气情况,分以下四种情况:

image.png
计算联合概率:
隐马尔科夫模型 - 图54

  • 已知三天的心情,推测最有可能的天气情况,其中之一如下:

image.png
计算联合概率:
隐马尔科夫模型 - 图56

  • 已知六天的心情,推测最有可能的天气情况:

    每个时刻都有两种天气选择(晴天/雨天),可能的路径一共有隐马尔科夫模型 - 图57种,暴力穷举并不明智。维特比(Viterbi)算法是一种最近路径规划算法,从后往前计算出各种情形来比较,每次正向计算只保留最大的概率,最后得出最佳路径。
    例如:
    星期一是晴天的概率:隐马尔科夫模型 - 图58
    星期一是雨天的概率:隐马尔科夫模型 - 图59
    星期二是晴天的概率:隐马尔科夫模型 - 图60
    (保留最大的概率0.341)
    image.png

来源: 1.清华大学公开课;袁春 博士生导师