一、隐式马尔可夫模型 简介(Hidden Markov Model)
在之前的文章中已经介绍了马尔可夫链,马尔可夫模型与马尔可夫链的区别在于,隐马尔科夫模型多了一条不可见的时序状态。通过对该模型各参数的推导即可解决当前AI领域比较常见的三大基石问题:概率、学习、回归
二、隐式马尔科夫模型的基本元素
以小狗的日常行为为例,小狗的状态有高兴,恐惧和焦急,它表现的行为有摇尾巴、转圈、吠叫。
状态集合 Q:
小狗的状态集合
=
(
高兴,恐惧,焦急
)
小狗的状态集合 =(高兴,恐惧,焦急)
小狗的状态集合=(高兴,恐惧,焦急)
Q
=
(
q
1
,
q
2
,
q
3
)
Q =(q_1,q_2, q_3)
Q=(q1,q2,q3)
行为集合 L:
小狗的行为集合
=
(
摇尾巴,原地转圈,吠叫
)
{小狗的行为集合 = }(摇尾巴,原地转圈,吠叫)
小狗的行为集合=(摇尾巴,原地转圈,吠叫)
L
=
(
L
1
,
L
2
,
L
3
)
L =(L_1, L_2,L_3)
L=(L1,L2,L3)
以时间T为发生顺序,状态变化的序列 I:
小狗的状态序列
=
(
高兴,高兴,高兴,焦急,恐惧,恐惧
)
小狗的状态序列=(高兴,高兴,高兴,焦急,恐惧,恐惧)
小狗的状态序列=(高兴,高兴,高兴,焦急,恐惧,恐惧)
I
=
(
i
1
,
i
2
,
i
3
,
i
4
,
i
5
)
I = (i_1,i_2,i_3,i_4,i_5)
I=(i1,i2,i3,i4,i5)
对应状态变化时的行为学列 O:
小狗的行为序列
=
(
摇尾巴,摇尾巴,摇尾巴,原地转圈,吠叫,吠叫
)
小狗的行为序列= (摇尾巴,摇尾巴,摇尾巴,原地转圈,吠叫,吠叫)
小狗的行为序列=(摇尾巴,摇尾巴,摇尾巴,原地转圈,吠叫,吠叫)
O
=
(
o
1
,
o
2
,
o
3
,
o
4
,
.
.
.
)
O= (o_1, o_2,o_3,o_4,...)
O=(o1,o2,o3,o4,...)
状态转移矩阵 A:
小狗的状态转移矩阵
=
[
高兴
恐惧
焦急
高兴
0.4
0.3
0.3
恐惧
0.7
0.5
0.3
焦急
0.7
0.5
0.3
]
小狗的状态转移矩阵=\left[ \begin{matrix} & 高兴 &恐惧 & 焦急\\ 高兴 & 0.4 & 0.3& 0.3 \\ 恐惧 & 0.7 & 0.5 & 0.3\\ 焦急 & 0.7 & 0.5& 0.3 \\ \end{matrix} \right]
小狗的状态转移矩阵=
高兴恐惧焦急高兴0.40.70.7恐惧0.30.50.5焦急0.30.30.3
A
=
[
a
i
j
]
N
∗
N
A = [a_{ij}]N*N
A=[aij]N∗N
a
i
j
为是时刻
t
在变化到
t
+
1
时,
q
i
状态转移到
q
j
时的概率
:
a_{ij}为是时刻t在变化到t+1时,q_i状态转移到q_j时的概率:
aij为是时刻t在变化到t+1时,qi状态转移到qj时的概率:
a
i
j
=
P
(
i
t
+
1
=
q
j
∣
i
t
=
q
i
)
a_{ij}=P(i_t+1=q_j|i_t=q_i)
aij=P(it+1=qj∣it=qi)
行为概率矩阵 B:
小狗的行为概率矩阵
=
[
摇尾巴
原地转圈
吠叫
0.4
0.3
0.3
0.7
0.5
0.3
0.7
0.5
0.3
]
小狗的行为概率矩阵=\left[ \begin{matrix} 摇尾巴& 原地转圈 & 吠叫\\ 0.4 & 0.3& 0.3 \\ 0.7 & 0.5 & 0.3\\ 0.7 & 0.5& 0.3 \\ \end{matrix} \right]
小狗的行为概率矩阵=
摇尾巴0.40.70.7原地转圈0.30.50.5吠叫0.30.30.3
B
=
[
b
i
(
k
)
]
N
∗
M
B=[b_i(k)]N*M
B=[bi(k)]N∗M
b
i
(
k
)
为是时刻
q
j
状态时,产生行为
v
k
的概率,即:
b_i(k)为是时刻q_j状态时,产生行为v_k的概率,即:
bi(k)为是时刻qj状态时,产生行为vk的概率,即:
b
i
(
k
)
=
P
(
o
t
=
v
k
∣
i
t
=
q
j
)
b_i(k)=P(o_t= v_k|i_t=q_j)
bi(k)=P(ot=vk∣it=qj)
隐式马尔可夫模型 M
输入:
M
=
(
A
,
B
,
H
)
,
输入:M = (A,B,H),
输入:M=(A,B,H),
输出:
O
=
(
o
1
,
o
2
,
.
.
.
)
输出:O=(o_1, o_2, ...)
输出:O=(o1,o2,...)
状态初始概率 H:
初始小狗状态
=
(
摇尾巴
)
初始小狗状态=(摇尾巴)
初始小狗状态=(摇尾巴)
H
=
(
h
i
)
,
h
i
在时刻
t
=
1
时,状态
q
i
i
时的概率
H=(h_i),h_i在时刻t=1时,状态q_ii时的概率
H=(hi),hi在时刻t=1时,状态qii时的概率
三、隐马尔科夫模型的用途
已知马尔科夫模型的内部元素后,就可以通过偏移矩阵计算解决相应参数的推导问题,即当前普遍应用在ai 3大基石问题:
-
回归问题:提供模型M = (A,B,H),和观测序列O,求序列O中的元素出现概率。
求小狗的行为 求小狗的行为 求小狗的行为 -
机器学习:已知状态序列I和观测序列O,求M = (A,B,H)中A、B各参数。
求小狗状态矩阵和小狗行为矩阵 求小狗状态矩阵和小狗行为矩阵 求小狗状态矩阵和小狗行为矩阵 -
分类问题:已知模型M和观测序列O,求状态序列I
求小狗状态 求小狗状态 求小狗状态