獨家 | 一文讀懂機器學習中的貝葉斯統計學

2021-03-02 數據派THU


作者:Matthew Stewart, PhD Researcher

翻譯:吳金笛

校對:丁楠雅

本文約4300字,建議閱讀15分鐘

本文主要是向新手介紹貝葉斯方法並將其與頻率方法進行比較。

你有沒有問過自己,以前從未發生過的事件發生的概率是多少?

在本文中,我們將深入探討貝葉斯統計的神秘世界以及它的一些原則,Bernstein-von Mises定理和Cromwell規則,以及用它們分析現實世界的機器學習問題。

 

「貝葉斯統計之所以困難,是因為思考是困難的」

 - Don Berry

 

 

如果你想深入了解貝葉斯統計背後的數學原理,那麼這篇文章不是你要找的(儘管未來我將發表關於這個的文章)。本文主要是給剛剛接觸這個概念的人介紹貝葉斯方法。

 

想像一下,你正在設計一座核電站。你的任務是使用數據來確定工廠是否正常運轉。這看起來似乎是一個相對簡單的任務,直到你意識到你實際上沒有任何關於核電站發生核洩露時的數據。你怎麼能預測這樣的事情呢?

 

如果你是一個精明的機器學習專家,你可能會提出某種無監督的方法,如(受限制的)波耳茲曼機,它能夠了解「正常」的發電廠是什麼樣的,從而知道什麼時候發生了錯誤(事實上,這是正人們預測核電廠正常運行情況的一種方式)。

 

然而,如果我們從更廣泛的意義上考慮這個問題,當我們沒有什麼負面例子可以比較時,我們該怎麼辦?出現這種情況有幾個原因:

 

 

傳統的統計方法不適用於這類問題,我們需要不同的方法。

 

一個更普遍的問題是,我們如何處理極低(但嚴格非零)或極高(接近1但嚴格非1)的概率?讓我們首先看一下由數學家Pierre-Simon Laplace提出的為研究著名問題而制定的一些規則。

 

日出問題

 

想像一下,有一天早上你醒來,太陽決定休息一天。這不僅(最有可能地)會毀了你的一天,打亂你的生物鐘,還會直接改變你對太陽的感覺。你可能會更有可能預測也許第二天太陽也不會升起。或者,如果太陽剛剛度過了糟糕的一天,然後第二天又回來了,那麼你對太陽會再休息一天的期望就會比之前高很多。

 

這裡發生了什麼?基於新的證據,我們改變了對事件發生概率的看法。這是所有貝葉斯統計的關鍵,並使用一個稱為貝葉斯規則的方程來正式描述。

 

貝葉斯規則

 

貝葉斯規則告訴我們,我們必須從某一事件發生的固有概率開始(事前)。我們稱之為先驗概率。逐漸地,當我們獲得新的觀察結果和證據時,我們會在這些證據和判斷我們當前情況的可能性的基礎上更新我們的信念。這種更新的信念被稱為後驗概率(事後)。

 

回到我們的日出問題,每天我們都觀察到太陽升起,並且每一次太陽升起的時候,我們都更確定它會在第二天再次升起。然而,如果有一天我們發現太陽沒有升起,這將極大地影響我們基於新證據的後驗概率。

 

這可以用下面的數學形式來表示,乍一看令人生畏,但可以抽象出來:我們更新的信念是基於我們最初的信念和基於我們當前的信念(可能性)的新證據。可能性是指我擁有的新證據,我的信念正確的可能性有多大?如果我相信明天太陽不升起的概率是一百萬分之一,然後它發生了,我的信念(我的模型)是錯的可能性會非常高,然後後驗概率將被更新來預測它更有可能會再次發生。

 

貝葉斯理論

 

這是一個非常棒的想法,它存在於許多不同的地方,尤其是涉及到人類和他們的信仰時。例如,假設你的朋友告訴你,你最喜歡的一位名人去世了。一開始,你可能會感到沮喪,並且有點懷疑。隨著你的一天,你讀報紙,它告訴你,這位名人去世了,這種信念將進一步加強。也許你會在電視上看到他們家人哀悼的新聞,你的信念會更加堅定。然而,如果你看到電視上被採訪的人說他死亡的謠言正在被擴散,你對朋友告訴你的話的可信度就會被降低。

 

