ASR HMM-GMM公式推导

#1 语音识别技术原理
(未整理->可参考链接:语音识别的技术原理是什么?)
#2 语音识别特征提取方法:MFCC
(未整理->可参考链接:)

  1. 语音信号处理之(四)梅尔频率倒谱系数(MFCC)
  2. 声学特征(二) MFCC特征原理
  3. MFCC提取详细及Matlab实现

3语音识别编程语言包

未整理-可参考链接:几种不同程序语言的HMM版本

#4 推荐论文
未整理-可参考链接:深度学习入门论文(语音识别领域)

5 语音识别书籍

未整理-可参考链接:语音识别实践-英文版
密码:zmja

6 关键模型:GMM-HMM

#6.1符号定义
a i j = a i j ( t ) = P ( q t = i , q t + 1 = j ) a_{ij}=a_{ij}(t)=P(q_t=i,q_{t+1}=j) aij=aij(t)=P(qt=i,qt+1=j):由 t t t时刻的状态 i i i t + 1 t+1 t+1时刻的状态 j j j的转移概率且有 a i j ( t ) = a i j ( t + 1 ) , t = 1 , 2 , . . . , T a_{ij}(t)=a_{ij}(t+1),t=1,2,...,T aij(t)=aij(t+1),t=1,2,...,T
b j ( o t ) = P ( q t = j , o t ) b_j(o_t)=P(q_t=j,o_t) bj(ot)=P(qt=j,ot):在第t时刻状态j发出 o t o_t ot的概率
隐藏状态集合 I I I ∣ I ∣ = n |I|=n I=n, ∣ ∗ ∣ |*| 表示集合个数
时间状态集合 Q = { q 1 ↦ q 2 ↦ . . . ↦ q T ∣ q t ∈ I , t = 1 , 2 , . . . , T } Q=\{q_1 \mapsto q_2 \mapsto ... \mapsto q_T|q_t\in I,t=1,2,...,T\} Q={q1q2...qTqtI,t=1,2,...,T}
输出集合 O O O O = { o 1 ↦ o 2 ↦ o 3 ↦ , . . . . , ↦ o n } O=\{o_1 \mapsto o_2 \mapsto o_3\mapsto ,....,\mapsto o_n\} O={o1o2o3,....,on}
参数集合 λ = { a , b ∣ a i j ∈ a , b j ∈ b , i = 1 , 2 , . . . , n , j = 1 , 2 , 3 , . . . , n } \lambda=\{a,b|a_{ij}\in a,b_j\in b,i=1,2,...,n,j=1,2,3,...,n\} λ={a,baija,bjb,i=1,2,...,n,j=1,2,3,...,n}


6.2: GMM-HMM模型示意图

HMM状态转移图


6.3:推导过程

该推导最终目标是期望求解GMM-HMM模型中涉及参数: λ \lambda λ
采用极大似然估计方法进行求解:
max ⁡ P ( O ∣ λ ) = max ⁡ log ⁡ ( P ( O ∣ λ ) ) = max ⁡ log ⁡ ( ∑ Q P ( O , Q ∣ λ ) ) \max P(O|\lambda)=\max \log(P(O|\lambda))=\max \log(\sum_Q P(O,Q|\lambda)) maxP(Oλ)=maxlog(P(Oλ))=maxlog(QP(OQλ))
直接求解带有隐藏状态的 λ \lambda λ是比较困难的,采用EM算法进行迭代求解,详细方法见参考文章1:

