探索貝葉斯定理蘊藏的智慧與哲學

↑↑↑點擊上方藍字,回覆資料,10個G的驚喜





摘要: 貝葉斯方法對於由證據的積累來推測一個事物發生的概率具有重大作用,它告訴我們當我們要預測一個事物,我們需要的是首先根據已有的經驗和知識推斷一個先驗概率,然後在新證據不斷積累的情況下調整這個概率。用貝葉斯分析的方法,可以幫助我們解決生活中方方面面的問題,尤其在我們未來將有可能深入瞭解的機器學習,大數據挖掘,以及相關工程性問題中,有着極其重要的地位,接下來就讓我們走進貝葉斯方法,通過一系列的例子來了解其含義及應用。



文章主線:
①引出貝葉斯方法的含義(1)。
②通過模型比較理論體現出貝葉斯方法的優勢所在(2)。
③最後通過中文分詞、機器翻譯、最大似然與最小二乘、機器學習這幾個實例來說明貝葉斯方法運用的普遍性(3)。

1. 貝葉斯學派與頻率主義學派
簡單說來,貝葉斯學派認爲,概率是一個人對於一件事的信念強度,概率是主觀的。但頻率主義學派所持的是不同的觀念:他們認爲參數是客觀存在的,即使是未知的,但都是固定值,不會改變。我參閱了一些資料,嘗試以我們以前課堂上所學的概率論來解釋一下,頻率學派認爲進行一定數量的重複實驗後,如果出現某個現象的次數與總次數趨於某個值,那麼這個比值就會傾向於固定。最簡單的例子就是拋硬幣了,在理想情況下,我們知道拋硬幣正面朝上的概率會趨向於1/2。非常好理解不是麼?但貝葉斯提出了一種截然不同的觀念,他認爲概率不應該這麼簡單地計算,而需要加入先驗概率的考慮。先驗概率也就是說,我們先設定一個假設(或信念,belief)。然後我們通過一定的實驗來證明/推翻這個假設,這就是後驗。隨後,舊的後驗會成爲一個新的先驗,如此重複下去。而歸根結底,就得到了這樣一個著名的公式:
P( A | B ) = P(B | A ) * P( A ) / P( B )
(A | B表示A給定B的概率,也就是說,如果B發生,A發生的可能性有多大。反之亦然。)

2. 模型比較理論(ModelComparasion)
2.1模型比較
實際上,模型比較就是去比較哪個模型(猜測)更可能隱藏在觀察數據的背後。我們對用戶實際想輸入的單詞的猜測就是模型,用戶輸錯的單詞就是觀測數據。通過P(h | D) ∝ P(h) * P(D | h) 我們可以比較哪個模型最爲靠譜。有時候光靠 P(D | h) (即“似然”)是不夠的,有時候還需要引入 P(h) 這個先驗概率。因爲最大似然的猜測,其可能先驗概率非常小。但有些時候,我們對於先驗概率一無所知,只能假設每種猜測的先驗概率是均等的,這個時候就只有用最大似然了。實際上,統計學家和貝葉斯學家有一個有趣的爭論,統計學家說:我們讓數據自己說話。言下之意就是要摒棄先驗概率。而貝葉斯支持者則說:數據會有各種各樣的偏差,而一個靠譜的先驗概率則可以對這些隨機噪音做到健壯。事實證明貝葉斯派勝利了,勝利的關鍵在於所謂先驗概率其實也是經驗統計的結果,譬如爲什麼我們會認爲絕大多數硬幣是基本公平的?爲什麼我們認爲大多數人的肥胖適中?爲什麼我們認爲膚色是種族相關的,而體重則與種族無關?先驗概率裏面的“先驗”並不是指先於一切經驗,而是僅指先於我們“當前”給出的觀測數據而已,在硬幣的例子中先驗指的只是先於我們知道投擲的結果這個經驗,而並非“先天”。

不過有時候我們必須得承認,就算是基於以往的經驗,我們手頭的“先驗”概率還是均勻分佈,這個時候就必須依賴用最大似然。可以用一個自然語言二義性問題來說明這一點:The girl saw theboy with a telescope.到底是 The girlsaw-with-a-telescope the boy 這一語法結構,還是 The girl sawthe-boy-with-a-telescope 呢?兩種語法結構的常見程度都差不多。如果語法結構是 The girl sawthe-boy-with-a-telecope 的話,怎麼那個男孩偏偏手裏拿的就是望遠鏡?這也太小概率了吧。所以唯一的解釋是,這個“巧合”背後肯定有它的必然性,這個必然性就是,如果我們將語法結構解釋爲 The girlsaw-with-a-telescope the boy 的話,就跟數據完美吻合了——既然那個女孩是用某個東西去看這個男孩的,那麼這個東西是一個望遠鏡就完全可以解釋了(不再是小概率事件了)。

