日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

语音识别学习日志 2019-7-15 语音识别基础知识准备4 {Baun-Welch算法}

發(fā)布時(shí)間:2024/8/23 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 语音识别学习日志 2019-7-15 语音识别基础知识准备4 {Baun-Welch算法} 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HMM 前向算法(Forward Algorithm)詳細(xì)解釋參考:?http://www.52nlp.cn/hmm-learn-best-practices-five-forward-algorithm-1

http://www.52nlp.cn/hmm-learn-best-practices-five-forward-algorithm-2

http://www.52nlp.cn/hmm-learn-best-practices-five-forward-algorithm-3

http://www.52nlp.cn/hmm-learn-best-practices-five-forward-algorithm-4

后向算法(Backward Algorithm詳細(xì)解釋參考:http://www.52nlp.cn/hmm-learn-best-practices-seven-forward-backward-algorithm-1

http://www.52nlp.cn/hmm-learn-best-practices-seven-forward-backward-algorithm-2

http://www.52nlp.cn/hmm-learn-best-practices-seven-forward-backward-algorithm-3

http://www.52nlp.cn/hmm-learn-best-practices-seven-forward-backward-algorithm-4

http://www.52nlp.cn/hmm-learn-best-practices-seven-forward-backward-algorithm-5

?

HMM模型參數(shù)解是HMM模型使用中的最復(fù)雜的一個(gè)問題。

HMM模型參數(shù)求解概述

HMM模型參數(shù)求解根據(jù)已知的條件可以分為兩種情況。

第一種情況較為簡單,就是我們已知D個(gè)長度為T的觀測序列和對(duì)應(yīng)的隱藏狀態(tài)序列,即是已知的,此時(shí)我們可以很容易的用最大似然來求解模型參數(shù)。

假設(shè)樣本從隱藏狀態(tài)轉(zhuǎn)移到的頻率計(jì)數(shù)是,那么狀態(tài)轉(zhuǎn)移矩陣求得為:

?? ,?

假設(shè)樣本隱藏狀態(tài)為且觀測狀態(tài)為的頻率計(jì)數(shù)是,那么觀測狀態(tài)概率矩陣為:

? ,?

?假設(shè)所有樣本中初始隱藏狀態(tài)為的頻率計(jì)數(shù)為C(i),那么初始概率分布為:

??可見第一種情況下求解模型還是很簡單的。但是在很多時(shí)候,我們無法得到HMM樣本觀察序列對(duì)應(yīng)的隱藏序列,只有D個(gè)長度為T的觀測序列,即是已知的,此時(shí)我們能不能求出合適的HMM模型參數(shù)呢?這就是我們的第二種情況,也是我們本文要討論的重點(diǎn)。它的解法最常用的是鮑姆-韋爾奇算法,其實(shí)就是基于EM算法的求解,只不過鮑姆-韋爾奇算法出現(xiàn)的時(shí)代,EM算法還沒有被抽象出來,所以我們本文還是說鮑姆-韋爾奇(Baun-Welch)算法。

Baum-Welch算法是為了解決HMM的參數(shù)估計(jì)問題而提出的,而且是沒有標(biāo)注也就是HMM的狀態(tài)序列未知的參數(shù)估計(jì)問題。具體來說,就是已知觀測序列O=(o1,o2,...,oT),估計(jì)模型參數(shù)λ=(A,B,π),使得在該模型下觀測序列概率P(O|λ)最大。由于狀態(tài)序列未知,因此這可以看做是一個(gè)含有隱變量的參數(shù)估計(jì)問題,解決這一問題的經(jīng)典算法就是EM算法。Baum-Welch算法就是EM算法在隱馬爾科夫模型學(xué)習(xí)中的具體體現(xiàn)。下面簡單敘述一下該算法。

Baun-Welch算法原理

鮑姆-韋爾奇算法原理既然使用的就是EM算法的原理,那么我們需要在E步求出聯(lián)合分布基于條件概率的期望,其中為當(dāng)前的模型參數(shù),然后再M(fèi)步最大化這個(gè)期望,得到更新的模型參數(shù)λ。接著不停的進(jìn)行EM迭代,直到模型參數(shù)的值收斂為止。

 首先來看看E步,當(dāng)前模型參數(shù)為, 聯(lián)合分布基于條件概率的期望表達(dá)式為:


?

在M步,我們極大化上式,然后得到更新后的模型參數(shù)如下:?????

???????????????????????????????????????????????????????????????????????????

?通過不斷的E步和M步的迭代,直到收斂。下面我們來看看鮑姆-韋爾奇算法的推導(dǎo)過程。

Baun-Welch算法的推導(dǎo)

我們的訓(xùn)練數(shù)據(jù)為,其中任意一個(gè)觀測序列,其對(duì)應(yīng)的未知的隱藏狀態(tài)序列表示為:.

? ? ? ? ? ? ?首先看鮑姆-韋爾奇算法的E步,我們需要先計(jì)算聯(lián)合分布的表達(dá)式如下:

??????????????????????????????????????????????????

?????????????我們的E步得到的期望表達(dá)式為:

?????????????????????????????????????????????????? ? ?????

??????????????在M步我們要極大化上式。由于,而是常數(shù),因此我們要極大化的式子等價(jià)于:

???????????????????????????????? ? ? ? ???????????????????????

??????????????我們將上面的表達(dá)式帶入我們的極大化式子,得到的表達(dá)式如下:

?????????????????????????????? ? ? ? ? ??????????????????????????

??????????????我們的隱藏模型參數(shù),因此下面我們只需要對(duì)上式分別對(duì)A,B,Π求導(dǎo)即可得到我們更新的模型參數(shù).

??????????????首先我們看看對(duì)模型參數(shù)Π的求導(dǎo)。由于Π只在上式中括號(hào)里的第一部分出現(xiàn),因此我們對(duì)于Π的極大化式子為:

??????????????????????????????????????????? ? ? ???????????

? ? ? ? ? ? ??由于還滿足,因此根據(jù)拉格朗日子乘法,我們得到要極大化的拉格朗日函數(shù)為:

?????????????????????????????????????????????????????

?????????????其中,為拉格朗日系數(shù)。上式對(duì)求偏導(dǎo)數(shù)并令結(jié)果為0, 我們得到:

?????????????????????????????????????????????????????? ??

?????????????令i分別等于從1到N,從上式可以得到N個(gè)式子,對(duì)這N個(gè)式子求和可得:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

??????????????從上兩式消去,得到的表達(dá)式為:

???????????????????????????????????????????????

?????????????由前向概率的定義可得:

?????????????????????? ? ????????????????????????????????

?????????????因此最終我們?cè)贛步的迭代公式為:

