【專欄】數學之美番外篇:平凡而又神奇的貝葉斯方法(12)

怎么根據接收到的信息來推測說話者想表達的意思呢?我們可以利用叫做“隱含馬爾可夫模型”(Hidden Markov Model)來解決這些問題。以語音識別為例,當我們觀測到語音信號o1,o2,o3時,我們要根據這組信號推測出發送的句子s1,s2,s3。

隱馬可夫模型(HMM)

吳軍在數學之美系列里面介紹的隱馬可夫模型(HMM)就是一個簡單的層級貝葉斯模型:

隱馬可夫模型

那么怎么根據接收到的信息來推測說話者想表達的意思呢?我們可以利用叫做“隱含馬爾可夫模型”(Hidden Markov Model)來解決這些問題。以語音識別為例,當我們觀測到語音信號o1,o2,o3時,我們要根據這組信號推測出發送的句子s1,s2,s3。顯然,我們應該在所有可能的句子中找最有可能性的一個。用數學語言來描述,就是在已知o1,o2,o3,…的情況下,求使得條件概率P(s1,s2,s3,…|o1,o2,o3….)達到最大值的那個句子 s1,s2,s3,…

吳軍的文章中這里省掉沒說的是,s1, s2, s3, ..這個句子的生成概率同時又取決于一組參數,這組參數決定了s1, s2, s3, ..這個馬可夫鏈的先驗生成概率。如果我們將這組參數記為λ,我們實際上要求的是:P(S|O, λ)(其中O表示o1,o2,o3,..,S表示s1,s2,s3,..)

當然,上面的概率不容易直接求出,于是我們可以間接地計算它。利用貝葉斯公式并且省掉一個常數項,可以把上述公式等價變換成

P(o1,o2,o3,…|s1,s2,s3….) * P(s1,s2,s3,…)

其中

P(o1,o2,o3,…|s1,s2,s3….)表示某句話s1,s2,s3…被讀成o1,o2,o3,…的可能性,而P(s1,s2,s3,…)表示字串s1,s2,s3,…本身能夠成為一個合乎情理的句子的可能性,所以這個公式的意義是用發送信號為s1,s2,s3…這個數列的可能性乘以s1,s2,s3..本身可以一個句子的可能性,得出概率。

這里,s1,s2,s3…本身可以一個句子的可能性其實就取決于參數λ,也就是語言模型。所以簡而言之就是發出的語音信號取決于背后實際想發出的句子,而背后實際想發出的句子本身的獨立先驗概率又取決于語言模型。

作者:劉未鵬 出版:電子工業出版社 

貝葉斯網絡

吳軍已經對貝葉斯網絡作了科普,請直接跳轉到這里。更詳細的理論參考所有機器學習的書上都有。

參考資料

一堆機器學習,一堆概率統計,一堆Google,和一堆Wikipedia條目,一堆paper。

部分書籍參考《機器學習與人工智能資源導引》。

(待續;此文的修訂版已收錄《暗時間》一書,由電子工業出版社2011年8月出版。作者于2009年7月獲得南京大學計算機系碩士學位,現在微軟亞洲研究院創新工程中心從事軟件研發工程師工作。)

網絡編輯:謝小跳

{{ isview_popup.firstLine }}{{ isview_popup.highlight }}

{{ isview_popup.secondLine }}

{{ isview_popup.buttonText }}
午夜宅男在线,中视在线直播,毛片网站在线,福利在线网址