马尔科夫简介
X代表隐藏状态,又称为隐变量。通俗来讲就是这个转态不能直接观察到,但是同时可以通过观察O来推导原本的隐状态。
O代表隐藏状态的输出。每个隐变量都会有多种输出,通常每种输出的概率不同。
简单来说就是,X代表一系列状态。O代表一系列输出。每个状态都可能对应了多种输出。
例如:
X一共有两种状态{忙碌,空闲}。那么状态序列可能就是【忙碌,忙碌,忙碌,空闲】
O在状态是忙碌的情况下输出{吃饭,睡觉,加班},分别对应概率{0.2,0.3,0.5}
在状态是空闲的情况下输出{吃饭,睡觉},分别对应概率{0.5,0.5}
O的序列可能就是【睡觉,加班,加班,吃饭】
隐马尔科夫链中,你只能观测到O的序列,X的序列你是未知的。
马尔科夫三要素
1. 初始状态概率 π \pi π
初始状态实际上描述的是,X序列第一个值出现的某个状态的概率是多少。
X一共有两种状态{忙碌,空闲}, π \pi π={0.4,0.6}表示的是 X 1 X_1 X1是‘忙碌’的概率为0.4,‘空闲‘的概率是0.6
2. 状态转移概率A
状态转移概率描述的是,从一个状态到下一阶段的转态之间的转态转换概率。
X一共有两种状态{忙碌,空闲}.
前一状态\ 后一状态 忙碌 空闲 忙碌 0.4 0.6 空闲 0.5 0.5 通常这个被称为 状态转移矩阵,第一行表明前面状态是 忙碌 时 后面状态是 忙碌 的概率是0.4,是 空闲 的概率是0.6
3. 输出观测概率B
输出观测概率表明的是,当状态确定时,它的每种输出的概率
O在状态是忙碌的情况下输出{吃饭,睡觉,加班},分别对应概率{0.2,0.3,0.5}
在状态是空闲的情况下输出{吃饭,睡觉},分别对应概率{0.5,0.5}
前一状态\ 输出观测值 吃饭 睡觉 加班 忙碌 0.2 0.3 0.5 空闲 0.5 0.5 0 通常这个表被称为观测概率矩阵,第一行描述的是,在状态是忙碌时,我们可能观测到在吃饭的概率是0.2,睡觉的概率是0.3,加班的概率是0.5
马尔科夫三个基本问题
我们在知道马尔科夫模型后,我们关心的是它能解决什么样的实际问题。下面将介绍马尔科夫模型解决的三类问题。
为方便叙述可以引入一个记号
θ
=
{
π
,
A
,
B
}
\theta=\{\pi,A,B\}
θ={π,A,B},也就是当下文叙述已知
θ
\theta
θ,代表我们已知
π
,
A
,
B
\pi,A,B
π,A,B
1. 评估问题
评估问题是已知
θ
\theta
θ,求
O
=
{
o
1
,
o
2
.
.
.
.
.
o
n
}
O=\{o_1,o_2.....o_n\}
O={o1,o2.....on}的条件概率
P
(
X
∣
θ
)
P(X|\theta)
P(X∣θ)
在实际应用中已知
{
o
1
,
o
2
.
.
.
.
.
o
n
}
\{o_1,o_2.....o_n\}
{o1,o2.....on}求
o
n
+
1
o_n+1
on+1可以转换为此类问题。
2. 解码问题
解码问题是已知
θ
\theta
θ和观测序列
O
=
{
o
1
,
o
2
.
.
.
.
.
o
n
}
O=\{o_1,o_2.....o_n\}
O={o1,o2.....on},求隐藏的状态
X
=
{
x
1
,
x
2
,
.
.
.
x
n
}
X=\{x_1,x_2,...x_n\}
X={x1,x2,...xn}
实际应用在语音识别,观测的值是语音,隐状态是文字
3. 学习问题
给定观测序列 O = { o 1 , o 2 . . . . . o n } O=\{o_1,o_2.....o_n\} O={o1,o2.....on},已知A中转态有多少种,B中每个转态对应的观测值有多少种,调整 θ \theta θ使得概率 P ( X ∣ θ ) P(X|\theta) P(X∣θ)最大化。