????????????????????????????? ? ? ? ? ?????????????????????????

?????????????現(xiàn)在我們來看看A的迭代公式求法。方法和Π的類似。由于A只在最大化函數(shù)式中括號(hào)里的第二部分出現(xiàn),而這部分式子可以整理為:

????????????????????????? ? ????????????????

?????????

?由于還滿足。和求解類似,我們可以用拉格朗日子乘法并對(duì)求導(dǎo),并令結(jié)果為0,可以得到的迭代表達(dá)式為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

???????

?給定模型λ和觀測序列O,在時(shí)刻t處于狀態(tài),且時(shí)刻t+1處于狀態(tài)的概率記為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ?

而可以由前向后向概率來表示為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

??從而最終我們得到的表達(dá)式如下:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

??????????

因此可得表達(dá)式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ??有了的迭代公式,我們就可以迭代求解HMM模型參數(shù)了。

Baun-Welch算法流程總結(jié)?

這里我們概括總結(jié)下鮑姆-韋爾奇算法的流程。

? 輸入:?D個(gè)觀測序列樣本

? 輸出:HMM模型參數(shù)

1)隨機(jī)初始化所有的

2) 對(duì)于每個(gè)樣本,用前向后向算法計(jì)算

3)??更新模型參數(shù):

????????????

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

4) 如果的值已經(jīng)收斂,則算法結(jié)束,否則回到第2)步繼續(xù)迭代。

    以上就是Baun-Welch算法的整個(gè)過程。

?????????????????????????????

??????????????????????????????????????????

?????????????????????????????????????????
?

總結(jié)

以上是生活随笔為你收集整理的语音识别学习日志 2019-7-15 语音识别基础知识准备4 {Baun-Welch算法}的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。