《统计学习方法》——10. 隐马尔可夫模型(Python实现)

本文主要是在阅读过程中对本书的一些概念摘录,包括一些个人的理解,主要是思想理解不涉及到复杂的公式推导。会不定期更新,若有不准确的地方,欢迎留言指正交流

本文完整代码 github 地址:https://github.com/anlongstory/awsome-ML-DL-leaning/lihang-reading_notes(欢迎 Star )

第 10 章 隐马尔可夫模型

模型基本假设

  1. 齐次马尔可夫性假设:隐藏的马尔可夫链在任意时刻 t 的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,与t也无关。
  2. 观测独立性假设:假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。

隐形马尔科夫模型

隐马尔可夫模型用于标注问题,属于生成模型(学习状态序列与观测序列的联合分布)。 其过程如下:

马尔可夫链 ——> 生成多个随机不可观测的状态随机序列(状态序列) ——> 生成对应个可观测序列(观测序列)

初始概率分布(π) + 状态转移概率分布(A) + 观测概率分布(B) 决定,π,A,B称为隐马尔可夫模型的三要素

π,A 决定状态序列,B 决定观测序列。

可分为 3 个基本问题:

  • a) 概率计算问题
  • b) 学习问题
  • c)预测问题

概率学习问题

给定模型 λ = (A,B,π)和观测序列 O,计算再模型 λ 下观测序列 O 的出现概率 P(O|λ) 。

主要有前向后向算法。

学习问题

已知观测序列 O ,估计模型 λ = (A,B,π)参数,使得该模型下观测序列概率 P(O|λ) 最大,即用最大似然估计的方法估计参数

主要是 监督学习算法(极大似然估计) 和 非监督学习算法(EM算法)。

预测问题

也称为解码问题,已知模型 λ = (A,B,π) 和观测序列 O,求对给定观测序列条件概率 P(O|λ) 最大的状态序列 I,即给定观测序列,求最有可能的对应的状态序列

主要有近似算法(类似贪心,每时刻只选每时刻最有可能的序列)和维特比算法(动态规划求最优路径)

相关阅读:

《统计学习方法》—— 1. 统计学习方法概论(Python实现)
《统计学习方法》—— 2. 感知器(Python实现)
《统计学习方法》—— 3. K近邻法(Python实现)
《统计学习方法》—— 4. 朴素贝叶斯(Python实现)
《统计学习方法》—— 5. 决策树(Python实现)
《统计学习方法》—— 6. 逻辑斯特回归与最大熵模型(Python实现)
《统计学习方法》—— 7. 支持向量机(Python实现)
《统计学习方法》—— 8. 提升方法 (Python实现)
《统计学习方法》—— 9. EM 算法(Python实现)
《统计学习方法》—— 11. 条件随机场

你可能感兴趣的:(《统计学习方法》——10. 隐马尔可夫模型(Python实现))