數學之美 平凡而又神奇的貝葉斯方法(二)

2021-06-17 17:00:07 字數 2789 閱讀 1486

這裡接著前面的介紹來繼續介紹貝葉斯方法。

3. 模型比較與奧卡姆剃刀

3.1 再訪拼寫糾正

介紹了貝葉斯拼寫糾正之後,接下來的乙個自然而然的問題就來了:「為什麼?」為什麼要用貝葉斯公式?為什麼貝葉斯公式在這裡可以用?我們可以很容易地領會為什麼貝葉斯公式用在前面介紹的那個男生女生長褲裙子的問題裡是正確的。但為什麼這樣?

為了回答這個問題,乙個常見的思路就是想想:非得這樣嗎?因為如果你想到了另一種做法並且證明了它也是靠譜的,那麼將它與現在這個一比較,也許就能得出很有價值的資訊。那麼對於拼寫糾錯問題你能想到其他方案嗎?

不管怎樣,乙個最常見的替代方案就是,選擇離 thew 的編輯距離最近的。然而 the 和 thaw 離 thew 的編輯距離都是 1 。這可咋辦捏?你說,不慌,那還是好辦。我們就看到底哪個更可能被錯打為 thew 就是了。我們注意到字母 e 和字母 w 在鍵盤上離得很緊,無名指一抽筋就不小心多打出乙個 w 來,the 就變成 thew 了。而另一方面 thaw 被錯打成 thew 的可能性就相對小一點,因為 e 和 a 離得較遠而且使用的指頭相差乙個指頭(乙個是中指乙個是小指,不像 e 和 w 使用的指頭靠在一塊——神經科學的證據表明緊鄰的身體設施之間容易串位)。ok,很好,因為你現在已經是在用最大似然方法了,或者直白一點,你就是在計算那個使得 p(d | h) 最大的 h 。

而貝葉斯方法計算的是什麼?是 p(h) * p(d | h) 。多出來了乙個 p(h) 。我們剛才說了,這個多出來的 p(h) 是特定猜測的先驗概率。為什麼要摻和進乙個先驗概率?剛才說的那個最大似然不是挺好麼?很雄辯地指出了 the 是更靠譜的猜測。有什麼問題呢?既然這樣,我們就從給最大似然找茬開始吧——我們假設兩者的似然程度是一樣或非常相近,這樣不就難以區分哪個猜測更靠譜了嗎?比如使用者輸入tlp ,那到底是 top 還是 tip ?(這個例子不怎麼好,因為 top 和 tip 的詞頻可能仍然是接近的,但一時想不到好的英文單詞的例子,我們不妨就假設 top 比 tip 常見許多吧,這個假設並不影響問題的本質。)這個時候,當最大似然不能作出決定性的判斷時,先驗概率就可以插手進來給出指示——「既然你無法決定,那麼我告訴你,一般來說 top 出現的程度要高許多,所以更可能他想打的是 top 」)。

以上只是最大似然的乙個問題,即並不能提供決策的全部資訊。最大似然還有另乙個問題:即便乙個猜測與資料非常符合,也並不代表這個猜測就是更好的猜測,因為這個猜測本身的可能性也許就非常低。比如 mackay 在《information theory : inference and learning algorithms》裡面就舉了乙個很好的例子:-1 3 7 11 你說是等差數列更有可能呢?還是 -x^3 / 11 + 9/11*x^2 + 23/11 每項把前項作為 x 帶入後計算得到的數列?此外曲線擬合也是,平面上 n 個點總是可以用 n-1 階多項式來完全擬合,當 n 個點近似但不精確共線的時候,用 n-1 階多項式來擬合能夠精確通過每乙個點,然而用直線來做擬合/線性回歸的時候卻會使得某些點不能位於直線上。你說到底哪個好呢?多項式?還是直線?一般地說肯定是越低階的多項式越靠譜(當然前提是也不能忽視「似然」p(d | h) ,明擺著乙個多項式分布您愣是去拿直線擬合也是不靠譜的,這就是為什麼要把它們兩者乘起來考慮。),原因之一就是低階多項式更常見,先驗概率( p(h) )較大(原因之二則隱藏在 p(d | h) 裡面),這就是為什麼我們要用樣條來插值,而不是直接搞乙個 n-1 階多項式來通過任意 n 個點的原因。

