【專欄】數學之美番外篇:平凡而又神奇的貝葉斯方法(8)
貝葉斯方法是一個非常general的推理框架。其核心理念可以描述成:Analysis by Synthesis(通過合成來分析)。
貝葉斯圖像識別,Analysis by Synthesis
貝葉斯方法是一個非常general的推理框架。其核心理念可以描述成:Analysis by Synthesis(通過合成來分析)。06年的認知科學新進展上有一篇paper就是講用貝葉斯推理來解釋視覺識別的,一圖勝千言,下圖就是摘自這篇paper:
貝葉斯圖像識別
首先是視覺系統提取圖形的邊角特征,然后使用這些特征自底向上地激活高層的抽象概念(比如是E還是F還是等號),然后使用一個自頂向下的驗證來比較到底哪個概念最佳地解釋了觀察到的圖像。
作者:劉未鵬 出版:電子工業出版社
EM算法與基于模型的聚類
聚類是一種無指導的機器學習問題,問題描述:給你一堆數據點,讓你將它們最靠譜地分成一堆一堆的。聚類算法很多,不同的算法適應于不同的問題,這里僅介紹一個基于模型的聚類,該聚類算法對數據點的假設是,這些數據點分別是圍繞K個核心的K個正態分布源所隨機生成的,使用Han JiaWei的《Data Ming: Concepts and Techniques》中的圖:
聚類
圖中有兩個正態分布核心,生成了大致兩堆點。我們的聚類算法就是需要根據給出來的那些點,算出這兩個正態分布的核心在什么位置,以及分布的參數是多少。這很明顯又是一個貝葉斯問題,但這次不同的是,答案是連續的且有無窮多種可能性,更糟的是,只有當我們知道了哪些點屬于同一個正態分布圈的時候才能夠對這個分布的參數作出靠譜的預測,現在兩堆點混在一塊我們又不知道哪些點屬于第一個正態分布,哪些屬于第二個。反過來,只有當我們對分布的參數作出了靠譜的預測時候,才能知道到底哪些點屬于第一個分布,那些點屬于第二個分布。這就成了一個先有雞還是先有蛋的問題了。為了解決這個循環依賴,總有一方要先打破僵局,說,不管了,我先隨便整一個值出來,看你怎么變,然后我再根據你的變化調整我的變化,然后如此迭代著不斷互相推導,最終收斂到一個解。這就是EM算法。
EM的意思是“Expectation-Maximazation”,在這個聚類問題里面,我們是先隨便猜一下這兩個正態分布的參數:如核心在什么地方,方差是多少。然后計算出每個數據點更可能屬于第一個還是第二個正態分布圈,這個是屬于Expectation一步。有了每個數據點的歸屬,我們就可以根據屬于第一個分布的數據點來重新評估第一個分布的參數(從蛋再回到雞),這個是Maximazation。如此往復,直到參數基本不再發生變化為止。這個迭代收斂過程中的貝葉斯方法在第二步,根據數據點求分布的參數上面。
(待續;此文的修訂版已收錄《暗時間》一書,由電子工業出版社2011年8月出版。作者于2009年7月獲得南京大學計算機系碩士學位,現在微軟亞洲研究院創新工程中心從事軟件研發工程師工作。)
網絡編輯:謝小跳