max ⁡ log ⁡ ( ∑ Q P ( O , Q ∣ λ ) ) = max ⁡ log ⁡ ( ∑ Q ( P ( Q ∣ O , λ ˉ ) P ( O , Q ∣ λ ) P ( Q ∣ O , λ ˉ ) ) ) ≥ max ⁡ ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( P ( O , Q ∣ λ ) P ( Q ∣ O , λ ˉ ) ) \max \log(\sum_Q P(O,Q|\lambda))=\max \log(\sum_Q(P(Q|O,\bar{\lambda})\frac{P(O,Q|\lambda)}{P(Q|O,\bar{\lambda})}))\geq \max \sum_QP(Q|O,\bar{\lambda})\log(\frac{P(O,Q|\lambda)}{P(Q|O,\bar{\lambda})}) maxlog(QP(OQλ))=maxlog(Q(P(QO,λˉ)P(QO,λˉ)P(OQλ)))maxQP(QO,λˉ)log(P(QO,λˉ)P(O,Qλ))
其中 ∑ Q P ( Q ∣ O , λ ˉ ) = 1 \sum_QP(Q|O,\bar{\lambda})=1 QP(QO,λˉ)=1
由于 P ( Q ∣ O , λ ˉ ) P(Q|O,\bar{\lambda}) P(QO,λˉ)是常数,所以上式等价于
max ⁡ P ( O ∣ λ ) ≥ max ⁡ ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( P ( O , Q ∣ λ ) ) \max P(O|\lambda)\geq \max \sum_QP(Q|O,\bar{\lambda})\log(P(O,Q|\lambda)) maxP(Oλ)maxQP(QO,λˉ)log(P(OQλ))
该公式可以看出 max ⁡ P ( O ∣ λ ) \max P(O|\lambda) maxP(Oλ)的下界是 ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( P ( O , Q ∣ λ ) ) \sum_QP(Q|O,\bar{\lambda})\log(P(O,Q|\lambda)) QP(QO,λˉ)log(P(OQλ))的上面,因此只要不断迭代优化 ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( P ( O , Q ∣ λ ) ) \sum_QP(Q|O,\bar{\lambda})\log(P(O,Q|\lambda)) QP(QO,λˉ)log(P(OQλ)),那么当 ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( P ( O , Q ∣ λ ) ) \sum_QP(Q|O,\bar{\lambda})\log(P(O,Q|\lambda)) QP(QO,λˉ)log(P(OQλ))取得最优的时候, max ⁡ P ( O ∣ λ ) \max P(O|\lambda) maxP(Oλ)的参数 λ \lambda λ便是最优参数。
由于 P ( O , Q ∣ λ ) = π q 0 ⋅ a q 0 q 1 b q 1 ( x 1 ) ⋅ a q 1 q 2 b q 2 ( x 2 ) ⋅ a q 2 q 3 b q 2 ( x 2 ) ⋅ . . . . a q T − 1 q T b q T ( x T ) P(O,Q|\lambda) =\pi_{q_0}\cdot a_{q_0q_1}b_{q_1}(x_1)\cdot a_{q_1q_2}b_{q_2}(x_2)\cdot a_{q_2q_3}b_{q_2}(x_2)\cdot .... a_{q_{T-1}q_{T}}b_{q_T}(x_T) P(OQλ)=πq0aq0q1bq1(x1)aq1q2bq2(x2)aq2q3bq2(x2)....aqT1qTbqT(xT)
所以有:
log ⁡ ( P ( O , Q ∣ λ ) ) = log ⁡ ( π q 0 ⋅ a q 0 q 1 b q 1 ( x 1 ) ⋅ a q 1 q 2 b q 2 ( x 2 ) ⋅ a q 2 q 3 b q 2 ( x 2 ) ⋅ . . . . a q T − 1 q T b q T ( x T ) ) = l o g ( π q 0 ) + l o g ( b q 1 ( x 1 ) b q 2 ( x 2 ) . . . b q T ( x T ) ) + log ⁡ ( a q 0 q 1 a q 1 q 2 . . . a q T − 1 q T ) = log ⁡ ( π q 0 ) + ∑ t = 1 T log ⁡ ( b q t ( x t ) ) + ∑ t = 1 T log ⁡ ( a q t − 1 q t ) \log(P(O,Q|\lambda)) =\log(\pi_{q_0}\cdot a_{q_0q_1}b_{q_1}(x_1)\cdot a_{q_1q_2}b_{q_2}(x_2)\cdot a_{q_2q_3}b_{q_2}(x_2)\cdot ....a_{q_{T-1}q_{T}}b_{q_T}(x_T)) =log(\pi_{q_0})+log(b_{q_1(x_1)}b_{q_2(x_2)}...b_{q_T(x_T)})+\log(a_{q_0q_1}a_{q_1q_2}...a_{q_{T-1}q_T}) =\log(\pi_{q_0})+\sum_{t=1}^T\log(b_{q_t}(x_t))+\sum_{t=1}^T\log(a_{q_{t-1}q_{t}}) log(P(OQλ))=log(πq0aq0q1bq1(x1)aq1q2bq2(x2)aq2q3bq2(x2)....aqT1qTbqT(xT))=log(πq0)+log(bq1(x1)bq2(x2)...bqT(xT))+log(aq0q1aq1q2...aqT1qT)=log(πq0)+t=1Tlog(bqt(xt))+t=1Tlog(aqt1qt)
往下有:
∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( P ( O , Q ∣ λ ) ) = ∑ Q P ( Q ∣ O , λ ˉ ) ( log ⁡ ( π q 0 ) + ∑ t = 1 T log ⁡ ( b q t ( x t ) ) + ∑ t = 1 T log ⁡ ( a q t − 1 q t ) ) = ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( π q 0 ) + ∑ Q P ( Q ∣ O , λ ˉ ) ∑ t = 1 T log ⁡ ( b q t ( x t ) ) + ∑ Q P ( Q ∣ O , λ ˉ ) ∑ t = 1 T log ⁡ ( a q t − 1 q t ) = ∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( π q 0 ) + ∑ Q ∑ t = 1 T P ( Q ∣ O , λ ˉ ) log ⁡ ( b q t ( x t ) ) + ∑ Q ∑ t = 1 T P ( Q ∣ O , λ ˉ ) log ⁡ ( a q t − 1 q t ) \sum_QP(Q|O,\bar{\lambda})\log(P(O,Q|\lambda)) =\sum_QP(Q|O,\bar{\lambda})(\log(\pi_{q_0})+\sum_{t=1}^T\log(b_{q_t}(x_t))+\sum_{t=1}^T\log(a_{q_{t-1}q_{t}})) =\sum_QP(Q|O,\bar{\lambda})\log(\pi_{q_0})+\sum_QP(Q|O,\bar{\lambda})\sum_{t=1}^T\log(b_{q_t}(x_t))+\sum_QP(Q|O,\bar{\lambda})\sum_{t=1}^T\log(a_{q_{t-1}q_{t}}) =\sum_QP(Q|O,\bar{\lambda})\log(\pi_{q_0})+\sum_Q\sum_{t=1}^TP(Q|O,\bar{\lambda})\log(b_{q_t}(x_t))+\sum_Q\sum_{t=1}^TP(Q|O,\bar{\lambda})\log(a_{q_{t-1}q_{t}}) QP(QO,λˉ)log(P(OQλ))=QP(QO,λˉ)(log(πq0)+t=1Tlog(bqt(xt))+t=1Tlog(aqt1qt))=QP(QO,λˉ)log(πq0)+QP(QO,λˉ)t=1Tlog(bqt(xt))+QP(QO,λˉ)t=1Tlog(aqt1qt)=QP(QO,λˉ)log(πq0)+Qt=1TP(QO,λˉ)log(bqt(xt))+Qt=1TP(QO,λˉ)log(aqt1qt)
对上面式子换一种写法:
∑ Q P ( Q ∣ O , λ ˉ ) log ⁡ ( π q 0 ) + ∑ Q ∑ t = 1 T P ( Q ∣ O , λ ˉ ) log ⁡ ( b q t ( x t ) ) + ∑ Q ∑ t = 1 T P ( Q ∣ O , λ ˉ ) log ⁡ ( a q t − 1 q t ) = ∑ i = 1 n P ( q 0 = i ∣ O , λ ˉ ) log ⁡ ( π q 0 ) + ∑ i = 1 n ∑ t = 1 T P ( q t = i ∣ O , λ ˉ ) log ⁡ ( b q t ( x t ) ) + ∑ i = 1 n ∑ j = 1 n ∑ t = 1 T P ( q t = i , q t + 1 = j ∣ O , λ ˉ ) log ⁡ ( a i j ) \sum_QP(Q|O,\bar{\lambda})\log(\pi_{q_0})+\sum_Q\sum_{t=1}^TP(Q|O,\bar{\lambda})\log(b_{q_t}(x_t))+\sum_Q\sum_{t=1}^TP(Q|O,\bar{\lambda})\log(a_{q_{t-1}q_{t}}) =\sum_{i=1}^nP(q_0=i|O,\bar{\lambda})\log(\pi_{q_0})+\sum_{i=1}^n\sum_{t=1}^TP(q_t=i|O,\bar{\lambda})\log(b_{q_t}(x_t))+\sum_{i=1}^n\sum_{j=1}^n\sum_{t=1}^TP(q_t=i,q_{t+1}=j|O,\bar{\lambda})\log(a_{ij}) QP(QO,λˉ)log(πq0)+Qt=1TP(QO,λˉ)log(bqt(xt))+Qt=1TP(QO,λˉ)log(aqt1qt)=i=1nP(q0=iO,λˉ)log(πq0)+i=1nt=1TP(qt=iO,λˉ)log(bqt(xt))+i=1nj=1nt=1TP(qt=i,qt+1=jO,λˉ)log(aij)

