當前位置: 華文星空 > 知識

貝葉斯學派與頻率學派有何不同?

2013-06-18知識

要說貝葉斯和頻率學派,那簡直太有意思了。為什麽這麽說呢?因為兩個學派的理解對於我來說真的是一場持久戰。我是在學習機器學習的時候接觸到的這兩個學派,此前並不知道,當時就被深深吸引了,於是找了各種資料學習下來,說實話感覺有點懂了,但又感覺沒理解透。

後面我一直是帶著這種似懂非懂的狀態繼續肝機器學習。但隨著不斷深入學習我發現很多理論其實都有出現兩個學派的身影,而且在模型演算法層面結合兩派不斷琢磨對我的理解有了很大幫助,經常有茅塞頓開的感覺(那段日子真的進步的飛起)。

雖說我有點笨,但好在經過時間的沈澱和積累,也算讓我對兩個學派有了更深層次的理解。因此,基於我自己的學習情況,把自己的一些理解也分享出來,供參考。

首先,我先丟擲一個總的觀點: 貝葉斯學派和頻率學派需要辯證去看,沒有對錯。兩個學派就像太極一樣,所謂你中有我,我中有你,相輔相成,相互成就。

下面分別闡述二者的聯系和區別,我個人比較贊同@Xiangyu Wang的說法,我會從我自己的理解再墨跡一遍,如果有啟發還請給我點個贊。

一、頻率學派

1、頻率學派的核心思想

頻率學派相信機率是一個確定的值,討論機率的分布沒有意義。雖然沒有上帝視角,還不知道具體的機率值,但相信機率就是確定的,它就在那裏。而數據是由這個確定的機率產生的,因此數據是隨機的。

現實中,我們往往可以獲取的是隨機的數據,而對於產生數據的機率是不知道的。既然相信機率是確定的,也想求機率,那我們該如何做呢?

自然可以想到,要透過觀察機率產生的隨機數據去反向推導這個機率。舉個例子。比如我想知道一種疾病的生還機率,那麽透過觀察10個人,我發現其中9個都死了,那我現在就說生還機率是10%(簡單粗暴)。

上面就是透過頻率計算來推出機率的簡單過程。但這樣的計算結果非常不精準,因為10個人太少了,不具有統計代表性。那我把觀察人數增大到100人、1000人...10萬人呢?結果又如何?

說到這裏,你應該有一些sense了,隨著樣本容量不斷擴大到足夠大甚至無窮大時,這個統計結果才有意義。 也就是說,頻率學派所說的機率表示的是事件發生頻率的極限值。當重復試驗的次數趨近無窮大時,事件發生的頻率會收斂到真實的機率之上。

看到這裏或許你會提問,如果觀測樣本有限,那真實的機率還會精準嗎?

答案是不一定。仍用上面的例子,假如我們安排了100組進行測試,每組100人,那麽透過這100組所得到的機率可能都是不一樣的,有的或許接近真值,有的或許偏離真值,而這都是隨機的,完全取決於這組的數據是什麽樣的。 這裏所說機率可能不一樣是因為有限的隨機數據導致的,這個鍋不應該由機率來背,誰讓你數據量不夠呢,真實的機率還是確定的。

為此,頻率學派使用 置信區間 來度量隨機樣本的估計值和真實值之間的偏差。就是說100組的置信區間裏面有多少個是包括了真實值的。

2、機器學習中的頻率學派

上面就是頻率學派的一般思想了。為了加深理解,這裏我再額外擴充套件一下機器學習中的頻率學派的套用。

假設我們討論有監督學習的參數模型,那麽整個過程就是用訓練數據擬合出一組參數來,即形成一個模型,然後再預測未來的數據。因此,這裏的核心是求出參數。

機器學習中頻率統計的套用也是一樣的,只不過不求機率了,而是求參數。這就引出了另外一個概念 似然函式 。似然和機率意思差不多,區別是這樣的。

對於一個函式:P(x|\theta)

輸入有兩個: x 表示某一個具體的數據; \theta 表示模型的參數。