2.2 最小描述長度原則
貝葉斯模型比較理論與信息論有一個有趣的關聯:P(h | D)∝P(h) * P(D | h)
兩邊求對數,將右式的乘積變成相加:ln P(h | D) ∝ ln P(h) + ln P(D | h)。顯然,最大化 P(h | D) 也就是最大化 ln P(h | D)。而 ln P(h) + ln P(D | h) 則可以解釋爲模型(或者稱“假設”、“猜測”)h 的編碼長度加上在該模型下數據 D 的編碼長度。使這個和最小的模型就是最佳模型。

2.3 最優貝葉斯推理
推理分爲兩個過程,第一步是對觀測數據建立一個模型。第二步則是使用這個模型來推測未知現象發生的概率。前面講的都是對於觀測數據給出最靠譜的那個模型。然而很多時候,雖然某個模型是所有模型裏面最靠譜的,但是別的模型也並不是一點機會都沒有。很多時候我們建立模型是爲了推測未知的事情的發生概率,這個時候,不同的模型對未知的事情發生的概率都會有自己的預測,僅僅因爲某一個模型概率稍大就只取它一個就太不科學了。所謂的最優貝葉斯推理就是將多個模型對於未知數據的預測結論加權平均起來(權值就是模型相應的概率)。這個推理已經把所有可能性都考慮進去,但由於計算模型可能非常費時間,它僅僅被視爲一個理論基準。

3. 無處不在的貝葉斯
3.1 中文分詞
貝葉斯是機器學習的核心方法之一。比如中文分詞領域就用到了貝葉斯。Google 研究員吳軍在《數學之美》系列中就有一篇是介紹中文分詞的:
分詞問題的描述爲:給定一個句子(字串),如:南京市長江大橋
1. 南京市/長江大橋
2. 南京/市長/江大橋
這兩個分詞,到底哪個更靠譜呢?我們用貝葉斯公式來形式化地描述這個問題,令 X 爲字串,Y 爲詞串。我們就是需要尋找使得 P(Y|X) 最大的Y,使用一次貝葉斯可得:P(Y|X)∝P(Y)*P(X|Y)

用自然語言來說就是:這種分詞方式的可能性乘以這個詞串生成我們的句子的可能性。進一步容易看到:可以近似地將 P(X|Y) 看作是恆等於 1 的,因爲任意假想的一種分詞方式之下生成我們的句子總是精準地生成的(只需把分詞之間的分界符號扔掉即可)。於是,我們就變成了去最大化 P(Y) ,也就是尋找一種分詞使得這個詞串的概率最大化。而如何計算一個詞串:W1, W2, W3, W4 ..的可能性呢?我們知道,根據聯合概率的公式展開:P(W1, W2, W3, W4 ..)=P(W1)*P(W2|W1)*P(W3|W2, W1)*P(W4|W1,W2,W3) *... 可以通過一系列的條件概率(右式)的乘積來求整個聯合概率。

不幸的是,隨着條件數目的增加,數據稀疏問題也會越來越嚴重,即便語料庫再大也無法統計出一個靠譜的 P(Wn|Wn-1,Wn-2,..,W1)來。爲了緩解這個問題,計算機科學家們用了“有限地平線”假設:假設句子中一個詞的出現概率只依賴於它前面的有限的 k 個詞(k一般不超過 3)。雖然這個假設很天真,但結果卻表明它的結果往往是很好很強大的。有了這個假設,剛纔那個乘積就可以改寫成:P(W1) *P(W2|W1) * P(W3|W2) * P(W4|W3) .. (假設每個詞只依賴於它前面的一個詞)。統計 P(W2|W1) 就不再受到數據稀疏問題的困擾了。對於我們上面提到的例子“南京市長江大橋”,如果按照自左到右的貪婪方法分詞的話,結果就成了“南京市長/江大橋”。但如果按照貝葉斯分詞的話(假設使用 3-gram),由於“南京市長”和“江大橋”在語料庫中一起出現的頻率爲 0 ,這個整句的概率便會被判定爲 0 。從而使得“南京市/長江大橋”這一分詞方式勝出。

