隱馬可夫模型:探索看不到的世界的數學工具

來源:互聯網
上載者:User

標籤:

這篇要討論的可不是哲學議題,而是希望以一個“數學工具”的角度來看隱馬可夫模型(Hidden Markov Model, HMM)是什麼,它的背後假設、長處與限制,以理解這樣的工具可以拿來做什麼用,而不是只與特定的應用綁在一起。

隱馬可夫模型?隱藏的馬可夫模型?

隱馬可夫模型是機器學習(Machine Learning)領域中常常用到的理論模型,從語音辨識(Speech Recognition)、手勢辨識(gesture recognition),到生物資訊學(Bioinformatics)裡的種種應用,都可以見到這個工具的身影。

既然名字裡有“馬可夫”,想當然,這又是一個馬可夫模型(Markov model)的延伸。馬可夫模型所描述的,是一連串事件接續發生的機率:

馬可夫鏈,通俗地說,就是同類型的事件(不同的狀態)依序發生的機率,舉例來說,假設天氣有三種狀態:晴天、陰天跟雨天。如果昨天是雨天,那麼今天是雨天的機率,會跟昨天是晴天而今天是雨天的機率有所不同,這是因為我們相信天氣現象在時間上有某種連續性,前面發生的狀態會影響到後面發生的狀態,而馬可夫模型就是描述這種前後關係的數學語言。

而隱馬可夫模型,顧名思義的,就是有什麼東西“隱藏”起來了。我們沿用之前天氣的例子,假設我因為腳受傷,必須住在一個房間裡,看不到外面的天氣(這聽起來不太合理,但是大家理解意思就好),但是我可以看到我隔壁房間的室友每天從事的運動:跑步、健身操或是遊泳三者之一。

如果把室友每天從事的運動項目記錄下來,就是他“運動”這個事件的馬可夫鏈,這是我可以觀察的到的現象。然後,我又依照過去的經驗,知悉在每種天氣狀況下,他從事各項運動的機率,那麼我是不是可以透過我的觀察和知識,去推測每天的天氣?

在這個例子裡,有兩個事件的序列:一個是我觀察得到的,室友每天所從事的運動項目;另一個是我看不到的,也就是對我來說是隱藏的,外面每天的天氣。由於我知悉這兩個馬可夫鏈之間的關係,所以我便可以由其中一個馬可夫鏈的狀態,去預測另一個馬可夫鏈的狀態。而隱馬可夫模型,便是描述這樣的兩個序列的關係的統計模型。

簡單的說,隱馬可夫模型提供了一套數學的理論以及工具,讓我們可以利用看得到的連續現象去探究、預測另一個看不到的連續現象。

當然,這裡的看不到並不表示真的無從觀察,以前面所舉的例子來說,我在腳沒受傷的時候,還是可以到外面去觀察天氣的,只是在某個特定的條件之下,天氣對我來說被隱藏起來了。


柏拉圖的洞穴預言(Allegory of Cave),講的是“我們看到的世界”跟“真實的世界”的關係,恰好可以用來比喻一下隱馬可夫模型的作用。

語音辨識離不開隱馬可夫模型

我們還可以進一步用語音辨識當做例子,來說明HMM的用處。

在語言學上,我們可以把人說話發出的聲音分成各種音節(syllable),所以理論上,我們如果有一段錄音,只要能分辨每一個音節發的音是哪些母音與子音,就能夠把這個人講的話辨識成文字。

任何理論上可行的事情,必然伴隨著實務上的困難。這種音節對應的工作看似容易,但是實際上會遇到很多模稜兩可的情況。以中文為例,兩個三聲的字連著念,前面的會讀成二聲,加上同音字、破聲字,同字的語音與讀音…等等,都增加了分辨過程的難度。

那麼,HMM 是怎麼跑進來的呢?試想,語音是一連串的音節,而我們想要辨識成的文字,則是一連串的字;對語音辨識系統而言,語音這個音節序列是看得到的訊號,而系統想要做的是推測出與其相對應的,看不到的文字序列,所以正好是 HMM 所類比的狀況。

隱馬可夫模型在語音辨識的的應用,大抵始於1970年代晚期的 IBM 計劃(Jelinek),時至今日,我們生活中可以看到的各種語音辨識系統,例如Apple 的siri,Google的voice search,微軟前不久在北京展示的中英同步口譯,背後都是以HMM作為基礎技術。

隱馬可夫模型:生物資訊學、股票價格預測都有應用

生物資訊學(bioinformatics)是另一個大量使用到 HMM 的領域,從DNA 序列的比對到演化曆程的推論,只要是跟基因序列有關的,幾乎都看得到 HMM 的應用。以DNA定序為例,一段採集到的DNA序列,包含了外顯子(exon)和內隱子(intron)兩種段落,兩者在細胞複製上有不同的功能,但都是由眾多的基因(gene,有A、T、C、G 4種)排列成的序列,因此在一串看得到的基因序列中,要如何標記出哪一段是外顯子,哪一段又是內隱子,這些看不到的段落,也是HMM可以發揮作用之處。簡單的說,外顯子和內隱子各自包含 A、T、C、G基因的比例不同,於是我們可以利用 HMM 相關的演算法,找出哪一個基因是外顯子和內隱子的起點或終點。

現實中,股票的價格變化也是一個序列,這是另一個充滿經濟誘因的預測目標,想當然耳的,也有不少人把 HMM 運用在預測股價的狀態上,不過文獻就不如前述兩個領域那麼豐富了。

隱馬可夫模型當然也有它使用上的限制。例如,觀測與類比的現象必須是序列(或者該說是馬可夫鏈),兩個序列之間的關係要夠明確等等,否則很容易就變成用十字螺絲起子去轉六角螺絲:或許可以運作,但是結果不盡然是原本想要的。

如果有這樣的數學工具,你會想要用來預測什麼看不到的現象呢? http://www.guokr.com/article/437179/

隱馬可夫模型:探索看不到的世界的數學工具

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.