以上分析當中隱含的哲學是,觀測資料總是會有各種各樣的誤差,比如觀測誤差(比如你觀測的時候乙個 mm 經過你一不留神,手一抖就是乙個誤差出現了),所以如果過分去尋求能夠完美解釋觀測資料的模型,就會落入所謂的資料過配(overfitting)的境地,乙個過配的模型試圖連誤差(噪音)都去解釋(而實際上噪音又是不需要解釋的),顯然就過猶不及了。所以 p(d | h) 大不代表你的 h (猜測)就是更好的 h。還要看 p(h) 是怎樣的。所謂奧卡姆剃刀精神就是說:如果兩個理論具有相似的解釋力度,那麼優先選擇那個更簡單的(往往也正是更平凡的,更少繁複的,更常見的)。

過分匹配的另乙個原因在於當觀測的結果並不是因為誤差而顯得「不精確」而是因為真實世界中對資料的結果產生貢獻的因素太多太多,跟噪音不同,這些偏差是一些另外的因素集體貢獻的結果,不是你的模型所能解釋的——噪音那是不需要解釋——乙個現實的模型往往只提取出幾個與結果相關度很高,很重要的因素(cause)。這個時候觀察資料會傾向於圍繞你的有限模型的**結果呈正態分佈,於是你實際觀察到的結果就是這個正態分佈的隨機取樣,這個取樣很可能受到其餘因素的影響偏離你的模型所**的中心,這個時候便不能貪心不足地試圖通過改變模型來「完美」匹配資料,因為那些使結果偏離你的**的貢獻因素不是你這個有限模型裡面含有的因素所能概括的,硬要打腫臉充胖子只能導致不實際的模型,舉個教科書例子:身高和體重的實際關係近似於乙個二階多項式的關係,但大家都知道並不是只有身高才會對體重產生影響,物理世界影響體重的因素太多太多了,有人身材高大卻瘦得跟稻草,有人卻是橫長豎不長。但不可否認的是總體上來說,那些特殊情況越是特殊就越是稀少,呈圍繞最普遍情況(胖瘦適中)的正態分佈,這個分布就保證了我們的身高——體重相關模型能夠在大多數情況下做出靠譜的**。但是——剛才說了,特例是存在的,就算不是特例,人有胖瘦,密度也有大小,所以完美符合身高——體重的某個假想的二階多項式關係的人是不存在的,我們又不是歐幾里德幾何世界當中的理想多面體,所以,當我們對人群隨機抽取了 n 個樣本(資料點)試圖對這 n 個資料點擬合出乙個多項式的話就得注意,它肯定得是二階多項式,我們要做的只是去根據資料點計算出多項式各項的引數(乙個典型的方法就是最小二乘);它肯定不是直線(我們又不是稻草),也不是三階多項式四階多項式.. 如果硬要完美擬合 n 個點,你可能會整出乙個 n-1 階多項式來——設想身高和體重的關係是 5 階多項式看看?

《數學之美》馬爾科夫鏈的擴充套件 貝葉斯網路

1.使用貝葉斯網路需要首先確定此網路的拓撲結構,並且還要知道各個狀態之間相關的概率,即拓撲結構和這些引數的過程稱為結構訓練和引數訓練。2.結構訓練 優化的貝葉斯網路結構要保證它產生的序列從頭到尾的可能性最大,即後驗概率最大。當然,產生乙個序列可以有多條路徑,從理論上講,需要完備的搜尋,即考慮每一條路...

數學 淺入淺出 的 貝葉斯

最近上了 機器學習大學!想把自己覺得有趣的知識整理下,以及看看這些基礎知識能在實際上有什麼應用。我的理解是 如果兩個事件相互聯絡那麼在概率上他們也存在一種聯絡,這種聯絡能被用來更加精確的得出概率結果。比如,年齡和是否得病有關,那麼知道年齡從而計算出來是否的病的概率 比 不知道年齡從而計算出來是否得病...

數學之美 馬爾科夫鏈的擴充套件 貝葉斯網路 詞分類

前面介紹的馬爾科夫鏈是一種狀態序列,但在實際中,各個事物之間不僅使用鏈序列起來的,而是互相交叉,錯綜複雜。因此通過各個事物之間的聯絡,可以將馬爾科夫鏈推廣至圖論中。使用貝葉斯網路首先就要確定其結構,對簡單網路,專家可以直接給出 對於複雜的網路就需要機器學習了。優化的貝葉斯網路要保證其產生的序列從頭到...