如果 \theta 是已知確定的,求 x ,這個函式叫做 機率函式 (probability function),它描述對於不同的樣本點 x ,其出現機率是多少。
如果 x 是已知確定的,求 \theta ,這個函式叫做 似然函式 (`likelihood function), 它描述對於不同的模型參數 \theta ,出現 x 這個樣本點的機率是多少。

看到上面你就應該知道了,頻率學派的思想沒有變化,只是調換了一下位置,改為求參數(相信參數是確定的)。

由此,又可以展開 最大似然估計 ,頻率統計中最常使用的最佳化方法,即讓似然機率最大化,也就是固定參數的前提下,數據出現的條件機率最大化。比如,在邏輯回歸參數模型中使用。

二、貝葉斯學派

1、貝葉斯學派的核心思想

相對於頻率學派,貝葉斯學派思想恰恰相反。

貝葉斯認為待估計值的機率是隨機的變量,而用來估計的數據反過來是確定的常數,討論觀測數據的機率分布才是沒有意義的。

仍以機器學習套用為例,把上面的話轉譯過來就是,我們並沒有什麽上帝視角,怎麽會知道最後求得的參數就是實際的真實值呢?另外,如果觀測的事件不是隨機的變量,而是確定的,那麽頻率學派對機率的解讀就是不成立的。

還是拿疾病的生還機率問題舉例,假如頻率學派透過觀察估計機率是10%,但是貝葉斯覺得這10%簡直就是bull shit,是不準確的。因為透過自己的常識和認知,這個疾病的生還機率至少也應該在50%以上才對,10%的機率太低了,不太可能。

因此,貝葉斯學派給出了一個更加通用的機率定義: 機率表示的是客觀上事實的可信程度,也可以說成是主觀上主體對事件的信任程度,它是建立在對事件的已有認識基礎上的。

下面來看一下貝葉斯定理。公式如下:

P(A|B)=\frac{P(B|A)P(A)}{P(B)}

上面所說的主觀認識其實就是貝葉斯定理中的 先驗機率 ,即 P(A) ; P(B|A) 是 似然機率 ; P(A|B) 是 後驗機率

這個公式的解讀就是:對於一個事件 A ,我先有了一定的主觀認識,並將 P(A) 作為初始的可信程度。我現在得到了與 A 事件相關的數據 B ,我想透過 B 作為證據進一步去驗證我的初始判斷,即 P(B|A) 。透過驗證得到的結果就是後驗機率 P(A|B) ,這個結果可能是好,也可能是壞。

所以, 貝葉斯定理的意義就是將先驗機率和後驗機率關聯起來,刻畫了數據對於知識和信念的影響。

2. 貝葉斯加強理解

為了加強理解,我現在把上面貝葉斯的公式做一個簡單的變換:

P(A|B)=\frac{P(B|A)P(A)}{P(B|A)P(A)+P(B|A^\prime)P(A^\prime)} (A^\prime表示非A)

舉個例子。 你聽到一輛摩托車的警報響了,你的第一反應是什麽?

有小偷?撞車了?都不是,你通常什麽反應都沒有。因為警報響實在是太正常了,每天都要發生好多次。本來,汽車警報設定的功能是,出現了異常情況,需要人關註。然而,由於虛警實在是太多,人們漸漸不相信警報的功能了。就像狼來的故事一樣。

假設響警報的目的就是想說汽車被砸了。把 A 視作 汽車被砸了 , B 視為 警報響了 。帶進貝葉斯公式裏,我們要求等式左邊發生的 P(A|B) ,意思是說 警報響了,汽車也確實被砸了的機率

結合我們變換的公式來看,汽車被砸引起警報響,即 P(B|A) 。但是,也有可能是汽車被小孩子皮球踢了一下、被行人碰了一下等其他原因(統統計作 A^\prime ), 其他原因引起汽車警報響了的機率 ,記為 P(B|A^\prime) 。因此,這些所有的原因合起來才是警報響了的總機率,即 P(B)=P(B|A)P(A)+P(B|A^\prime)P(A^\prime) 。

那,現在我問,如果突然聽見警報響了,這時汽車已經被砸了的機率是多少呢?

其實這也就是問,警報響這個證據有了,多大把握能相信它確實是在報警說汽車被砸了? 從這個角度理解,貝葉斯公式就是在描述:你有多大把握能相信一件證據。

前面也說了,後驗機率的結果可能是好,也可能是壞。為了加強我們的先驗機率,所以我們必須提高證據的機率,就像警報的例子中,我們需要讓 P(B|A^\prime)P(A^\prime)=0 ,即杜絕了汽車被球踢、被行人碰到等等其他所有情況,那自然,警報響了,只剩下一種可能:汽車被砸了,這就提高了響警報這個證據的說服力。

但如果 P(A) 很小,即汽車被砸的機率本身就很小,那麽 P(B|A)P(A) 仍然很小, P(A|B) 還是大不起來。也就是說如果 A 的先驗機率很小,就算 P(B|A) 較大,可能 A 的後驗機率 P(A|B) 還是不會大。因此,貝葉斯的先驗分布機率非常重要,要想後驗機率大,需要 P(B|A) 和 P(A) 同時大,這就涉及到 最大後驗機率估計 的概念了。

從這個角度思考貝葉斯公式:一個本來就難以發生的事情,就算出現某個證據和他強烈相關,也要謹慎。證據很可能來自別的雖然不是很相關,但發生機率較高的事情。

當然對於貝葉斯的理論還有很多東西可以研究,真的非常強大。如果機器學習從判別式和生成式的角度考慮又是一龐大的分類。在此提供一本書籍:

三、總結

個人覺得這是個值得反復琢磨,很有意思的事情。因為本身就沒有誰對誰錯,只是立場不同,考慮問題的角度不同,我們更應該辯證的去理解和加以套用。

以上就是個人一些粗淺的理解。如有一點啟發, 還請點個贊支持下,歡迎留言討論。

參考:
[1] https:// blog.csdn.net/u01150864 0/article/details/72815981
[2] 極客時間-機器學習40講