问答总结

  • 学习问题分为哪两种,它们的条件是怎样的?
  • 在有监督的学习问题中,如何估计参数?
  • 在无监督的学习问题中,我们采用EM算法求解模型。EM算法的java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计函数是什么?
  • 解决无监督学习问题的算法是什么?


文章目录

  • 一、目标
  • 二、监督学习方法
  • 三、无监督学习方法
  • 1、学习方法—EM
  • 2、EM方法步骤
  • 3、Baum-Welch算法
  • 参考资料


一、目标

前文中说过,隐马尔可夫模型的学习问题是指:

已知观测序列java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_02, 估计模型java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_03.使得在该模型下观测序列概率java隐马尔可夫 隐马尔可夫模型em算法_java隐马尔可夫_04最大。即使用极大似然估计方法估计参数。即:
java隐马尔可夫 隐马尔可夫模型em算法_机器学习_05

具体的,我们还可以细化为

  • (1)训练数据包括观测序列和对应的状态序列。——监督学习
  • (2)训练数据仅仅包括观测序列。——无监督学习。

二、监督学习方法

输入训练样本为java隐马尔可夫 隐马尔可夫模型em算法_java隐马尔可夫_06,我们采取极大似然估计法估计模型java隐马尔可夫 隐马尔可夫模型em算法_java隐马尔可夫_07.
1、转移概率java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_08的估计:

  • java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_09为样本中状态java隐马尔可夫 隐马尔可夫模型em算法_机器学习_10转到状态java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_11的频数。则java隐马尔可夫 隐马尔可夫模型em算法_监督学习_12

2、观测概率java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_13的估计:

  • 令样本中状态java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_11且观测为java隐马尔可夫 隐马尔可夫模型em算法_监督学习_15的频数是java隐马尔可夫 隐马尔可夫模型em算法_机器学习_16, 则:
    java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_17

3、初始状态概率java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_18的估计java隐马尔可夫 隐马尔可夫模型em算法_java隐马尔可夫_19为样本中初始状态为java隐马尔可夫 隐马尔可夫模型em算法_机器学习_20的频率。

三、无监督学习方法

1、学习方法—EM

当输入训练样本java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_21只包含观测序列java隐马尔可夫 隐马尔可夫模型em算法_监督学习_22, 我们将状态序列看作不可观测的隐数据java隐马尔可夫 隐马尔可夫模型em算法_监督学习_23那么HMM事实上是含有隐变量的概率模型:
java隐马尔可夫 隐马尔可夫模型em算法_监督学习_24

对于含隐变量的模型,它的参数学习可以使用java隐马尔可夫 隐马尔可夫模型em算法_监督学习_25方法。


EM方法简单的脉络如下

  • 起因: 最大似然的缺陷.
  • 两个(可以是多个)分布 (一般只是参数不同).两类数据,但是混合在一起,因此无法直接使用使用最大似然,求得两个分布的参数.(参考文献1中四川人东北人例子)
  • 因此考虑映入隐变量(一般代表着数据的类别).
  • 矛盾: 先鸡还是先蛋问题.
  • 隐变量(属于哪一类的概率)需要分布参数来确定.
  • 分布参数需要隐变量的值加上数据来确定.
  • 不知该从哪里下手.
  • 启发式: 一个一个来
  • 初始化两个分布的参数.
  • 根据两个分布的参数算出隐变量的概率.
  • 按算出隐变量的概率更新分布的参数.
  • 如果直接多个分布最大似然来求,涉及到java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_26相加, 数学上太麻烦.
  • 考虑jenson不等式. 搞出一个最大似然的下界.
  • 优化下界, 即可优化最大似然.
  • 省去下界的无关项,推出优化目标,取名为Q函数
  • 就这样交替更新.
  • 最后收敛到一个较好值.
  • 注意:
  • EM算法并不保证收敛到全局最优,因此和初值的选取有关系.

2、EM方法步骤

(1)、确定完全数据的对数似然函数。

  • 观测数据:java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_27
  • 隐数据: java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_28
  • 完全数据: java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_29
  • 完全数据对数似然函数: java隐马尔可夫 隐马尔可夫模型em算法_机器学习_30

(2)、EM算法E步: 求Q函数java隐马尔可夫 隐马尔可夫模型em算法_机器学习_31
java隐马尔可夫 隐马尔可夫模型em算法_机器学习_32

由于java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_33函数是关于java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_34的参数,而java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_35java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_34是常数。因此极大化java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_33函数时我们可以省去它,简化java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_33函数为:
java隐马尔可夫 隐马尔可夫模型em算法_极大似然估计_39

(3)、EM算法M步:极大化java隐马尔可夫 隐马尔可夫模型em算法_无监督学习_33函数java隐马尔可夫 隐马尔可夫模型em算法_机器学习_31求得更新后的模型参数java隐马尔可夫 隐马尔可夫模型em算法_java隐马尔可夫_42

推导过程省略,可参考李航统计学习方法第二版P205。

3、Baum-Welch算法

java隐马尔可夫 隐马尔可夫模型em算法_机器学习_43

参考资料

[1] EM算法详细推导和讲解