1. 评估问题(Probability Evaluation)
-
核心目标:
计算某个观测序列出现的概率,即评估观测值是否符合给定模型。- 问题要回答的是:给定这个观测序列,模型是否描述得准确?
-
生活例子:
- 假如您知道朋友有一套关于您情绪和行为的模型,今天观察到您微笑了,他们会计算这个行为(微笑)在“高兴”或“平静”模型中的可能性是多少。
- 实际任务:验证模型对当前观测数据的适用性。
-
方法:
- 使用前向算法或后向算法,高效地计算观测序列在HMM中的概率。
2. 解码问题(Decoding)
-
核心目标:
根据观测序列,推测隐藏状态序列,找到观测值背后最有可能的隐藏状态。- 问题要回答的是:每个观测值对应的隐藏状态是什么?
-
生活例子:
- 您微笑了一整天,您的朋友可能根据您的行为,推测您具体的心情状态——比如上午“高兴”、中午“平静”、下午“焦虑”。
- 实际任务:揭示观测序列背后的因果逻辑,比如情绪变化的轨迹。
-
方法:
- 使用维特比算法,它通过动态规划找到最有可能的隐藏状态路径。
3. 学习问题(Learning)
-
核心目标:
通过观测序列,优化模型参数(状态转移概率 A A A,观测概率 B B B,初始概率 π \pi π)。- 问题要回答的是:如何调整模型,使它更好地解释观测数据?
-
生活例子:
- 您的朋友通过长期观察您每天的行为(微笑、叹气等),不断调整他们的模型参数,使得他们更准确地预测您接下来的情绪变化。
- 实际任务:利用数据训练模型,使其更加精准。
-
方法:
- 使用Baum-Welch算法(基于期望最大化EM算法)来更新模型参数。
核心区别对比
问题类型 | 目标 | 输出 | 方法 | 应用 |
---|---|---|---|---|
评估问题 | 计算观测序列的概率 | 一个概率值 $P(O | \lambda)$ | 前向/后向算法 |
解码问题 | 找到最有可能的隐藏状态序列 | 隐藏状态序列 Q Q Q | 维特比算法 | 推测观测值背后的隐藏状态 |
学习问题 | 优化模型参数 | 新的参数 A , B , π A, B, \pi A,B,π | Baum-Welch算法 | 用数据训练模型,使其更精准 |
关键点总结
-
评估问题 解决的是观测值和模型的匹配度。
- 比如:这个观测序列在模型下的可能性有多大?
-
解码问题 解决的是观测值背后的原因。
- 比如:这些行为(观测序列)是由哪些隐藏状态引起的?
-
学习问题 解决的是如何让模型更适应观测数据。
- 比如:如何调整模型参数,使它更好地解释数据?