這是科學的一個重要方面,理論通過實驗和模擬得到證實,做這些實驗和驗證這些理論的人越多,這些理論就越強大和可信。然而,比如有宗教信仰的人可能認為他們不需要經驗證據(至少是同類的)來相信某些東西,我們稱之為信仰。

 

有趣的是,在我們日常生活中如此普遍的事情對統計學和機器學習如此重要,但它確實如此,我們將討論原因。然而,首先我們需要研究一些貝葉斯定理中出現的概率非常低的問題。

Cromwell 規則

 

Oliver Cromwell是英國歷史上的一位傑出人物,1658年在蘇格蘭國教大會上他曾說過一句名言:

 

「我懇求你,在基督的內心中,認為你可能會被誤解。「

 

這個句子的使用導致了Dennis Lindley 定義的Cromwell規則,該規則提出了這樣的想法:如果一個人由等於零(我知道這些事件不是真的)或一(我知道這些事件是正確的)的先驗概率開始,那無論向你展示什麼證據,你的信念將不會被動搖。

 

這向我們展示了在觀察可以以經驗觀察的事物時絕對主義觀點的危險性。如果我堅信自己是正確的,那麼任何人說的或做的都不能使我信服。這是無知的高度,而不是我們想要融入機器學習模型的東西。如果我們回頭看貝葉斯定理我們就能明白為什麼會這樣,如果先驗概率是0,那麼乘以任何數之後後驗概率仍然是0。

 

原則上(見Cromwell規則),任何可能性都不應將其概率設為零,因為在現實世界中,任何事情都不應被嚴格假定為不可能(儘管它可能是不可能的)——即使與所有觀察結果和當前理論相悖。

 

神經網絡就是一個理想的例子。當你初始化一個神經網絡時,你的節點以一些固有值開始。如果將這些節點的權值都賦值為零,則節點將無法自行更新,因為梯度下降算法的所有迭代都將乘以零。相反,執行隨機初始化(通常對用戶不可見)通常可以防止出現這樣的問題。

 

貝葉斯定理的另一個有趣的性質是源自當我們觀察無窮次觀察之後會發生什麼,通常被稱為Bernstein-von Mises定理。

 

Bernstein-von Mises定理

 

簡而言之,Bernstein-von Mises定理告訴我們,當我們獲得更多的數據時,我們的後驗估計將漸進地獨立於我們最初(先前)的信念——當然,前提是它遵循Cromwell規則。這在某種程度上類似於頻率統計中的律數定律,它告訴我們,當我們獲得越來越多的數據時,樣本的均值最終將等於總體的均值。

 

那麼貝葉斯統計與普通統計之間的最大區別是什麼?為什麼機器學習專家和數據科學家需要貝葉斯統計?

貝葉斯統計與頻率統計

 

對於那些不知道貝葉斯和頻率論是什麼的人,讓我詳細說明一下。頻率論方法是從頻率的角度看數據。例如,假設我有一枚兩面都是正面的偏置硬幣。我拋10次硬幣,得到10次正面。如果我取所有拋硬幣的平均結果,得到1,表示下一次拋硬幣正面的概率是100%,反面的概率是0%,這是一種頻率論的思維方式。

 

現在用貝葉斯的觀點。一開始我的先驗概率是0.5,因為我假設硬幣是均勻的。但是,不同的是我如何選擇更新我的概率的方式。每次拋完硬幣後,我都會看看我的下一個觀察結果在我目前的信念(我有一枚均勻的硬幣)下出現的可能性有多大。漸進的,當我拋到更多的正面,我的概率會趨向於1,但它永遠不會明確地等於1。

 

貝葉斯方法和頻率方法的根本區別在於隨機性存在的位置。在頻率論領域內,數據被認為是隨機的,參數(如均值、方差)是固定的。在貝葉斯領域中,參數是隨機的,數據是固定的。

 

我現在非常想強調一點。

 

它不被稱為貝葉斯(Bayesian),因為你使用的是貝葉斯定理(這在頻率論的觀點中也很常用)。

 

它被稱為貝葉斯(Bayesian),因為方程中的項有不同的潛在含義。從理論的差異來講,最終你會得到一個非常有意義的實際區別:雖然之前僅有一個參數作為估計器的結果(數據是隨機的,參數是固定的),現在你有一個分布參數(參數是隨機的,數據是固定的),所以你需要集成它們以獲得在數據上的分布。這是貝葉斯統計背後的數學變得比普通統計更混亂的原因之一,我們必須使用馬爾可夫鏈Monte Carlo方法對分布進行抽樣,以估計難以處理的積分的值。其他巧妙的技巧,如無意識統計學家定律(多麼偉大的名字,對吧?)又名LOTUS,可以在數學方面提供幫助。

 

