什么是HMM
假設(shè)我手里有三個(gè)不同的骰子。第一個(gè)骰子是我們平常見的骰子(稱這個(gè)骰子為D6)失乾,6個(gè)面常熙,每個(gè)面(1,2碱茁,3裸卫,4,5纽竣,6)出現(xiàn)的概率是1/6墓贿。第二個(gè)骰子是個(gè)四面體(稱這個(gè)骰子為D4),每個(gè)面(1,2募壕,3调炬,4)出現(xiàn)的概率是1/4。第三個(gè)骰子有八個(gè)面(稱這個(gè)骰子為D8)舱馅,每個(gè)面(1缰泡,2,3代嗤,4棘钞,5,6干毅,7宜猜,8)出現(xiàn)的概率是1/8。
假設(shè)我們開始擲骰子硝逢,我們先從三個(gè)骰子里挑一個(gè)姨拥,挑到每一個(gè)骰子的概率都是1/3。然后我們擲骰子渠鸽,得到一個(gè)數(shù)字叫乌,1,2徽缚,3憨奸,4,5凿试,6排宰,7,8中的一個(gè)那婉。不停的重復(fù)上述過程板甘,我們會(huì)得到一串?dāng)?shù)字,每個(gè)數(shù)字都是1吧恃,2虾啦,3麻诀,4痕寓,5,6蝇闭,7呻率,8中的一個(gè)。例如我們可能得到這么一串?dāng)?shù)字(擲骰子10次):1 6 3 5 2 7 3 5 2 4這串?dāng)?shù)字叫做可見狀態(tài)鏈呻引。但是在隱馬爾可夫模型中礼仗,我們不僅僅有這么一串可見狀態(tài)鏈,還有一串隱含狀態(tài)鏈。在這個(gè)例子里元践,這串隱含狀態(tài)鏈就是你用的骰子的序列韭脊。比如,隱含狀態(tài)鏈有可能是:D6 D8 D8 D6 D4 D8 D6 D6 D4 D8单旁。
一般來說沪羔,HMM中說到的隱馬爾可夫鏈其實(shí)是指隱含狀態(tài)鏈。隱含狀態(tài)(骰子)之間存在轉(zhuǎn)換概率(transition probability)象浑,可見狀態(tài)之間沒有轉(zhuǎn)換概率蔫饰,但是隱含狀態(tài)和可見狀態(tài)之間有一個(gè)概率叫做輸出概率(emission probability)。就我們的例子來說愉豺,六面骰(D6)產(chǎn)生1的輸出概率是1/6篓吁。產(chǎn)生2,3蚪拦,4杖剪,5,6的概率也都是1/6驰贷。
其實(shí)對(duì)于我們上述的HMM來說摘盆,如果提前知道所有隱含狀態(tài)之間的轉(zhuǎn)換概率和所有隱含狀態(tài)到所有可見狀態(tài)之間的輸出概率,做模擬是相當(dāng)容易的饱苟。但是應(yīng)用HMM模型時(shí)候呢孩擂,往往是缺失了一部分信息的,有時(shí)候你知道骰子有幾種箱熬,每種骰子是什么类垦,但是不知道擲出來的骰子序列;有時(shí)候你只是看到了很多次擲骰子的結(jié)果城须,剩下的什么都不知道蚤认。如果應(yīng)用算法去估計(jì)這些缺失的信息,就成了一個(gè)很重要的問題糕伐。這些算法我會(huì)在下面詳細(xì)講砰琢。
和HMM模型相關(guān)的算法主要分為三類,分別解決三種問題:
1)知道骰子有幾種(隱含狀態(tài)數(shù)量)良瞧,每種骰子是什么(轉(zhuǎn)換概率)陪汽,根據(jù)擲骰子擲出的結(jié)果(可見狀態(tài)鏈),我想知道每次擲出來的都是哪種骰子(隱含狀態(tài)鏈)褥蚯。
這個(gè)問題呢挚冤,在語音識(shí)別領(lǐng)域呢,叫做解碼問題赞庶。這個(gè)問題其實(shí)有兩種解法训挡,會(huì)給出兩個(gè)不同的答案澳骤。每個(gè)答案都對(duì),只不過這些答案的意義不一樣澜薄。這里只給出第一種解法为肮。這種解法叫做求最大似然狀態(tài)路徑,說通俗點(diǎn)呢肤京,就是我求一串骰子序列弥锄,這串骰子序列產(chǎn)生觀測結(jié)果的概率最大。
2)還是知道骰子有幾種(隱含狀態(tài)數(shù)量)蟆沫,每種骰子是什么(轉(zhuǎn)換概率)籽暇,根據(jù)擲骰子擲出的結(jié)果(可見狀態(tài)鏈),我想知道擲出這個(gè)結(jié)果的概率饭庞。
看似這個(gè)問題意義不大戒悠,因?yàn)槟銛S出來的結(jié)果很多時(shí)候都對(duì)應(yīng)了一個(gè)比較大的概率。問這個(gè)問題的目的呢舟山,其實(shí)是檢測觀察到的結(jié)果和已知的模型是否吻合绸狐。如果很多次結(jié)果都對(duì)應(yīng)了比較小的概率,那么就說明我們已知的模型很有可能是錯(cuò)的累盗,有人偷偷把我們的骰子給換了寒矿。
3)知道骰子有幾種(隱含狀態(tài)數(shù)量),不知道每種骰子是什么(轉(zhuǎn)換概率)若债,觀測到很多次擲骰子的結(jié)果(可見狀態(tài)鏈)符相,我想調(diào)節(jié)每種骰子是什么(轉(zhuǎn)換概率)來讓出現(xiàn)這種結(jié)果的概率最大。
這個(gè)問題很重要蠢琳,因?yàn)檫@是最常見的情況啊终。很多時(shí)候我們只有可見結(jié)果,不知道HMM模型里的參數(shù)傲须,我們需要從可見結(jié)果得到出這些參數(shù)蓝牲,使這個(gè)模型是一個(gè)最優(yōu)的模型,這是建模的一個(gè)必要步驟泰讽。
正式定義
好了直觀的理解完成了例衍,我們來給出音隱馬爾可夫模型的基本定義
我們將上述直觀的理解抽象表達(dá)一下:
- 基本元素
隱馬爾可夫模型可以用5個(gè)基本元素來描述,包括兩個(gè)狀態(tài)集和三個(gè)狀態(tài)矩陣
1)隱含狀態(tài)S
例如S = [S1, S2, S3]
2)可觀測狀態(tài)集O
例如O = [O1, O2, O3, O4, O5]
(注意:隱含狀態(tài)集S不一定需要和可觀測狀態(tài)集O的數(shù)目一致)
3)初始狀態(tài)概率矩陣π
表示隱含狀態(tài)S在初始狀態(tài)時(shí)的概率矩陣已卸,例如π = [P(S1), P(S2), P(S3)] = [P1, P2, P3]
4)隱含狀態(tài)轉(zhuǎn)移概率矩陣A
表示各個(gè)隱含狀態(tài)之間的狀態(tài)轉(zhuǎn)移概率佛玄,aij表達(dá)t時(shí)刻為Si的狀態(tài),在t+1時(shí)刻變換為Sj的概率咬最。
5)觀測狀態(tài)轉(zhuǎn)移概率矩陣B
令N表示隱含狀態(tài)數(shù)目翎嫡,M表示可觀測狀態(tài)數(shù)目,則
Bij = P(Oi | Sj)永乌,1<=i<=N, 1<=j<=M
表示著在t時(shí)刻惑申,隱含狀態(tài)為Sj的情況下,可觀察狀態(tài)為Oi的概率翅雏,也就是我們上述的輸出概率圈驼。
總結(jié):一般來說,我們可以使用一個(gè)三元組來表示隱馬爾可夫模型
λ = (π, A, B)
一旦確定了這個(gè)隱馬爾可夫模型望几,我們就可以使用它來解決各種各樣的問題了绩脆。根據(jù)上述說法,我們知道隱馬爾可夫模型可以解決的問題有三類橄抹,前兩類實(shí)際上是一個(gè)模式識(shí)別問題:解碼和評(píng)估靴迫,后一類是模型學(xué)習(xí)問題。
相關(guān)算法
- viterbi算法
- 前向算法
- EM
如何使用隱馬爾可夫模型進(jìn)行和弦識(shí)別
《Chord Segmentation and Recognition using EM-Trained Hidden Markov Models》這篇論文中楼誓,使用每個(gè)和弦對(duì)應(yīng)一個(gè)隱藏狀態(tài)(隱藏狀態(tài)數(shù)量已知)玉锌,每一幀的PCP譜圖作為可見狀態(tài)(可見狀態(tài)鏈),我們采用EM算法訓(xùn)練模型疟羹。在得到HMM之后之后主守,我們就可以采用viterbi方法求出概率最大的隱藏序列(最大似然路徑),并對(duì)齊到每個(gè)時(shí)間幀上榄融。最后参淫,闡述一種基于旋轉(zhuǎn)PCP的加權(quán)平均算法來處理原始的PCP,這種方法計(jì)算所有音級(jí)的加權(quán)平均值(通過標(biāo)注和弦出現(xiàn)的頻率進(jìn)行加權(quán))愧杯,然后將加權(quán)平均PCP向量解旋回到它們的原始位置涎才,并為每個(gè)和弦構(gòu)建新的,正則化的模型的位置力九。
之后《A System for Acoustic Chord Transcription and Key Extrac- tion from Audio Using Hidden Markov Models Trained on Synthe- sized Audio》和《Acoustic Chord Transcription and Key Extraction from Audio Using Key-Dependent HMMs Trained on Synthesized Audio》這兩篇論文根據(jù)和弦的基音區(qū)分方法憔维,定義 24 個(gè)基音,為每個(gè)基音建立一個(gè) HMM畏邢,構(gòu)造 Key-Dependent HMM 模型. 對(duì)于輸入的音樂信號(hào)业扒,系統(tǒng)利用 Viterbi 解碼在 24 個(gè)模型中選擇一個(gè)最大可能的基調(diào)模型,從而確定輸入音樂的基調(diào)舒萎,并從對(duì)應(yīng)于這個(gè)基調(diào)模型的最優(yōu)狀態(tài)路徑來得到和弦序列.
搬運(yùn):https://www.zhihu.com/question/20962240/answer/33438846