有人可能會疑惑,難道我們人類也是基於這些天真的假設來進行推理的?不是的。事實上,統計機器學習方法所統計的東西往往處於相當表層的層面,在這個層面機器學習只能看到一些非常表面的現象,有一點科學研究的理念的人都知道:越是往表層去,世界就越是繁複多變。從機器學習的角度來說,特徵就越多,成百上千維度都是可能的。特徵一多,高維詛咒就產生了,數據就很稀疏,不夠用。而人類的觀察水平顯然比機器學習的觀察水平要更深入一些,爲了避免數據稀疏我們不斷地發明各種裝置(最典型就是顯微鏡),來幫助我們直接深入到更深層的事物層面去觀察更本質的聯繫,而不是在淺層對錶面現象作統計歸納。舉一個簡單的例子,通過對大規模語料庫的統計,機器學習可能會發現這樣一個規律:所有的“他”都是不會穿裙子的,所有的“她”則都是會穿的。然而,作爲一個男人,卻完全無需進行任何統計學習,因爲深層的規律就決定了他們根本不會去穿裙子。至於機器學習能不能完成後者的推理,則是人工智能領域的經典問題。至少在那之前,統計學習方法是不可能終結科學研究的。

3.2 統計機器翻譯
統計機器翻譯的問題可以描述爲:給定一個句子e,它的可能的外文翻譯f 中哪個是最靠譜的。即我們需要計算:P(f|e) 。一旦出現條件概率,貝葉斯總是挺身而出:P(f|e) ∝ P(f) * P(e|f),這個式子的右端很容易解釋:那些先驗概率較高,並且更可能生成句子 e 的外文句子 f 將會勝出。我們只需簡單統計就可以得到任意一個外文句子 f 的出現概率。

然而 P(e|f) 卻不是那麼好求的。假設 e 爲:John loves Mary,首選f是:Jean aime Marie。爲了求出 P(e|f),我們需要考慮 e 和 f 有多少種對齊的可能性。爲什麼要對齊,是因爲一旦對齊了之後,就可以容易地計算在這個對齊之下的 P(e|f) 是多大,只需計算:P(John|Jean) * P(loves|aime) * P(Marie|Mary)即可。然後我們遍歷所有的對齊方式,並將每種對齊方式之下的翻譯概率∑求和。便可以獲得整個的 P(e|f) 是多大。

3.3 最大似然與最小二乘
學過線性代數的同學都知道用經典的最小二乘方法來做線性迴歸。問題描述是:給定平面上N 個點,找出一條最佳描述了這些點的直線。一個接踵而來的問題就是,如何定義最佳?我們設每個點的座標爲 (Xi, Yi)。如果直線爲 y = f(x),那麼 (Xi, Yi) 跟直線對這個點的“預測”:(Xi, f(Xi)) 就相差了一個ΔYi = |Yi–f(Xi)|。最小二乘就是說尋找直線使得誤差的平方和 (ΔY1)^2 + (ΔY2)^2 + ..最小,關於爲什麼是誤差的平方和而不是誤差的絕對值和這個問題,貝葉斯方法提供一個完美的解釋。
我們假設直線對於座標 Xi 給出的預測 f(Xi) 是最靠譜的預測,所有縱座標偏離f(Xi)的那些數據點都含有噪音,是噪音使得它們偏離了完美的一條直線,一個合理的假設就是偏離路線越遠的概率越小,具體小多少,可以用一個正態分佈曲線來模擬,這個分佈曲線以直線對 Xi 給出的預測 f(Xi) 爲中心,實際縱座標爲 Yi 的點 (Xi, Yi) 發生的概率就正比於 EXP[-(ΔYi)^2]。

我們要想最大化的後驗概率是:P(h|D) ∝ P(h) * P(D|h)。這裏 h 就是指一條特定的直線,D 就是指這 N 個數據點。我們需要尋找一條直線 h 使得 P(h) * P(D|h) 最大。很顯然,P(h) 這個先驗概率是均勻的,因爲哪條直線也不比另一條更優越。所以只需看 P(D|h) 這一項,它是指這條直線生成這些數據點的概率,前面說生成數據點 (Xi, Yi) 的概率爲 EXP[-(ΔYi)^2] 乘以一個常數。而 P(D|h) =P(d1|h) * P(d2|h) * .. 即假設各個數據點是獨立生成的,所以可以把每個概率乘起來。因此生成 N 個數據點的概率爲 EXP[-(ΔY1)^2] * EXP[-(ΔY2)^2] * EXP[-(ΔY3)^2] * .. = EXP{-[(ΔY1)^2 + (ΔY2)^2 + (ΔY3)^2 + ..]} 最大化這個概率就是要最小化 (ΔY1)^2 + (ΔY2)^2 + (ΔY3)^2 + ..

3.4統計建模
我們先將貝葉斯方法分爲兩類:一爲統計建模,另一個爲概率機器學習。後者包括了所謂的非參數方法。

