“声学模型学习笔记”是《automatic speech recognition a deep learning approach》这本书的读书笔记,会有少量的个人理解和公式详细推导,声学入门狗一枚,不具有指导意义,具体以原书和列出的参考文献为准,欢迎指导和讨论。
HMM含义
Markov Chains
马尔科夫链,表示一个状态到另一个状态转换的随机过程。该过程要求具备“无记忆”的性质:下一状态的概率分布只能由当前状态决定,在时间序列中它前面的事件均与之无关。这种特定类型的“无记忆性”称作马尔可夫性质。
假设状态空间
q
t
∈
s
(
j
)
,
j
=
1
,
2
,
.
.
.
,
N
q_t\in{s^{(j)}, j=1,2,...,N}
qt∈s(j),j=1,2,...,N,马尔科夫性质可以表示如下:
P
(
q
t
+
1
=
s
(
t
+
1
)
∣
q
0
=
s
0
,
.
.
.
,
q
t
=
s
t
)
=
P
(
q
t
+
1
=
s
(
t
+
1
)
∣
q
t
=
s
t
)
P(q_{t+1}=s^{({t+1})}|q_{0}=s^{0},...,q_t=s^t)=P(q_{t+1}=s^{({t+1})}|q_t=s^t)
P(qt+1=s(t+1)∣q0=s0,...,qt=st)=P(qt+1=s(t+1)∣qt=st)
转移概率可以定义如下:
P
(
q
t
=
s
j
∣
q
t
−
1
=
s
i
)
=
a
i
j
(
t
)
,
i
,
j
=
1
,
2
,
.
.
.
,
N
P(q_t=s^{j}|q_{t-1}=s^i)=a_{ij}(t), i,j=1,2,...,N
P(qt=sj∣qt−1=si)=aij(t),i,j=1,2,...,N
如果转移概率跟t无关,只由i和j决定,那么说马尔科夫链是齐次(homogeneous)的,转移概率矩阵可以写成一下形式:
A
=
[
a
i
j
]
,
w
h
e
r
e
a
i
j
≥
0
,
∀
i
,
j
;
a
n
d
∑
j
=
1
N
a
i
j
=
1
,
∀
i
A=[a_{ij}], where a_{ij}\ge 0, \forall i,j;and \sum_{j=1}^{N}a_{ij}=1, \forall i
A=[aij],whereaij≥0,∀i,j;andj=1∑Naij=1,∀i
Hidden Markov Sequences
马尔科夫链关注的状态转移概率。比如天气的三个状态分别是{sun, cloud, rain},状态转移概率矩阵如下:
s
u
n
c
l
o
u
d
r
a
i
n
s
u
n
0.50
0.375
0.125
c
l
o
u
d
0.25
0.125
0.625
r
a
i
n
0.25
0.375
0.375
\begin{matrix} & sun & cloud & rain\\ sun & 0.50 & 0.375 & 0.125 \\ cloud & 0.25 & 0.125 & 0.625 \\ rain & 0.25 & 0.375 & 0.375 \end{matrix}
suncloudrainsun0.500.250.25cloud0.3750.1250.375rain0.1250.6250.375
马尔科夫链求解的问题是:如果今天晴天(sun),后天下雨(rain)的概率。
马尔科夫链的观察序列和状态序列是一一对应的,具有确定性(比如今天是sun,那么sun的概率将会是1,不可能为cloud或者rain),从而导致马尔科夫链很难去拟合有些现实问题。
为了增加马尔科夫链的随机性,对每一个状态,增加一个观察值的生成概率函数,即为隐马尔科夫序列。使用隐马尔科夫序列去建模解决实际问题,称为Hidden Markov model(HMM)。
同样以上面的例子来讲,比如在封闭的小黑屋里面,无法观察到天气状况,但是小黑屋里面有种的水藻,水藻的状态和天气的存在一定的概率关系,如下:
d
r
y
d
r
y
i
s
h
d
a
m
p
s
o
g
g
y
s
u
n
0.60
0.20
0.15
0.05
c
l
o
u
d
0.25
0.25
0.25
0.25
r
a
i
n
0.05
0.10
0.35
0.50
\begin{matrix} & dry & dryish & damp & soggy \\ sun & 0.60 & 0.20 & 0.15 & 0.05 \\ cloud & 0.25 & 0.25 & 0.25 & 0.25 \\ rain & 0.05 & 0.10 & 0.35 & 0.50 \end{matrix}
suncloudraindry0.600.250.05dryish0.200.250.10damp0.150.250.35soggy0.050.250.50
此时,我们可以把天气状况当成隐状态,把水藻的状况当成观察值,通过观察值来预测隐状态(天气状态)的序列,马尔科夫链转变成为隐马尔科夫模型。
不难隐马尔科夫模型有两方面的随机性:底层隐藏的随时间改变的马尔科夫过程(天气状态的变化过程);与隐藏状态存在某种映射关系的可观察状态集合(天气状态和水藻状态的关系)。
HMM公式
假设状态序列 q 1 T = ( q 1 , . . . , q T ) q_{1}^{T}=(q_1,...,q_T) q1T=(q1,...,qT),观察序列 o 1 T = ( o 1 , . . . , o T ) o_1^T=(o_1,...,o_T) o1T=(o1,...,oT),hmm的三要素 λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π):
- 转移概率 A = [ a i j ] A=[a_{ij}] A=[aij]
- 初始状态概率分布 π = [ π i ] \pi = [\pi_{i}] π=[πi]
- 观察概率 B = [ b i ( k ) ] B=[b_i(k)] B=[bi(k)]:状态i生成观察值 v k v_k vk的概率
hmm需要解决的三个问题
- 概率计算问题:已知 λ \lambda λ和 o 1 T o_1^T o1T,求解 P ( o 1 T ∣ λ ) P(o_1^T|\lambda) P(o1T∣λ)
- 学习问题:已知 o 1 T o_1^T o1T和 q 1 T q_{1}^{T} q1T,求解 λ \lambda λ
- 预测问题:已知 λ \lambda λ和 o 1 T o_1^T o1T,求解概率最大的 ( q 1 T ) (q_{1}^{T}) (q1T)
问题一:为问题二的求解打基础
观察概率用混合高斯建模,可以表示如下:
b
i
(
o
t
)
=
∑
m
=
1
M
c
i
,
m
(
2
π
)
D
/
2
∣
∑
i
,
m
∣
1
/
2
e
x
p
[
−
1
2
(
o
t
−
μ
i
,
m
)
T
∑
i
,
m
−
1
(
o
t
−
μ
i
,
m
)
]
b_i(o_t)=\sum_{m=1}^{M}\frac{c_{i,m}}{(2\pi)^{D/2}|\sum_{i,m}|^{1/2}}exp[-\frac{1}{2}(o_t-\mu_{i,m})^T\sum_{i,m}^{-1}(o_t-\mu_{i,m})]
bi(ot)=∑m=1M(2π)D/2∣∑i,m∣1/2ci,mexp[−21(ot−μi,m)T∑i,m−1(ot−μi,m)]
其中i表示状态下标,m表示高斯分量的下标。
1.似然概率:
P
(
o
1
T
∣
q
1
T
)
=
∏
t
=
1
T
∑
m
=
1
M
c
i
,
m
(
2
π
)
D
/
2
∣
∑
i
,
m
∣
1
/
2
e
x
p
[
−
1
2
(
o
t
−
μ
i
,
m
)
T
∑
i
,
m
−
1
(
o
t
−
μ
i
,
m
)
]
P(o_1^T|q_1^T)=\prod_{t=1}^{T}\sum_{m=1}^{M}\frac{c_{i,m}}{(2\pi)^{D/2}|\sum_{i,m}|^{1/2}}exp[-\frac{1}{2}(o_t-\mu_{i,m})^T\sum_{i,m}^{-1}(o_t-\mu_{i,m})]
P(o1T∣q1T)=∏t=1T∑m=1M(2π)D/2∣∑i,m∣1/2ci,mexp[−21(ot−μi,m)T∑i,m−1(ot−μi,m)]
2.状态概率
P
(
q
1
T
)
=
π
q
1
∏
t
=
1
T
−
1
a
q
t
q
t
+
1
P(q_1^T)=\pi_{q_1}\prod_{t=1}^{T-1}a_{q_tq_{t+1}}
P(q1T)=πq1∏t=1T−1aqtqt+1
3.联合概率
P
(
o
1
T
,
q
1
T
)
=
P
(
o
1
T
∣
q
1
T
)
P
(
q
1
T
)
P(o_1^T, q_1^T)=P(o_1^T|q_1^T)P(q_1^T)
P(o1T,q1T)=P(o1T∣q1T)P(q1T)
4.观察概率
P
(
o
1
T
)
=
∑
q
1
T
P
(
o
1
T
,
q
1
T
)
P(o_1^T)=\sum_{q_1^T}P(o_1^T,q_1^T)
P(o1T)=∑q1TP(o1T,q1T)
随着T的增大,穷举状态序列
q
1
T
q_1^T
q1T将会指数增加,
P
(
o
1
T
)
P(o_1^T)
P(o1T)求解的复杂度也会指数增加,考虑引入前后向算法解决
P
(
o
1
T
)
P(o_1^T)
P(o1T)的求解问题。
1.前向变量
前向概率定义为从开始到t时刻状态i的所有路径的概率和,定义如下:
α
t
(
i
)
=
P
(
q
t
=
i
,
o
1
t
)
,
t
=
1
,
.
.
.
,
T
\alpha_t(i)=P(q_t=i,o_1^t),t=1,...,T
αt(i)=P(qt=i,o1t),t=1,...,T
初值:
α
1
(
i
)
=
π
i
b
i
(
o
1
)
\alpha_1(i)=\pi_ib_i(o_1)
α1(i)=πibi(o1)
递推关系:
α
t
(
j
)
=
∑
i
=
1
N
α
t
−
1
(
i
)
a
i
j
b
j
(
o
t
)
,
t
=
2
,
3
,
.
.
.
,
T
\alpha_t(j)=\sum_{i=1}^{N}\alpha_{t-1}(i)a_{ij}b_j(o_t), t=2,3,...,T
αt(j)=∑i=1Nαt−1(i)aijbj(ot),t=2,3,...,T
终止:
P
(
o
1
T
)
=
∑
i
=
1
N
α
T
(
i
)
P(o_1^T)=\sum_{i=1}^N\alpha_T(i)
P(o1T)=∑i=1NαT(i)
2.后向变量
后向概率定义为从t时刻状态i点出发到结尾的所有路径概率和,定义如下:
β
t
(
i
)
=
P
(
o
t
+
1
T
∣
q
t
=
i
)
,
t
=
1
,
.
.
.
,
T
−
1
\beta_t(i)=P(o_{t+1}^T|q_t=i),t=1,...,T-1
βt(i)=P(ot+1T∣qt=i),t=1,...,T−1
初值:
β
T
(
i
)
=
1
\beta_T(i)=1
βT(i)=1
递推关系:
β
t
(
i
)
=
∑
j
=
1
N
β
t
+
1
(
i
)
a
i
j
b
j
(
o
t
+
1
)
,
t
=
1
,
2
,
.
.
.
,
T
−
1
\beta_t(i)=\sum_{j=1}^{N}\beta_{t+1}(i)a_{ij}b_j(o_{t+1}), t=1,2,...,T-1
βt(i)=∑j=1Nβt+1(i)aijbj(ot+1),t=1,2,...,T−1
终止:
P
(
o
1
T
)
=
∑
i
=
1
N
π
i
b
i
(
o
1
)
β
1
(
i
)
P(o_1^T)=\sum_{i=1}^N\pi_ib_i(o_1)\beta_1(i)
P(o1T)=∑i=1Nπibi(o1)β1(i)
参考[3],不难得出以上关系。
t时刻处在状态i的概率可以用前后向变量表示如下:
P
(
q
t
=
i
,
o
1
T
)
=
α
t
(
i
)
β
t
(
i
)
P(q_t=i, o_1^T)=\alpha_t(i)\beta_t(i)
P(qt=i,o1T)=αt(i)βt(i)
从而可以达到我们的终极目标,求解:
P
(
O
1
T
)
=
∑
i
=
1
N
α
t
(
i
)
β
t
(
i
)
P(O_1^T)=\sum_{i=1}^{N}\alpha_t(i)\beta_t(i)
P(O1T)=∑i=1Nαt(i)βt(i)
前后向算法的基本原理是利用递推关系,复用了中间的变量,减少了重复计算。不需要穷举所有的路径就可以完成
P
(
O
1
T
)
P(O_1^T)
P(O1T)的求解。
3.中间变量
两个变量(后面的EM会用到)定义如下:
t时刻处于状态
q
i
q_i
qi的概率:
γ
t
(
i
)
=
α
t
(
i
)
β
t
(
i
)
∑
j
=
1
N
α
t
(
j
)
β
t
(
j
)
\gamma_t(i)=\frac{\alpha_t(i)\beta_t(i)}{\sum_{j=1}^N \alpha_t(j)\beta_t(j)}
γt(i)=∑j=1Nαt(j)βt(j)αt(i)βt(i)
t时刻处在状态
q
i
q_i
qi并且t+1时刻处在
q
j
q_j
qj的概率:
ξ
t
(
i
,
j
)
=
α
t
(
i
)
a
i
j
b
j
(
o
t
+
1
)
β
t
+
1
(
j
)
∑
i
=
1
N
∑
j
=
1
N
α
t
(
i
)
a
i
j
b
j
(
o
t
+
1
)
β
t
(
j
)
\xi_t(i,j)=\frac{\alpha_t(i)a_{ij}b_j(o_{t+1})\beta_{t+1}(j)}{\sum_{i=1}^N \sum_{j=1}^N\alpha_t(i)a_{ij}b_j(o_{t+1})\beta_t(j)}
ξt(i,j)=∑i=1N∑j=1Nαt(i)aijbj(ot+1)βt(j)αt(i)aijbj(ot+1)βt+1(j)
问题二:求解hmm的参数
首先参考[3],简单介绍EM算法:
EM是expectation-maximization的简称,是一种最优化问题的迭代算法,1977年由Dempster等人总结提出,简介参考之前的博文
目标函数采用极大似然估计,极大化观测数据
Y
Y
Y关于参数
θ
\theta
θ的对数似然函数
L
m
a
x
(
θ
)
=
l
o
g
P
(
Y
∣
θ
)
=
l
o
g
∑
Z
P
(
Y
,
Z
∣
θ
)
=
l
o
g
(
∑
Z
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
)
L_{max}(\theta)=log P(Y|\theta)=log \sum_Z P(Y,Z|\theta)=log(\sum_Z P(Y|Z,\theta)P(Z|\theta))
Lmax(θ)=logP(Y∣θ)=logZ∑P(Y,Z∣θ)=log(Z∑P(Y∣Z,θ)P(Z∣θ))
由于含有隐变量
Z
Z
Z,所以没有解析解,只能通过迭代的方式求解。假设第
i
i
i次迭代以后模型参数为
θ
i
\theta^i
θi,我们希望满足
L
(
θ
)
>
L
(
θ
i
)
L(\theta)\gt L(\theta^i)
L(θ)>L(θi),即每一次迭代都使得似然函数变大,慢慢逼近极大值点,即:
L
(
θ
)
−
L
(
θ
i
)
>
0
L(\theta)- L(\theta^i) \gt 0
L(θ)−L(θi)>0
L
(
θ
)
−
L
(
θ
i
)
=
l
o
g
(
∑
Z
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
)
−
l
o
g
P
(
Y
∣
θ
i
)
L(\theta)- L(\theta^i)=log(\sum_Z P(Y|Z,\theta)P(Z|\theta))-logP(Y|\theta^i)
L(θ)−L(θi)=log(Z∑P(Y∣Z,θ)P(Z∣θ))−logP(Y∣θi)
=
l
o
g
(
∑
Z
P
(
Z
∣
Y
,
θ
i
)
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
i
)
)
−
l
o
g
P
(
Y
∣
θ
i
)
=log(\sum_Z P(Z|Y,\theta^i) \frac{P(Y|Z,\theta)P(Z|\theta)} {P(Z|Y,\theta^i)})-logP(Y|\theta^i)
=log(Z∑P(Z∣Y,θi)P(Z∣Y,θi)P(Y∣Z,θ)P(Z∣θ))−logP(Y∣θi)
Jenssen不等式满足:
l
o
g
∑
j
λ
j
y
j
≥
∑
j
λ
j
l
o
g
y
i
,
其
中
λ
i
≥
0
,
∑
j
λ
j
=
1
log\sum_j \lambda_j y_j \ge \sum_j \lambda_j log y_i,其中\lambda_i\ge 0, \sum_j \lambda_j=1
logj∑λjyj≥j∑λjlogyi,其中λi≥0,j∑λj=1
所以
L
(
θ
)
−
L
(
θ
i
)
≥
∑
Z
P
(
Z
∣
Y
,
θ
i
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
i
)
−
l
o
g
P
(
Y
∣
θ
i
)
L(\theta)- L(\theta^i)\ge \sum_Z P(Z|Y,\theta^i) log\frac{P(Y|Z,\theta)P(Z|\theta)} {P(Z|Y,\theta^i)}-logP(Y|\theta^i)
L(θ)−L(θi)≥Z∑P(Z∣Y,θi)logP(Z∣Y,θi)P(Y∣Z,θ)P(Z∣θ)−logP(Y∣θi)
=
∑
Z
P
(
Z
∣
Y
,
θ
i
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
i
)
P
(
Y
∣
θ
i
)
=\sum_Z P(Z|Y,\theta^i) log\frac{P(Y|Z,\theta)P(Z|\theta)} {P(Z|Y,\theta^i)P(Y|\theta^i)}
=Z∑P(Z∣Y,θi)logP(Z∣Y,θi)P(Y∣θi)P(Y∣Z,θ)P(Z∣θ)
定义
L
(
θ
)
L(\theta)
L(θ)的下限
B
(
θ
,
θ
i
)
=
L
(
θ
i
)
+
∑
Z
P
(
Z
∣
Y
,
θ
i
)
l
o
g
P
(
Y
∣
Z
,
θ
)
P
(
Z
∣
θ
)
P
(
Z
∣
Y
,
θ
i
)
P
(
Y
∣
θ
i
)
B(\theta, \theta^i)=L(\theta^i) + \sum_Z P(Z|Y,\theta^i) log\frac{P(Y|Z,\theta)P(Z|\theta)} {P(Z|Y,\theta^i)P(Y|\theta^i)}
B(θ,θi)=L(θi)+Z∑P(Z∣Y,θi)logP(Z∣Y,θi)P(Y∣θi)P(Y∣Z,θ)P(Z∣θ)
满足
L
(
θ
)
≥
B
(
θ
,
θ
i
)
L(\theta) \ge B(\theta, \theta^i)
L(θ)≥B(θ,θi)
L
(
θ
i
)
=
B
(
θ
i
,
θ
i
)
L(\theta^i)=B(\theta^i, \theta^i)
L(θi)=B(θi,θi)
在
θ
i
\theta^i
θi点,
L
(
θ
)
L(\theta)
L(θ)和
B
(
θ
,
θ
i
)
B(\theta, \theta^i)
B(θ,θi)两个曲线相交,其他点
L
(
θ
)
L(\theta)
L(θ)曲线在
B
(
θ
,
θ
i
)
B(\theta, \theta^i)
B(θ,θi)曲线的上方,如下图:
为了获得更接近
L
(
θ
)
L(\theta)
L(θ)的极大值点,使用
B
(
θ
,
θ
i
)
B(\theta, \theta^i)
B(θ,θi)对应的极大值点作为
θ
i
+
1
\theta^{i+1}
θi+1,当然不能保证此时的
θ
i
+
1
\theta^{i+1}
θi+1是
L
(
θ
)
L(\theta)
L(θ)的极大值点,如上图所示。
θ
i
+
1
=
a
r
g
m
a
x
θ
(
B
(
θ
,
θ
i
)
)
\theta^{i+1}=argmax_{\theta}(B(\theta, \theta^i))
θi+1=argmaxθ(B(θ,θi))
忽略一些不含
θ
\theta
θ的项,可得
θ
i
+
1
=
a
r
g
m
a
x
θ
Q
(
θ
,
θ
i
)
\theta^{i+1}=argmax_{\theta}Q(\theta, \theta^i)
θi+1=argmaxθQ(θ,θi)
其中Q函数:
Q
(
θ
,
θ
i
)
=
∑
Z
P
(
Z
∣
Y
,
θ
i
)
l
o
g
P
(
Y
,
Z
∣
θ
)
Q(\theta, \theta^i)=\sum_Z P(Z|Y,\theta^i) log{P(Y,Z|\theta)}
Q(θ,θi)=Z∑P(Z∣Y,θi)logP(Y,Z∣θ)
Q函数的数学意义其实就是
l
o
g
P
(
Y
,
Z
∣
θ
)
log{P(Y,Z|\theta)}
logP(Y,Z∣θ)在已知
Y
Y
Y和
θ
i
\theta^i
θi条件下关于隐变量
Z
Z
Z的均值,即
Q
(
θ
,
θ
i
)
=
∑
Z
P
(
Z
∣
Y
,
θ
i
)
l
o
g
P
(
Y
,
Z
∣
θ
)
=
E
Z
[
l
o
g
P
(
Y
,
Z
∣
θ
)
∣
Y
,
θ
i
]
)
Q(\theta, \theta^i)=\sum_Z P(Z|Y,\theta^i) log{P(Y,Z|\theta)}=E_Z[ log{P(Y,Z|\theta)} | Y,\theta^i])
Q(θ,θi)=Z∑P(Z∣Y,θi)logP(Y,Z∣θ)=EZ[logP(Y,Z∣θ)∣Y,θi])
E步的含义是构造
l
o
g
P
(
Y
,
Z
∣
θ
)
log{P(Y,Z|\theta)}
logP(Y,Z∣θ)在已知
Y
Y
Y和
θ
i
\theta^i
θi条件下关于隐变量
Z
Z
Z的均值函数(物理意义是找出
L
(
θ
)
L(\theta)
L(θ)的下限函数),即为Q函数。M步的含义是对E步构造出的均值函数求极大值,以期望最大程度上逼近
L
(
θ
)
L(\theta)
L(θ)函数的极大值。
考虑到HMM求解的时候涉及到隐变量
q
t
q_t
qt即某一帧特征属于哪个状态是位置的,所以采用Baum-Welch(EM算法)来进行求解。
完全数据集定义为
y
=
[
o
1
T
,
q
1
T
]
y=[o_1^T,q_1^T]
y=[o1T,q1T],由观测变量
o
1
T
o_1^T
o1T和隐变量
q
1
T
q_1^T
q1T状态序列共同构成,单高斯的HMM的模型参数
θ
=
[
a
i
j
,
∑
i
,
μ
i
]
\theta=[a_{ij}, \sum_i, \mu_i]
θ=[aij,∑i,μi],由状态的转移概率、高斯均值和方差组成。
E步:首先构造Q函数
Q
(
θ
,
θ
0
)
=
∑
q
1
T
P
(
q
1
T
∣
o
1
T
,
θ
0
)
l
o
g
P
(
o
1
T
,
q
1
T
∣
θ
)
Q(\theta, \theta_0)=\sum_{q_1^T}P(q_1^T|o_1^T,\theta_0)logP(o_1^T,q_1^T|\theta)
Q(θ,θ0)=q1T∑P(q1T∣o1T,θ0)logP(o1T,q1T∣θ)
M步:然后Q函数分别构造拉格朗日函数,对模型参数
θ
=
[
a
i
j
,
∑
i
,
μ
i
]
\theta=[a_{ij}, \sum_i, \mu_i]
θ=[aij,∑i,μi]求导等于0,可得最后的参数(自己没有推导出来,直接上结果吧)
- 转移概率
a ^ i j = ∑ t = 1 T − 1 ξ t ( i , j ) ∑ t = 1 T − 1 γ t ( i ) \hat{a}_{ij}=\frac{\sum_{t=1}^{T-1}\xi_t(i,j)}{\sum_{t=1}^{T-1}\gamma_t(i)} a^ij=∑t=1T−1γt(i)∑t=1T−1ξt(i,j) - 方差
∑ ^ i = ∑ t = 1 T γ t ( i ) ( o t − μ ^ i ) ( o t − μ ^ i ) T ∑ t = 1 T γ t ( i ) \hat{\sum}_i=\frac{\sum_{t=1}^T \gamma_t(i)(o_t-\hat{\mu}_i)(o_t-\hat{\mu}_i)^T }{\sum_{t=1}^T \gamma_t(i)} ∑^i=∑t=1Tγt(i)∑t=1Tγt(i)(ot−μ^i)(ot−μ^i)T - 均值
μ ^ i = ∑ t = 1 T γ t ( i ) o t ∑ t = 1 T γ t ( i ) \hat{\mu}_i=\frac{\sum_{t=1}^T \gamma_t(i)o_t}{\sum_{t=1}^T \gamma_t(i)} μ^i=∑t=1Tγt(i)∑t=1Tγt(i)ot
问题三:求解最优状态序列
对应于解码,动态规划的思想,比较简单。
HMM局限性
- the temporal independence of speech data conditioned on each HMM state
HMM观察独立性假设,任意时刻的观察只依赖于该时刻的马尔科夫链的状态,与其他观测和状态无关 - lack of lawful correlation between the acoustic features
高斯的方差是用的对角阵,假设特征维度之间是相互独立的
参考文献
[1]《automatic speech recognition a deep learning approach》 chapter2-3
[2]HMM理解例子
[3]《统计学习方法》 李航 第10章