先搞明白,是做什么的,怎么用
隐马尔可夫链
- 可见链
- 隐性链
隐马尔科夫三大问题
- 知道骰子有几种(隐含状态数量),每种骰子是什么(转换概率)
- 根据骰子投掷的结果(可见状态链),我想知道每次投掷出来的都是那种骰子(隐含状态链)
- 知道骰子有几种(隐含状态数量),每种骰子是什么(转换概率)
- 根据筛子投掷的结果(可见状态链),我想知道投掷出这个结果的概率
- 知道骰子有几种(隐含状态数量),不知道每种骰子是什么(转换概率)
- 观测到多次投掷筛子的结果(可见状态链),我想反推出每种骰子是什么(转换概率)
表达成公式
- Evaluation(求概率): Given the observation sequence O = O 1 O 2 . . . O T O = O_1 O_2...O_T O=O1O2...OT and a model λ = ( A , B , π ) \lambda = (A,B,\pi) λ=(A,B,π), how do we efficiently compute P ( O ∣ λ ) P(O|\lambda) P(O∣λ), i.e., the probability of the observation sequence given the model
- Recognition(识别): Given the observation sequence
O
=
O
1
O
2
.
.
.
O
T
O = O_1 O_2...O_T
O=O1O2...OT and a model
λ
=
(
A
,
B
,
π
)
\lambda = (A,B,\pi)
λ=(A,B,π), how do we choose a corresponding state sequence
Q
=
q
1
q
2
.
.
.
q
T
Q = q_1 q_2...q_T
Q=q1q2...qT which is optimal in some sense, i.e., best explains the observations
- Witerbi Algo 算法解决
- Training(训练): Given the observation sequence
O
=
O
1
O
2
.
.
.
O
T
O = O_1 O_2...O_T
O=O1O2...OT, how do we adjust the model parameters
λ
=
(
A
,
B
,
π
)
\lambda = (A,B,\pi)
λ=(A,B,π) to maximize
P
(
O
∣
λ
)
P(O|\lambda)
P(O∣λ)
- Baum-Welch Algo,
求解过程
没懂。。。
使用demo
。。。
参考
- bilibili视频链接: https://www.bilibili.com/video/av21452290/?p=5
- 最好能够找到英文的PPT