TalentMe
How To
🗺️
AI Industry Map
NEW
Knowledge ▾
Intro & Usage
Machine Learning Repo
Data Science Repo
Resources ▾
Intro & Usage
AI Tech Vault (Tech Wiki)
Industry News
Tech Blogs
Research Papers
Open Source Projects
Tools Hub ▾
🛠️ Tools & Skills Overview
🌐 Interactive Web Tools
🗺️ AI Industry & Career Map
🧭 AI Career Transition Navigator & Roadmap
📚 AI Multi-Module Practice Hub
🎯 AI Skill Assessment
🧠 AI Skills Library
AI Skills & Prompts Overview
Local Agent Guide
Cloud Skills Templates
⚡ MCP Tools Suite
TalentMe MCP Guide
CLI Tools & Commands
Services ▾
🚀 Services & Plans Suite
🧭 1v1 Coaching & Services
💎 Plans & Pricing
💬 Contact & Consultation
Contact Us
💬 Discord
🌐
中
☀️
🔑
Login / Register
☰
技术知识库
›
复习路线图
›
经典机器学习 思维导图
›
HMM 前向算法 (评估)
← 返回 经典机器学习 思维导图
中文
·
English
📊 经典机器学习
ID:
hmm-evaluation
HMM 前向算法 (评估)
HMM Forward Algorithm (Evaluation)
🎯
核心定义
评估问题是给定 HMM 参数
λ
=
(
A
,
B
,
π
)
\lambda = (A, B, \pi)
λ
=
(
A
,
B
,
π
)
与观测序列
O
=
o
1
o
2
…
o
T
O = o_1 o_2 \dots o_T
O
=
o
1
o
2
…
o
T
,求观测概率
P
(
O
∣
λ
)
P(O \mid \lambda)
P
(
O
∣
λ
)
。直接对状态序列求和共有
N
T
N^T
N
T
条路径,不可行;前向算法用动态规划定义前向变量
α
t
(
j
)
=
P
(
o
1
…
o
t
,
q
t
=
j
∣
λ
)
\alpha_t(j) = P(o_1 \dots o_t, q_t = j \mid \lambda)
α
t
(
j
)
=
P
(
o
1
…
o
t
,
q
t
=
j
∣
λ
)
(到 t 时刻处于状态 j 且已输出前 t 个观测的联合概率),递推
📌
核心概述
α
t
(
j
)
=
[
∑
i
α
t
−
1
(
i
)
a
i
j
]
b
j
(
o
t
)
\alpha_t(j) = \Bigl[\sum_{i} \alpha_{t-1}(i)\, a_{ij}\Bigr] b_j(o_t)
α
t
(
j
)
=
[
i
∑
α
t
−
1
(
i
)
a
ij
]
b
j
(
o
t
)
📌
核心概述
初始
α
1
(
j
)
=
π
j
b
j
(
o
1
)
\alpha_1(j) = \pi_j b_j(o_1)
α
1
(
j
)
=
π
j
b
j
(
o
1
)
,终止
P
(
O
∣
λ
)
=
∑
j
α
T
(
j
)
P(O \mid \lambda) = \sum_j \alpha_T(j)
P
(
O
∣
λ
)
=
∑
j
α
T
(
j
)
。每个时刻对
N
N
N
个状态各做
N
N
N
次转移求和,复杂度由枚举路径的
O
(
N
T
)
O(N^T)
O
(
N
T
)
降为
O
(
N
2
T
)
O(N^2 T)
O
(
N
2
T
)
。
💡
使用场景
语音识别、生物序列分析中的序列打分,也是 Baum-Welch E 步的组成部分;面试常考前向变量定义、与前向/维特比“求和 vs 取 max”的区别。
⚡
解决的核心痛点
状态不可观测导致直接求是指数级爆炸,前向算法通过缓存子问题将似然计算降到多项式时间;代价是每步
O
(
N
2
)
O(N^2)
O
(
N
2
)
的转移求和与
O
(
N
T
)
O(NT)
O
(
N
T
)
存储(可滚动优化为
O
(
N
)
O(N)
O
(
N
)
)。
🎯
5 个高频面试考点 (Exam Points)
1
写出前向算法递推
α
t
(
j
)
=
[
∑
i
α
t
−
1
(
i
)
a
i
j
]
b
j
(
o
t
)
\alpha_t(j) = [\sum_i \alpha_{t-1}(i)a_{ij}]b_j(o_t)
α
t
(
j
)
=
[
∑
i
α
t
−
1
(
i
)
a
ij
]
b
j
(
o
t
)
,并说明初值
α
1
(
j
)
\alpha_1(j)
α
1
(
j
)
与终止条件
P
(
O
∣
λ
)
P(O \mid \lambda)
P
(
O
∣
λ
)
?
2
为什么直接计算
P
(
O
∣
λ
)
P(O \mid \lambda)
P
(
O
∣
λ
)
是指数级
O
(
N
T
)
O(N^T)
O
(
N
T
)
?前向算法如何把复杂度降到
O
(
N
2
T
)
O(N^2T)
O
(
N
2
T
)
?
3
前向算法与维特比算法有什么区别(求和 vs 取 max、各自输出什么)?
4
前向变量
α
t
(
j
)
\alpha_t(j)
α
t
(
j
)
的概率含义是什么?它如何与后向变量
β
t
(
j
)
\beta_t(j)
β
t
(
j
)
组合得到
P
(
q
t
=
j
∣
O
,
λ
)
P(q_t = j \mid O, \lambda)
P
(
q
t
=
j
∣
O
,
λ
)
?
5
给定具体 HMM(如
N
=
2
N=2
N
=
2
、
T
=
3
T=3
T
=
3
),手算
P
(
O
∣
λ
)
P(O \mid \lambda)
P
(
O
∣
λ
)
的完整数值过程?
📖 关联深度指南:
📄 probabilistic-models →
更新于 2026-08-12
🎯
检验攻克程度:针对「HMM 前向算法 (评估)」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题 ➔
← 上一个知识点
朴素贝叶斯
下一个知识点 →
HMM 维特比解码
🔗 更多 经典机器学习 知识点卡片
AdaBoost 算法手推
Bagging 与随机森林
HMM 参数学习 Baum-Welch
GBDT 负梯度拟合