本文主要是在阅读过程中对本书的一些概念摘录,包括一些个人的理解,主要是思想理解不涉及到复杂的公式推导。会不定期更新,若有不准确的地方,欢迎留言指正交流
本文完整代码 github 地址:https://github.com/anlongstory/awsome-ML-DL-leaning/lihang-reading_notes(欢迎 Star ?)
第 10 章 隐马尔可夫模型
模型基本假设
- 齐次马尔可夫性假设:隐藏的马尔可夫链在任意时刻 t 的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,与t也无关。
- 观测独立性假设:假设任意时刻的观测只依赖于该时刻的马尔可夫链的状态,与其他观测及状态无关。
隐形马尔科夫模型
隐马尔可夫模型用于标注问题,属于生成模型(学习状态序列与观测序列的联合分布)。 其过程如下:
马尔可夫链 ——> 生成多个随机不可观测的状态随机序列(状态序列) ——> 生成对应个可观测序列(观测序列)
由 初始概率分布(π) + 状态转移概率分布(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. 条件随机场