那麼哪種方法更好呢?

 

這些方法本質上是同一枚硬幣的兩面(雙關語),它們通常會給出相同的結果,但實現方法略有不同。不是一個比另一個好。事實上,我在哈佛的課堂上甚至有教授經常爭論哪個更好。普遍的共識是,「這取決於問題本身」,如果你能把它當成一個共識的話。就我個人而言,我發現貝葉斯方法更直觀,但其背後的數學要比傳統的頻率方法複雜得多。

 

現在你(希望)已經理解了其中的區別,也許下面的笑話會讓你發笑。

貝葉斯與頻率論的笑話

 

什麼時候應該使用貝葉斯統計?

 

貝葉斯統計包含了一類可以用於機器學習的特定模型。通常,人們基於一個或多個原因使用貝葉斯模型,例如:

 

擁有相對較少的數據點

對事物如何運作有強烈的直覺(來自已有的觀察/模型)

具有高度不確定性,或強烈需要量化特定模型或模型比較的不確定性水平

想要聲明關於替代假設的可能性,而不是簡單地接受或拒絕零假設

 

看了這個清單,你可能會認為人們總是想在機器學習中使用貝葉斯方法。然而,事實並非如此,我懷疑貝葉斯機器學習方法的相對薄弱是因為:

 

 

我們可以清楚地看到,頻率分析和貝葉斯方法之間存在著許多協同作用,尤其是在當今世界,大數據和預測分析已經變得如此突出。我們為各種系統提供了大量的數據,我們可以不斷地對系統進行數據驅動的推斷,並隨著越來越多的數據可用而不斷更新它們。由於貝葉斯統計為「知識」的更新提供了一個框架,實際上它在機器學習中被大量使用。

 

一些機器學習技術,如高斯過程和簡單線性回歸,都有貝葉斯和非貝葉斯版本。也有純頻率的算法(如支持向量機、隨機森林)和純貝葉斯的算法(如變分推理、期望最大化)。學習什麼時候使用這些工具,以及為什麼使用這些工具,可以讓你成為一名真正的數據科學家。

 

你是貝葉斯主義者還是頻率方法主義者?

 

就我個人而言,我並不屬於任一陣營,這是因為有時我在一個擁有數千個特性的數據集上使用統計數據/機器學習,而我對這些特性一無所知。因此,我沒有先驗的信念,貝葉斯推理似乎是不合適的。然而,有時我處理很少的特徵並且我對它們很了解,我想把它加入我的模型-在這種情況下,貝葉斯方法將給我更多我相信的確定的區間/結果。

 

我應該去哪裡學習更多關於貝葉斯統計的知識?

 

有幾個很棒的在線課程深入研究機器學習的貝葉斯統計。我推薦的最好的資源是我在哈佛上的AM207課程:高級科學計算(隨機優化方法,用於推理和數據分析的蒙特卡羅方法)。你可以在這裡找到所有的課程資源,筆記,甚至Jupyter筆記。

 

這裡還有一個很棒的視頻,講的是貝葉斯域和頻率之間的轉換(在視頻的11分鐘處)。

https://www.youtube.com/watch?time_continue=674&v=kLmzxmRcUTo

如果你想成為一名真正偉大的數據科學家,我建議你牢牢掌握貝葉斯統計以及它如何被用來解決問題。這是一個艱難的過程,也是一個陡峭的學習曲線,但這是一個讓你從其他數據科學家中脫穎而出的好方法。在與同事進行數據科學訪談的討論中,貝葉斯建模經常出現,所以請記住這一點!

原文標題:

Will the Sun Rise Tomorrow? Introduction to Bayesian Statistics for Machine Learning

原文連結:

https://towardsdatascience.com/will-the-sun-rise-tomorrow-introduction-to-bayesian-statistics-for-machine-learning-6324dfceac2e

吳金笛,雪城大學計算機科學碩士一年級在讀。迎難而上是我最舒服的狀態,動心忍性,曾益我所不能。我的目標是做個早睡早起的Cool Girl。

工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是數據科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。

你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於數據科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯繫,數據派THU產學研的背景為志願者帶來好的發展機遇。

其他福利:來自於名企的數據科學工作者,北大清華以及海外等名校學生他們都將成為你在翻譯小組的夥伴。