L ( a , b ) = ∑ i = 1 n P ( q 0 = i ∣ O , λ ˉ ) log ⁡ ( π q 0 ) + ∑ i = 1 n ∑ t = 1 T P ( q t = i ∣ O , λ ˉ ) log ⁡ ( b q t ( x t ) ) + ∑ i = 1 n ∑ j = 1 n ∑ t = 1 T P ( q t = i , q t + 1 = j ∣ O , λ ˉ ) log ⁡ ( a i j ) L(a,b)=\sum_{i=1}^nP(q_0=i|O,\bar{\lambda})\log(\pi_{q_0})+\sum_{i=1}^n\sum_{t=1}^TP(q_t=i|O,\bar{\lambda})\log(b_{q_t}(x_t))+\sum_{i=1}^n\sum_{j=1}^n\sum_{t=1}^TP(q_t=i,q_{t+1}=j|O,\bar{\lambda})\log(a_{ij}) L(a,b)=i=1nP(q0=iO,λˉ)log(πq0)+i=1nt=1TP(qt=iO,λˉ)log(bqt(xt))+i=1nj=1nt=1TP(qt=i,qt+1=jO,λˉ)log(aij)
且定义:
L ( a , b ) = L 1 ( a , b ) + L 2 ( a , b ) + L 3 ( a , b ) L(a,b) =L_1(a,b)+L_2(a,b)+L_3(a,b) L(a,b)=L1(a,b)+L2(a,b)+L3(a,b)
L 1 ( a , b ) = ∑ i = 1 n P ( q 0 = i ∣ O , λ ˉ ) log ⁡ ( π q 0 ) L_1(a,b) = \sum_{i=1}^nP(q_0=i|O,\bar{\lambda})\log(\pi_{q_0}) L1(a,b)=i=1nP(q0=iO,λˉ)log(πq0)
L 2 ( a , b ) = ∑ i = 1 n ∑ t = 1 T P ( q t = i ∣ O , λ ˉ ) log ⁡ ( b q t ( x t ) ) L_2(a,b) = \sum_{i=1}^n\sum_{t=1}^TP(q_t=i|O,\bar{\lambda})\log(b_{q_t}(x_t)) L2(a,b)=i=1nt=1TP(qt=iO,λˉ)log(bqt(xt))
L 3 ( a , b ) = ∑ i = 1 n ∑ j = 1 n ∑ t = 1 T P ( q t = i , q t + 1 = j ∣ O , λ ˉ ) log ⁡ ( a i j ) L_3(a,b) = \sum_{i=1}^n\sum_{j=1}^n\sum_{t=1}^TP(q_t=i,q_{t+1}=j|O,\bar{\lambda})\log(a_{ij}) L3(a,b)=i=1nj=1nt=1TP(qt=i,qt+1=jO,λˉ)log(aij)
可以看出 L 2 ( a , b ) L_2(a,b) L2(a,b) L 3 ( a , b ) L_3(a,b) L3(a,b)是可以相互独立优化的部分,其中 L 2 ( a , b ) L_2(a,b) L2(a,b)是关于参数 b b b的优化项, L 3 ( a , b ) L_3(a,b) L3(a,b)是关于参数 a a a的优化项,而 L 1 ( a , b ) L_1(a,b) L1(a,b)虽然跟 L 2 ( a , b ) L_2(a,b) L2(a,b) L 3 ( a , b ) L_3(a,b) L3(a,b)相关联,但在实际求解过程中可以先固定 q 0 q_0 q0的取值,然后再优化 L 2 ( a , b ) L_2(a,b) L2(a,b) L 3 ( a , b ) L_3(a,b) L3(a,b),可进一步阅读参考文章2