建模通常在數據稀缺且難以獲得時得以應用,比如在社會科學和其它難以進行大規模對照實驗的環境中。想象一下,如果一個數據學家手頭只擁有少量的數據,那麼他會不遺餘力地對算法進行調整,以期讓每個數據都發揮最大的功用。

此外,對於小數據而言,最重要的是量化不確定性,這也正是貝葉斯方法所擅長的。而貝葉斯方法——尤其是MCMC——通常計算量巨大,這又與小數據是共存的。在名爲《Data Analysis Using Regression Analysis andMultilevel /Hierarchical Models》(http://www.stat.columbia.edu/~gelman/arm/)的書中,介紹了從一個沒有預測變量的線性模型開始,不斷增加到11個預測變量的情況並進行討論。這種勞動密集性模式實際上與我們的機器學習方向背道而馳,我們還是希望能使用數據,讓計算機自動學習。

3.5 概率機器學習
我們現在嘗試把“概率”一詞替換“貝葉斯”。從這個角度而言,它與其它分類方法並沒有區別。如果從分類考慮,大多數分類器都能夠輸出概率預測,比如最經典的SVM(支持變量機)。但需要指出的是,這些概率只是源於分類器的信念陳述,而它們是否符合真實的概率則完全是另一回事了,這也就是所謂的校準

貝葉斯非參數模型:接下來我們要說說貝葉斯非參數模型的一些內容,顧名思義,這個名字代表着模型中的參數數量可以隨着數據的增大或減少而自適應模型的變化。這與SVM有些相似,它能在訓練點中選擇支持向量,而貝葉斯非參數模型也能根據數據多少來選擇參數確定模型。比較流行的貝葉斯非參數模型包括高斯迴歸過程,還有隱含狄裏克雷分佈(LDA)。

高斯迴歸過程:高斯迴歸過程有點類似於SVM——採用內核並具有類似的可伸縮性。其最大的特點在於迴歸特性,分類做爲事後的判斷,而對於SVM而言,這個過程是相反的。此外,GP是從頭開始進行概率判斷,而SVM不是。大多數的常規方法只提供數據點估計,而貝葉斯非參數模型則會輸出不確定性估計。高斯迴歸過程的流行主要應用於機器學習算法的超參數優化上。數據非常小,也只有幾個參數需要調整。
 
後記:偶然間讀了數學之美上的一篇文章——《平凡而又神奇的貝葉斯方法》,在被貝葉斯方法這一工具驚豔到的同時,也讓我明白了概率論與數理統計與實際生產生活的聯繫之緊密。通過資料的查找,將概率論與未來可能深入學習的機器學習、大數據挖掘分析及互聯網相關領域聯繫起來,讓我更加明晰其內在含義與運行機制。
 
參考資料:《數學之美番外篇——平凡而又神奇的貝葉斯方法》,以及Google、Wikipedia 上關於機器學習,概率統計的示例及例子的條目。





   
   
   

探索貝葉斯定理蘊藏的智慧與哲學


點擊上圖購買


  • 作者: 黃黎原(Lê Nguyên Hoang)

  • 譯者: 方弦

  • 法國數學類科普書、大學數學參考及教材類圖書暢銷書目,深受讀者好評

  • 在機器學習、人工智能、邏輯學和哲學等衆多領域中,探索貝葉斯定理蘊藏的智慧與哲理

  • 談論科學的新方式,嚴謹而全面,實際案例豐富的入門級讀物,無須過多數學專業知識也可暢讀



本書從數學、哲學、計算機科學、神經科學和人工智能等角度,全面闡述了貝葉斯理論背後的基礎知識、思維方式和豐富哲理。


作者一改傳統的數學探討模式,不僅展現了貝葉斯理論背後的科學思想,還闡述了它與人類思維之間的深刻關係,並對各相關領域和人工智能的發展進行了展望。


本書適合喜愛數學、算法、機器學習、人工智能、邏輯學和哲學的大衆讀者,讀者無須過多數學和算法知識就能讀懂。

 
    
    
    
也可以加一下老胡的微信
圍觀朋友圈~~~


推薦閱讀

(點擊標題可跳轉閱讀)

我愛線代,線代使我快樂

麻省理工學院計算機課程【中文版】

【清華大學王東老師】現代機器學習技術導論.pdf

機器學習中令你事半功倍的pipeline處理機制

機器學習避坑指南:訓練集/測試集分佈一致性檢查

機器學習深度研究:特徵選擇中幾個重要的統計學概念

老鐵,三連支持一下,好嗎?↓↓↓


本文分享自微信公衆號 - 機器學習算法與Python實戰(tjxj666)。
如有侵權,請聯繫 su[email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章