深入淺出樸素貝葉斯理論歸屬于筆者的程序猿的數據科學與機器學習實戰手冊。部分閱讀平臺對于MathJax支持不好,可以查看筆者的筆記原文。更多內容參考面向程序猿的數據科學與機器學習知識體系及資料合集。
概率論是機器學習中的重要角色,那么何謂概率?我們在小學里就聽老師講過拋硬幣時正面朝上的概率為0.5,這句話又代表著何含義呢?對于概率的理解往往有兩種不同的方式,其一是所謂的頻率論解釋(Frequentist Interpretation)。這種觀點中,概率代表著某個事件在較長范圍內的出現頻次。譬如這里的拋硬幣問題可以闡述為,如果我們拋足夠的次數,我們會觀測到正面朝上的次數與反面朝上的次數基本相同。另一種即時所謂的貝葉斯解釋(Bayesian Interpretation),我們認為概率是用來衡量某件事的不確定性(uncertainty),其更多地與信息相關而不再是重復嘗試的次數。用貝葉斯理論闡述拋硬幣問題則為下一次拋硬幣時正面朝上的可能性與反面朝上的可能性相差無幾。貝葉斯解釋的最大優勢在于我們可以去為事件的不確定性建立具體的模型而不再依賴于多次試驗得出的頻次結果。譬如我們要去預測2020年世界杯的冠軍,我們肯定不能讓球隊比賽很多次來觀測頻次計算概率,這件事只會發生零或一次,反正是無法重復發生的。基于貝葉斯理論我們便可以利用可觀測到的數據推測該事件的結果概率,典型的應用是垃圾郵件過濾系統中,我們可以根據帶標簽的訓練數據來對新的郵件進行判斷。
貝葉斯定理緣起于托馬斯.貝葉斯(1702-1761),一位英國長老會牧師和業余數學家。在他去世后發表的論文“論有關機遇問題的求解”中, 貝葉斯定理的現代形式實際上歸因于拉普拉斯(1812)。拉普拉斯重新發現了貝葉斯定理,并把它用來解決天體力學、醫學甚至法學的問題。但自19世紀中葉起,隨著頻率學派(在下文有時也稱作經典統計)的興起,概率的貝葉斯解釋逐漸被統計學主流所拒絕。現代貝葉斯統計學的復興肇始于Jeffreys(1939),在1950年代,經過Wald(1950), Savage(1954), Raiffic&Schlaifer(1961), Lindley(1972), De Finetti(1974)等人的努力,貝葉斯統計學逐漸發展壯大,并發展出了貝葉斯統計決策理論這個新分支。特別是到1990年代以后,隨著計算方法MCMC在貝葉斯統計領域的廣泛應用,解決了貝葉斯統計學長期存在的計算困難的問題,從而推動了貝葉斯統計在理論和應用領域的長足發展。貝葉斯統計學廣泛應用于各個學科。就本書的主題而言,從認知學科、政治學到從自然語言處理和社會網絡分析,貝葉斯方法都起到了舉足輕重的作用。
貝葉斯定理,也稱為貝葉斯法則現在是概率論教科書的重要內容。一般我們習慣于它的離散(事件)形式:
其中
貝葉斯定理作為一種概率計算可用于多個領域內進行概率推理。今天,我們用貝葉斯法則過濾垃圾郵件,為網站用戶推薦唱片、電影和書籍。它滲透到了互聯網、語言和語言處理、人工智能、機器學習、金融、天文學和物理學乃至國家安全等各個領域。這里我們選用一個簡單的案例進行分析,假設有方形和圓形的兩種盒子,盒子內有紅、黃、白三種顏色的球。方盒有3個,每個里邊有紅球70只、黃球10只、白球20只;圓盒有5個,每個里邊有紅球20只、黃球75只、白球5只。現在先任取一個盒子,再從盒中任取一球,能不能通過求得顏色推斷它最有可能取自哪個盒子?為表示方便,記方盒=A,圓盒=B,紅球=R,黃球=Y,白球=W 使用貝葉斯定理進行計算:
貝葉斯理論最基礎的使用就是在分類問題中,也就是所謂的生成式分類器(Generative Classifier),其基本形式如下所示:
在訓練階段,我們基于帶有標簽的訓練集的輔助來尋找合適的類條件概率/似然概率
在我們孩提時代,爸媽希望教會我們某個詞匯的含義時,他們首先會給我們展示很多的正例。譬如對于狗這個單詞,爸媽可能會說:看那條狗狗好可愛,或者,小心狗狗。不過爸媽不會像機器一樣給我們展示所謂的負例,他們不會指著一只貓說:這貨不是狗,最多就是當孩子們認錯的時候,父母會予以糾正。心理學家研究表明,人們可以單純地從正例中學習概念,而不一定需要負例的介入。而這種認知單詞的學習過程可以抽象概括為所謂的概念學習(Concept Learning),在某些意義上很類似于二元分類。譬如我們可以定義當
闡述完了基本的概念,接下來我們會以一個簡單的數字游戲來進行形象化的說明,這里我們隨便選定幾個數學上的概念作為學習目標。譬如我們可以將概念C定義為所有的素數,或者介于1~10之間的數字。然后給你多組隨機從C中抽樣出的正數序列:
上圖四組對比數據分別顯示了給不同的組選定不同的觀測集合時他們推導出的概念C的數字分布。前兩行是分別展示了
機器學習的任務就是將上述思考的過程轉化為機器計算,經典的在讓機器進行數學歸納的方法就是我們先預置很多概念的假設空間
我們首先來討論下為什么當我們觀測到
對于這個等式最形象化的解釋就是奧卡姆剃刀原則(Occam’s razor),我們傾向于選擇符合觀測值的最小/最簡的假設空間。在
前一節我們討論了所謂似然的概念,當觀測到
總計而言,貝葉斯理論中概率并不需要頻率解釋,先驗分布也可以稱為主觀概率,是根據經驗對隨機現象的發生可能性的一種看法或者信念。統計學家薩維奇曾給出過一個著名的女士品茶的例子:一位常喝牛奶加茶的女士說她可以分辨在杯中先加入的是茶還是奶。連續做了十次實驗,她都說對了。顯然這來自于她的經驗而非猜測。我們在日常生活中也經常使用基于經驗或者信念的主觀的概率陳述。比如說,天氣預報里說明天(8月3日)降水概率30%,就是關于“明日降水”這個事件的一種信念,因為作為8月3日的明天是不可重復的,自然也就沒有頻率意義。再比如說,醫生認為對某位病人進行手術的成功可能性為80%,也是根據自己的經驗而具有的的信念,而非在這位病人身上反復進行試驗的頻率結果。 把θ看做隨機變量,進而提出先驗分布,在許多情況下是合理的。比如工廠產品的合格率每一天都有波動,可以看做隨機變量;明天的降水概率雖然是幾乎不動的,但這是基于經驗和規律提出來的概率陳述,也可以看做隨機變量。盡管我們使用后驗分布來進行推理,但先驗分布的選取也是很重要的。常見的先驗分布類型包括:
無信息先驗(Noninformative Priors) 無信息先驗只包含了參數的模糊的或者一般的信息,是對后驗分布影響最小的先驗分布。很多人愿意選取無信息先驗,因為這種先驗與其它“主觀”的先驗相比更接近“客觀”。通常,我們把均勻分布作為無信息先驗來使用,這相當于在參數所有的可能值上邊指派了相同的似然。但是無先驗信息的使用也要慎重,比如有些情況下會導致不恰當的后驗分布(如不可積分的后驗概率密度)。
Jeffreys先驗(Jeffreys’ Prior) Jeffreys提出的選取先驗分布的原則是一種不變原理,采用Fisher信息陣的平方根作為θ的無信息先驗分布。較好地解決了無信息先驗中的一個矛盾,即若對參數θ選用均勻分布,則其函數g(θ)往往不是均勻分布。
信息先驗(Informative Priors) 根據以前的經驗、研究或專家經驗得到的先驗分布。
共軛先驗(Conjugate Priors) 共軛先驗是指先驗分布和后驗分布來自同一個分布族的情況,就是說先驗和后驗有相同的分布形式(當然,參數是不同的)。這些共軛先驗是結合似然的形式推導出來的。共軛先驗是經常被使用的一種先驗分布形式,原因在于數學處理和計算上的方便性,同時后驗分布的一些參數也可以有很好的解釋。
后驗值即為似然乘以先驗再進行歸一化,對于這里的數字游戲:
其中