在求解 λ = { a , b } \lambda=\{a,b\} λ={a,b}的参数之前,需要先推导一下 L 2 ( a , b ) L_2(a,b) L2(a,b) L 3 ( a , b ) L_3(a,b) L3(a,b)
中的 P ( q t = i ∣ O , λ ˉ ) P(q_t=i|O,\bar{\lambda}) P(qt=iO,λˉ) P ( q t = i , q t + 1 = j ∣ O , λ ˉ ) P(q_t=i,q_{t+1}=j|O,\bar{\lambda}) P(qt=i,qt+1=jO,λˉ)的计算方法,即比较被熟知的
前向(Forward)算法和后向算法。在推导过程中,贝叶斯公式
P ( A B ) = P ( A ∣ B ) P ( B ) P(AB)=P(A|B)P(B) P(AB)=P(AB)P(B)及其变形 P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B) = \frac{P(AB)}{P(B)} P(AB)=P(B)P(AB) 将被反复使用。
在推导之前,先定义符号 O t t + m = { o t → o t + 1 → . . . → o t + m } O_t^{t+m}=\{o_{t}\rightarrow o_{t+1}\rightarrow ...\rightarrow o_{t+m}\} Ott+m={otot+1...ot+m}
P ( q t = i ∣ O , λ ˉ ) = P ( q t = i , O ∣ λ ˉ ) P ( O ∣ λ ˉ ) = P ( q t = i , O 1 T ∣ λ ˉ ) P ( O ∣ λ ˉ ) = P ( q t = i , O 1 t , O t + 1 T ∣ λ ˉ ) P ( O ∣ λ ˉ ) = P ( O t + 1 T ∣ q t = i , O 1 t , λ ˉ ) P ( q t = i , O 1 t ∣ λ ˉ ) P ( O ∣ λ ˉ ) = P ( O t + 1 T ∣ q t = i , λ ˉ ) P ( q t = i , O 1 t ∣ λ ˉ ) P ( O ∣ λ ˉ ) P(q_t=i|O,\bar{\lambda})= \frac{P(q_t=i,O|\bar{\lambda})}{P(O|\bar{\lambda})} = \frac{P(q_t=i,O_1^T|\bar{\lambda})}{P(O|\bar{\lambda})} = \frac{P(q_t=i,O_1^t,O_{t+1}^T|\bar{\lambda})}{P(O|\bar{\lambda})} =\frac{P(O_{t+1}^T|q_t=i,O_1^t,\bar{\lambda})P(q_t=i,O_1^t|\bar{\lambda})}{P(O|\bar{\lambda})} =\frac{P(O_{t+1}^T|q_t=i,\bar{\lambda})P(q_t=i,O_1^t|\bar{\lambda})}{P(O|\bar{\lambda})} P(qt=iO,λˉ)=P(Oλˉ)P(qt=i,Oλˉ)=P(Oλˉ)P(qt=i,O1Tλˉ)=P(Oλˉ)P(qt=i,O1t,Ot+1Tλˉ)=P(Oλˉ)P(Ot+1Tqt=i,O1t,λˉ)P(qt=i,O1tλˉ)=P(Oλˉ)P(Ot+1Tqt=i,λˉ)P(qt=i,O1tλˉ)
再定义 α t ( i ) = P ( q t = i , O 1 t ∣ λ ˉ ) , β t ( i ) = P ( O t + 1 T ∣ q t = i , λ ˉ ) \alpha_t(i)= P(q_t=i,O_1^t|\bar{\lambda}),\beta_t(i) = P(O_{t+1}^T|q_t=i,\bar{\lambda}) αt(i)=P(qt=i,O1tλˉ),βt(i)=P(Ot+1Tqt=i,λˉ)
那么 P ( q t = i ∣ O , λ ˉ ) = α t ( i ) β t ( i ) P(q_t=i|O,\bar{\lambda}) = \alpha_t(i)\beta_t(i) P(qt=iO,λˉ)=αt(i)βt(i), 其中,
α t ( i ) = P ( q t = i , O 1 t ∣ λ ˉ ) = ∑ h = 1 n P ( q t − 1 = h , q t = i , O 1 t − 1 , o t ∣ λ ˉ ) = ∑ h = 1 n P ( q t = i , o t ∣ q t − 1 = h , O 1 t − 1 , λ ˉ ) P ( q t − 1 = h , O 1 t − 1 , λ ˉ ) = ∑ h = 1 n P ( q t = i , o t ∣ q t − 1 = h ) P ( q t − 1 = h , O 1 t − 1 , λ ˉ ) = ∑ h = 1 n P ( o t ∣ q t = i , q t − 1 = h ) P ( q t = i , q t − 1 = h ) P ( q t − 1 = h , O 1 t − 1 , λ ˉ ) = ∑ h = 1 n b i ( o t ) a h i α t − 1 ( h ) = ∑ h = 1 n α t − 1 ( h ) a h i b i ( o t ) \alpha_t(i) = P(q_t=i,O_1^t|\bar{\lambda}) = \sum_{h=1}^n P(q_{t-1}=h,q_t=i,O_1^{t-1},o_t|\bar{\lambda}) = \sum_{h=1}^n P(q_t=i,o_t|q_{t-1}=h,O_1^{t-1},\bar{\lambda})P(q_{t-1}=h,O_1^{t-1},\bar{\lambda}) = \sum_{h=1}^n P(q_t=i,o_t|q_{t-1}=h)P(q_{t-1}=h,O_1^{t-1},\bar{\lambda}) = \sum_{h=1}^n P(o_t|q_t=i,q_{t-1}=h)P(q_t=i,q_{t-1}=h)P(q_{t-1}=h,O_1^{t-1},\bar{\lambda}) = \sum_{h=1}^n b_i(o_t)a_{hi}\alpha_{t-1}(h) =\sum_{h=1}^n \alpha_{t-1}(h)a_{hi}b_i(o_t) αt(i)=P(qt=i,O1tλˉ)=h=1nP(qt1=h,qt=i,O1t1,otλˉ)=h=1nP(qt=i,otqt1=h,O1t1,λˉ)P(qt1=h,O1t1,λˉ)=h=1nP(qt=i,otqt1=h)P(qt1=h,O1t1,λˉ)=h=1nP(otqt=i,qt1=h)P(qt=i,qt1=h)P(qt1=h,O1t1,λˉ)=h=1nbi(ot)ahiαt1(h)=h=1nαt1(h)ahibi(ot)
和:
β t ( i ) = β t ( i ) = P ( O t + 1 T ∣ q t = i , λ ˉ ) = ∑ j = 1 n P ( q t + 1 = j , O t + 1 T ∣ q t = i , λ ˉ ) = ∑ j = 1 n P ( q t + 1 = j , o t + 1 , O t + 2 T ∣ q t = i , λ ˉ ) = ∑ j = 1 n P ( O t + 2 T ∣ q t + 1 = j , o t + 1 , q t = i , λ ˉ ) P ( q t + 1 = j , o t + 1 , q t = i , λ ˉ ) = ∑ j = 1 n P ( O t + 2 T ∣ q t + 1 = j ) P ( q t + 1 = j , o t + 1 , q t = i , λ ˉ ) = ∑ j = 1 n β t + 1 ( j ) P ( q t + 1 = j , o t + 1 , q t = i , λ ˉ ) = ∑ j = 1 n β t + 1 ( j ) P ( o t + 1 ∣ q t + 1 = j , λ ˉ ) P ( q t + 1 = j ∣ q t = i , λ ˉ ) = ∑ j = 1 n β t + 1 ( j ) a i j b j ( o t + 1 ) = ∑ j = 1 n a i j b j ( o t + 1 ) β t + 1 ( j ) \beta_t(i) = \beta_t(i) = P(O_{t+1}^T|q_t=i,\bar{\lambda}) = \sum_{j=1}^nP(q_{t+1}=j,O_{t+1}^T|q_t=i,\bar{\lambda}) = \sum_{j=1}^nP(q_{t+1}=j,o_{t+1},O_{t+2}^T|q_t=i,\bar{\lambda}) = \sum_{j=1}^nP(O_{t+2}^T|q_{t+1}=j,o_{t+1},q_t=i,\bar{\lambda})P(q_{t+1}=j,o_{t+1},q_t=i,\bar{\lambda}) = \sum_{j=1}^nP(O_{t+2}^T|q_{t+1}=j)P(q_{t+1}=j,o_{t+1},q_t=i,\bar{\lambda}) = \sum_{j=1}^n \beta_{t+1}(j) P(q_{t+1}=j,o_{t+1},q_t=i,\bar{\lambda}) = \sum_{j=1}^n \beta_{t+1}(j) P(o_{t+1}|q_{t+1}=j,\bar{\lambda})P(q_{t+1}=j|q_{t}=i,\bar{\lambda}) = \sum_{j=1}^n \beta_{t+1}(j) a_{ij} bj(o_{t+1}) = \sum_{j=1}^n a_{ij} bj(o_{t+1})\beta_{t+1}(j) βt(i)=βt(i)=P(Ot+1Tqt=i,λˉ)=j=1nP(qt+1=j,Ot+1Tqt=i,λˉ)=j=1nP(qt+1=j,ot+1,Ot+2Tqt=i,λˉ)=j=1nP(Ot+2Tqt+1=j,ot+1,qt=i,λˉ)P(qt+1=j,ot+1,qt=i,λˉ)=j=1nP(Ot+2Tqt+1=j)P(qt+1=j,ot+1,qt=i,λˉ)=j=1nβt+1(j)P(qt+1=j,ot+1,qt=i,λˉ)=j=1nβt+1(j)P(ot+1qt+1=j,λˉ)P(qt+1=jqt=i,λˉ)=j=1nβt+1(j)aijbj(ot+1)=j=1naijbj(ot+1)βt+1(j)