點擊文末「閱讀原文」加入數據派團隊~

點擊「閱讀原文」擁抱組織

相關焦點

  • 獨家 | 一文讀懂Adaboost
    【集成學習】系列往期回顧:獨家 | 一文讀懂集成學習(附學習資源) 參考資料:1. 李航.《統計學習方法》2. 周志華.《機器學習》3. 曹瑩,苗啟廣,劉家辰,高琳. AdaBoost 算法研究進展與展望.
  • 獨家 | 一文讀懂貝葉斯分類算法(附學習資源)
    隨後介紹貝葉斯分類算法的基礎——貝葉斯定理。最後介紹貝葉斯分類中最簡單的一種——樸素貝葉斯分類,並結合應用案例進一步闡釋。貝葉斯分類1. 分類問題綜述對於分類問題,我們每一個人都並不陌生,因為在日常生活中我們都在或多或少地運用它。
  • 機器學習 —— 淺談貝葉斯和MCMC
    這是這個系列的第一個筆記,是關於貝葉斯和MCMC一些數學原理的講解和代碼的實現,希望能夠深入淺出,敘述的容易讓人理解。…▌淺談貝葉斯不論是學習概率統計還是機器學習的過程中,貝葉斯總是是繞不過去的一道坎,大部分人在學習的時候都是在強行地背公式和套用方法,沒有真正去理解其牛逼的思想內涵。
  • 貝葉斯機器學習前沿進展
    摘要 隨著大數據的快速發展,以概率統計為基礎的機器學習在近年來受到工業界和學術界的極大關注,並在視覺、語音、自然語言、生物等領域獲得很多重要的成功應用,其中貝葉斯方法在過去20多年也得到了快速發展,成為非常重要的一類機器學習方法.總結了貝葉斯方法在機器學習中的最新進展,具體內容包括貝葉斯機器學習的基礎理論與方法、非參數貝葉斯方法及常用的推理方法
  • 一文讀懂貝葉斯推理問題:MCMC方法和變分推斷
    圖片來源:pexels.com/@lum3n-com-4477貝葉斯推理(Bayesian inference)是統計學中的一個重要問題,也是許多機器學習方法中經常遇到的問題。還要注意,本文中的p(.)可以用來表示概率、概率密度或概率分布,具體含義取決於上下文。貝葉斯推理問題這一部分提出了貝葉斯推理問題,討論了一些計算困難,並給出了LDA算法的例子。LDA算法是一種具體的主題建模機器學習技術,能夠反映貝葉斯推理問題。
  • 一文讀懂機器學習!
    01 機器學習分類傳統機器學習機器學習可以理解成是生產算法的算法。需要人來先做特徵提取,然後在把特徵向量化後交給機器去訓練。傳統機器學習分為 監督學習 和 無監督學習。深度學習深度學習是基於深度神經網絡的學習(DNN)。深度學習可以自動提取特徵。
  • 貝葉斯機器學習路線圖
    雖然貝葉斯統計的核心思想已經歷經很多年了, 但貝葉斯的思想在過去近20年對機器學習產生了重大影響, 因為它在對真實世界現象建立結構化模型時提供了靈活性. 算法的進步和日益增長的計算資源使得我們可以擬合豐富的, 高度結構化的模型, 而這些模型在過去是很棘手的.這個路線圖旨在給出貝葉斯機器學習中許多關鍵思想的指引.
  • 一文解析統計學在機器學習中的重要性(附學習包)
    在這篇文章中,你將明晰為什麼統計對於通用應用和機器學習如此重要,並大致了解各種可用的方法。 本文中你將了解到: 統計通常被認為是應用機器學習領域的先決條件。 我們需要利用統計將觀測結果轉化為信息,並回答有關觀測樣本的問題。 統計是數百年來開發的一組工具,用於匯總數據和量化給定觀測樣本的域的屬性。 那我們開始吧!
  • 獨家 | 一文讀懂Hadoop(三):Mapreduce
    讀者可以通過閱讀「一文讀懂Hadoop」系列文章,對Hadoop技術有個全面的了解,它涵蓋了Hadoop官網的所有知識點,並且通俗易懂,英文不好的讀者完全可以通過閱讀此篇文章了解Hadoop。本期獨家內容「一文讀懂Hadoop」系列文章先介紹Hadoop,繼而分別詳細介紹HDFS、MAPREDUCE、YARN的所有知識點,分為四期內容在近幾天推送。敬請關注後續內容。
  • 一文讀懂矩估計、極大似然估計和貝葉斯估計
    參數估計最主要的方法包括矩估計法,極大似然估計法,以及貝葉斯估計法。機器學習中常常使用的是極大似然估計法和貝葉斯估計法。一,矩估計法 矩估計的基本思想是用樣本的k階矩作為總體的k階矩的估計量,從而解出未知參數。
  • 三張圖讀懂機器學習:基本概念、五大流派與九種常見算法
    機器學習和人工智慧的關係 機器學習是一種重在尋找數據中的模式並使用這些模式來做出預測的研究和算法的門類。機器學習是人工智慧領域的一部分,並且和知識發現與數據挖掘有所交集。更多解讀可參閱《一文讀懂機器學習、數據科學、人工智慧、深度學習和統計學之間的區別》。
  • 貝葉斯、概率分布與機器學習
    簡單的說貝葉斯定理:貝葉斯定理用數學的方法來解釋生活中大家都知道的常識形式最簡單的定理往往是最好的定理,比如說中心極限定理,這樣的定理往往會成為某一個領域的理論基礎。機器學習的各種算法中使用的方法,最常見的就是貝葉斯定理。
  • 一文讀懂機器學習中的正則化
    在算法中使用正則化的目的是防止模型出現過擬合。一提到正則化,很多同學可能馬上會想到常用的L1範數和L2範數,在匯總之前,我們先看下LP範數是什麼鬼。範數簡單可以理解為用來表徵向量空間中的距離,而距離的定義很抽象,只要滿足非負、自反、三角不等式就可以稱之為距離。LP範數不是一個範數,而是一組範數,其定義如下:pp的範圍是[1,∞)[1,∞)。
  • 機器學習領域中的頻率學派與貝葉斯學派
    ———————一本正經的分割線———————機器學習的本質實際上是求解目標函數的優化問題,那目標函數是怎麼來的呢?(獨立同分布)的一組重樣, 故x=(x1,x2,...,xn),那麼:在貝葉斯理論中,似然函數和先驗均為變量,符合一定的分布,故無法當作固定值常數看待。分母根據全概率公式展開得到:
  • 一文讀懂機器學習分類算法(附圖文詳解)
    一起來通過這篇文章回顧一下機器學習分類算法吧(本文適合已有機器學習分類算法基礎的同學)。機器學習是一種能從數據中學習的計算機編程科學以及藝術,就像下面這句話說得一樣。機器學習是使計算機無需顯式編程就能學習的研究領域。
  • 機器學習的統計方法 貝葉斯決策理論入門
    引言無論你是在建立機器學習模型還是在日常生活中做決定,我們總是選擇風險最小的方案。作為人類,我們天生就採取任何有助於我們生存的行動;然而,機器學習模型最初並不是基於這種理解而建立的。這些算法需要經過訓練和優化,以選擇風險最小的最優方案。
  • 機器學習算法實踐-樸素貝葉斯(Naive Bayes)
    知乎專欄:化學狗碼磚的日常blog:http://ipytlab.comgithub:https://github.com/PytLab前言上一篇總結了決策樹的實現,本文中我將一步步實現一個樸素貝葉斯分類器,並採用SMS垃圾簡訊語料庫中的數據進行模型訓練
  • 機器學習 - 貝葉斯網絡
    然而,在實際應用中,這樣的假設(所有變量相互獨立)是很難成立的。因此我們需要對該假設進行一定程度的放鬆,比如採用「獨依賴估計」(假設每個屬性在類別之外僅依賴一個其他屬性)策略的半樸素貝葉斯。常用的半樸素貝葉斯有兩種,分別是SPODE和TAN。但獨依賴估計依然無法準確描述實際數據的屬性間複雜依賴關係,它們的依賴關係往往不是一對的,而可能是一對多、多對一的。
  • 機器學習、數據科學、人工智慧、深度學習和統計學之間的區別!
    作者:Vincent Granville,來源:機器之心 在本文中,數據科學家與分析師 Vincent Granville 明晰了數據科學家所具有的不同角色,以及數據科學與機器學習、深度學習、人工智慧、統計學、物聯網、運籌學和應用數學等相關領域的比較和重疊。
  • 一文看懂貝葉斯定理及應用
    導讀:在機器學習的一些主要任務中,貝葉斯模型是一種經典的簡單學習模型。本文介紹貝葉斯模型及貝葉斯定理。