七,、前向-后向算法(Forward-backward algorithm)
根據(jù)觀察序列生成隱馬爾科夫模型(Generating a HMM from a sequence of obersvations)
與HMM模型相關(guān)的“有用”的問題是評(píng)估(前向算法)和解碼(維特比算法)——它們一個(gè)被用來測(cè)量一個(gè)模型的相對(duì)適用性,,另一個(gè)被用來推測(cè)模型隱藏的部分在做什么(“到底發(fā)生了”什么)??梢钥闯鏊鼈兌家蕾囉陔[馬爾科夫模型(HMM)參數(shù)這一先驗(yàn)知識(shí)——狀態(tài)轉(zhuǎn)移矩陣,,混淆(觀察)矩陣,,以及向量(初始化概率向量)。
然而,,在許多實(shí)際問題的情況下這些參數(shù)都不能直接計(jì)算的,,而要需要進(jìn)行估計(jì)——這就是隱馬爾科夫模型中的學(xué)習(xí)問題,。前向-后向算法就可以以一個(gè)觀察序列為基礎(chǔ)來進(jìn)行這樣的估計(jì),,而這個(gè)觀察序列來自于一個(gè)給定的集合,,它所代表的是一個(gè)隱馬爾科夫模型中的一個(gè)已知的隱藏集合。
一個(gè)例子可能是一個(gè)龐大的語音處理數(shù)據(jù)庫,,其底層的語音可能由一個(gè)馬爾可夫過程基于已知的音素建模的,,而其可以觀察的部分可能由可識(shí)別的狀態(tài)(可能通過一些矢量數(shù)據(jù)表示)建模的,但是沒有(直接)的方式來獲取隱馬爾科夫模型(HMM)參數(shù),。
前向-后向算法并非特別難以理解,,但自然地比前向算法和維特比算法更復(fù)雜。由于這個(gè)原因,,這里就不詳細(xì)講解前向-后向算法了(任何有關(guān)HMM模型的參考文獻(xiàn)都會(huì)提供這方面的資料的),。
總之,前向-后向算法首先對(duì)于隱馬爾科夫模型的參數(shù)進(jìn)行一個(gè)初始的估計(jì)(這很可能是完全錯(cuò)誤的),,然后通過對(duì)于給定的數(shù)據(jù)評(píng)估這些參數(shù)的的價(jià)值并減少它們所引起的錯(cuò)誤來重新修訂這些HMM參數(shù),。從這個(gè)意義上講,它是以一種梯度下降的形式尋找一種錯(cuò)誤測(cè)度的最小值,。
之所以稱其為前向-后向算法,,主要是因?yàn)閷?duì)于網(wǎng)格中的每一個(gè)狀態(tài),它既計(jì)算到達(dá)此狀態(tài)的“前向”概率(給定當(dāng)前模型的近似估計(jì)),,又計(jì)算生成此模型最終狀態(tài)的“后向”概率(給定當(dāng)前模型的近似估計(jì)),。 這些都可以通過利用遞歸進(jìn)行有利地計(jì)算,就像我們已經(jīng)看到的,??梢酝ㄟ^利用近似的HMM模型參數(shù)來提高這些中間概率進(jìn)行調(diào)整,而這些調(diào)整又形成了前向-后向算法迭代的基礎(chǔ),。
注:關(guān)于前向-后向算法,,原文只講了這么多,后繼我將按自己的理解補(bǔ)充一些內(nèi)容,。
未完待續(xù):前向-后向算法2
本文翻譯自:http://www.comp./roger/HiddenMarkovModels/html_dev/main.html
部分翻譯參考:隱馬爾科夫模型HMM自學(xué)
轉(zhuǎn)載請(qǐng)注明出處“我愛自然語言處理”:www.
本文鏈接地址:http://www./hmm-learn-best-practices-seven-forward-backward-algorithm-1