显然, P ( O ∣ λ ) = ∑ i = 1 n P ( q t = i , O 1 t , O t + 1 T ∣ λ ) = ∑ i = 1 n P ( O t + 1 T ∣ q t = i , O 1 t , λ ) P ( q t = i , O 1 t ∣ λ ) = ∑ i = 1 n α t ( i ) β t ( i ) P(O|\lambda) = \sum_{i=1}^n P(q_t=i,O_1^t,O_{t+1}^T|\lambda) = \sum_{i=1}^n P(O_{t+1}^T|q_t=i,O_1^t,\lambda)P(q_t=i,O_1^t|\lambda) =\sum_{i=1}^n \alpha_t(i)\beta_t(i) P(Oλ)=i=1nP(qt=i,O1t,Ot+1Tλ)=i=1nP(Ot+1Tqt=i,O1t,λ)P(qt=i,O1tλ)=i=1nαt(i)βt(i)
或者 P ( O ∣ λ ) = ∑ i = 1 n P ( q T = i , O 1 T ∣ λ ) = ∑ i = 1 n α T ( i ) P(O|\lambda) = \sum_{i=1}^nP(q_T=i,O_1^T|\lambda) =\sum_{i=1}^n \alpha_T(i) P(Oλ)=i=1nP(qT=i,O1Tλ)=i=1nαT(i)
未完待续。。。。

7.参考文章

  1. EM算法与GMM的训练应用
  2. HMM的Baum-Welch算法和Viterbi算法公式推导细节
  3. GMM-HMM语音识别模型 原理篇
  4. MFCC提取详细及Matlab实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值