基於貝葉斯推斷的回歸模型(理論篇)| 機器學習你會遇到的「坑」

2021-01-10 讀芯術

全文共3060字,預計學習時長7分鐘

本周,我們繼續討論上次在課堂結尾時提出的問題。

數學準備

貝葉斯定理:

,它的意義是,在B發生的情況下,A發生的概率。在貝葉斯框架下,P(A)叫做先驗概率,P(B|A)叫做似然,P(B)是證據因子,P(A|B)叫做後驗概率。

樸素貝葉斯

:基於貝葉斯定理的分類器,需要估計類先驗概率

P(l)

和屬性的類條件概率

,為計算聯合概率,引入了屬性獨立性假設。

共軛先驗:如果先驗分布與後驗分布屬於同一類型的分布,那麼我們將先驗分布稱為似然函數的共軛先驗。比如,高斯分布對於高斯類型的似然函數是其自身的共軛先驗,也就是說如果先驗是高斯,似然函數也是高斯,那麼後驗也會是高斯。

傳統樸素貝葉斯的局限

在上一篇《基於貝葉斯推斷的分類模型》中,我們詳細討論了樸素貝葉斯的細節,但拓展時會出現兩個問題:

屬性值由離散變為連續,屬性的類條件概率將變得無法計算(因為每個屬性值可能只出現一次)。

由分類問題變為回歸問題,target也由離散變得連續,類先驗概率也變得無法計算(因為每個目標值可能只出現一次),更重要的是,我們無法像分類問題一樣計算類後驗概率。

第一個問題的實質在於:屬性的取值一旦由離散變得連續,我們就不能用頻率來估計概率。但是我們可以用一個概率密度函數來指定屬性的類條件概率的估計,比如我們可以令條件概率為一個高斯分布:

高斯分布由兩個參數(均值和標準差)唯一確定,我們在訓練分類器的過程,其實就是對每個屬性的每個類條件概率的參數進行估計,這裡面所用的方法就是極大似然估計。

極大似然估計(Maximum Likelihood Estimation)

似然,也就是條件概率P(A|B),是給定條件B後,事件A發生的概率。如果模型攜帶參數,那麼條件概率的意思就是

就是給定參數,數據出現的概率,極大似然法選擇最大化條件概率

,本質意義上是我們在很多參數中選擇一個能使數據出現概率最大的參數。

如果我們假設數據獨立同分布,那麼樣本同時出現的概率就可以寫成每個樣本出現概率的乘積,條件概率就可以寫成連乘:

因為大量小的概率連乘可能會造成下溢:實際上,我們更容易最大化似然的自然對數,而不是其本身,我們就會得到對數似然:

我們會看到,很多攜帶參數的模型的優化函數都可以從最大似然估計推導而來。

Example:簡單線性模型並不簡單

我們在《過擬合問題》中,曾經提到過簡單線性模型的最小二乘估計,並且給出了它的優化目標,也就是均方誤差,對於固定容量的樣本,我們就有:

事實上,簡單線性模型假設我們的目標值

服從高斯分布

,它的均值為

標準差未知但固定,最大化對數似然就是最大化高斯分布:

利用對數的性質,就可以將其拆開:

其中

是常數,最大化對數似然相當於最小化其負值,所以,我們有:

其中標準差

是一個固定的數,不參與優化。這樣,我們通過極大似然估計就可以推導出簡單線性模型的優化函數。

最大後驗估計(Maximum A Posteriori Estimation)

極大似然估計(MLE)只考慮了似然函數的最大化,本質意義上是我們在很多參數中選擇一個能使數據出現概率最大的參數。

然而根據貝葉斯定理,最大化後驗概率具有根本不同的意義,因為在極大似然估計仍然把潛在的參數看作定值,我們需要做的只是去尋找這個定值。而最大後驗估計卻是將參數值看作隨機變量,它本身就是一個分布,而不是定值。

貝葉斯定理的分母,是一個關於數據x的邊緣概率,而參數只是作為積分變量,在優化中不會起作用。所以,後驗概率

表示的是似然

與先驗

的乘積,而我們只需要把最大似然估計中的目標改為:

就得到了我們最大化後驗概率的形式。

Example:簡單線性模型的正則化

在《過擬合問題》中,同樣提到了簡單線性模型的正則化,比如說我們的嶺回歸(Ridge Regression),它的優化函數為:

我們在前面說,簡單線性模型假設我們的目標值

服從高斯分布

,事實上,

正則化則對應著參數的高斯先驗分布

:我們的參數服從高斯分布

。根據貝葉斯定理,我們用最大化後驗概率來估計參數,實際上只是在對數似然上添加了先驗的對數:

我們繼續將其展開:

最大化對數似然就是最小化其負值,同時省略其中的常數項,我們就會得到:

標準差

是常數,不參與優化。這樣,我們就得到了嶺回歸的優化函數。

貝葉斯線性回歸(Bayesian Linear Regression)

我們已經看到,簡單線性模型假設我們的目標值

服從高斯分布

,接下來就是極大似然法來估計參數,一旦得到參數,整個學習就結束了。貝葉斯線性回歸也是估計參數,但是應用了貝葉斯定理,我們不僅要考慮似然,還要考慮先驗以及證據因子:

其中,參數

只是一個向量,用來表示分布的參數。最重要的地方在於,所謂的後驗概率是結果出現之後對概率的修正,從貝葉斯的視角看待整個數據集,我們會把樣本的每個點進行增量計算,對於初始點,我們假設先驗和似然,計算出它的後驗,然後將初始點的後驗估計當作下一次(兩個樣本點)估計的先驗,如此反覆,直到計算完畢整個數據集。可以想像到,隨著樣本的增加,我們的估計會越來越準確。

出於解析的目的,我們選取自共軛先驗,我們假設似然函數服從高斯分布

,參數會變成

如果我們繼續假設先驗分布服從高斯分布

由於高斯分布的自共軛的性質,我們的後驗分布也會是一個高斯分布,我們可以通過貝葉斯定理將後驗高斯分布的參數用其餘參數來表示:

這裡,我們要注意三點:

是我們對似然函數進行極大似然估計的參數值,對似然參數的估計可以獨立進行。

後驗分布的均值由兩部分組成,一部分是先驗的參數,另一部分是似然的參數,先驗的精度越高(標準差越小),其對後驗均值的影響就越大(體現為權重越大)。

貝葉斯回歸的過程是一個樣本點逐步增加到學習器的過程,前一個樣本點的後驗會被下一次估計當作先驗。我們當然可以說,貝葉斯學習在逐步的更新先驗,但要注意,先驗的更新實際上是通過更新極大似然估計參數和樣本點來進行迭代的,而非改變初始先驗的形式。

如圖,從上到下,我們依次增加樣本點。中間的列是我們的每次迭代的後驗概率,並且將上一輪的後驗作為本次的先驗,逐漸更新的先驗contour越來越小,表明參數的可選區間越來越小,樣本對模型的約束越來越好,最後一列是我們的樣本空間,可以看出隨著樣本點的增加,直線變得越來越近,也說明參數的可選空間越來越小。

我們在極大後驗估計中提到了嶺回歸實際上是加了均值為零的高斯先驗。在這裡,我們同樣可以令先驗的均值

然後利用最大後驗估計,忽略常數項得到:

這樣的回歸方式叫做貝葉斯嶺回歸(Bayesian Ridge regression)。它與普通嶺回歸的區別在於,它採用了貝葉斯逐步更新先驗的策略,普通的嶺回歸允許參數

為零,因為這樣就退化到了線性回歸,但貝葉斯估計不能這樣做,因為高斯分布的標準差不能無窮大。同時,貝葉斯回歸會給出參數的置信區間,這是一個參數的可選範圍,本質意義上是一個協方差矩陣。

讀芯君開扒

課堂TIPS

MLE和MAP的區別看起來只有先驗分布的包括與否,實則是頻率學派和貝葉斯學派分歧的一種體現。貝葉斯學派會把參數當作一個分布,雖然看起來MLE和MAP進行的都是點估計,MAP其實對後驗概率最大化的方式給出的是參數分布的眾數。

大多數情況下,計算貝葉斯的後驗概率是一件非常困難的事情,我們選取共軛先驗使得計算變得非常簡單,其他的常見的方法有Laplace approximation,Monte Carlo積分(我們幾乎都要用Markov Chain的平穩分布去逼近後驗分布),Variational approximation。

貝葉斯的線性估計能夠充分的利用數據,如果我們有N個樣本,那麼初始樣本將會被計算N次,而最後一個樣本只會被計算一次,我們一般會進行多輪計算。但在數據量太大的時候並不適用,因為貝葉斯線性估計的計算代價太大。

留言 點讚 發個朋友圈

我們一起探討AI落地的最後一公裡

作者:唐僧不用海飛絲

如需轉載,請後臺留言,遵守轉載規範

相關焦點

  • 一文讀懂貝葉斯推理問題:MCMC方法和變分推斷
    (Bayesian inference)是統計學中的一個重要問題,也是許多機器學習方法中經常遇到的問題。即,統計推斷是基於一個總體或一些樣本中的某些觀察變量(通常是影響)得出結論的過程,例如關於總體或樣本中某些潛在變量(通常是原因)的準時估計、置信區間或區間估計等。而貝葉斯推理則是從貝葉斯的角度產生統計推斷的過程。
  • 【乾貨】為機器學習從業人員提供的貝葉斯學習核心路線
    貝葉斯統計是統計的一個分支,它的特點是把我們感興趣的量(比如統計模型的參數)看作隨機變量。給定觀察數據後, 我們對這些量的後驗分布進行分析從而得出結論。雖然貝葉斯統計的核心思想已歷經很多年了, 但貝葉斯的思想在過去近20年對機器學習產生了重大影響, 因為它在對真實世界現象建立結構化模型時提供了靈活性。
  • 線性降維方法(理論篇)| 機器學習你會遇到的「坑」
    在機器學習中,你同樣得了解它。很多初學者往往會把降維(Dimensionality reduction),特徵選擇(feature selection),以及特徵提取(feature extraction)混為一談,因為這三者都削減了進入模型的變量個數。
  • 周末AI課堂 理解softmax函數 | 機器學習你會遇到的「坑」
    AI課堂開講,就差你了!很多人說,看了再多的文章,可是沒有人手把手地教授,還是很難真正地入門AI。為了將AI知識體系以最簡單的方式呈現給你,從這個星期開始,芯君邀請AI專業人士開設「周末學習課堂」——每周就AI學習中的一個重點問題進行深度分析,課程會分為理論篇和代碼篇,理論與實操,一個都不能少!
  • 貝葉斯機器學習到底是什麼?看完這篇你就懂了
    從數據中推斷模型參數在貝葉斯機器學習中,我們同樣採用貝葉斯公式從data(D)中推導模型參數(θ)。P(θ|D) = P(D|θ) * P(θ) / P(data)值得說明的是,P(data)在通常情況下無法被計算,但這並不會帶來什麼問題。
  • 機器學習的統計方法 貝葉斯決策理論入門
    引言無論你是在建立機器學習模型還是在日常生活中做決定,我們總是選擇風險最小的方案。作為人類,我們天生就採取任何有助於我們生存的行動;然而,機器學習模型最初並不是基於這種理解而建立的。這些算法需要經過訓練和優化,以選擇風險最小的最優方案。此外,很重要的一點在於,我們必須明白,如果某些高風險的決定做的不正確,將會導致嚴重的後果。我們以癌症診斷為例。
  • 清華大學計算機科學與技術系朱軍教授:機器學習裡的貝葉斯基本理論...
    來自清華大學計算機科學與技術系的朱軍副教授做了題為《貝葉斯學習前沿進展》的開場分享課。總共2個小時時長的課程,內容主要分為三大部分:貝葉斯基本理論、模型和算法;可擴展的貝葉斯方法;深度生成模型。本文乃三大內容中的第一部分:貝葉斯基本理論、模型和算法。
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    當模型複雜度上升的時候,偏差會逐漸變小,而方差會逐漸變大。常見算法優缺點樸素貝葉斯樸素貝葉斯屬於生成式模型(關於生成模型和判別式模型,主要還是在於是否需要求聯合分布),比較簡單,你只需做一堆計數即可。如果注有條件獨立性假設(一個比較嚴格的條件),樸素貝葉斯分類器的收斂速度將快於判別模型,比如邏輯回歸,所以你只需要較少的訓練數據即可。即使NB條件獨立假設不成立,NB分類器在實踐中仍然表現的很出色。它的主要缺點是它不能學習特徵間的相互作用,用mRMR中R來講,就是特徵冗餘。
  • Nature子刊:反事實推斷幫模型識別罕見病,躋身專家水平
    最近發表在 Nature Communications 上的一項研究通過建立反事實因果診斷模型,提升了機器學習在醫療診斷領域的效果。Pearl 轉發推薦這篇文章。然而,現有的機器學習診斷方法是完全基於相關性的,它可以識別出與病人症狀強相關的疾病。最近,來自英國數字醫療公司 Babylon Health 的研究人員在《Nature Communications》上發表論文,表明無法將相關性與因果性解耦會導致次優甚至危險的診斷結果。
  • 你了解機器學習中的線性回歸嗎
    你了解機器學習中的線性回歸嗎 AI科技大本營 發表於 2020-02-24 14:03:34 機器學習中的線性回歸是一種來源於經典統計學的有監督學習技術。
  • 貝葉斯線性回歸在期貨交易中的應用
    貝葉斯方法簡介  貝葉斯方法提供了一種通過計算假設概率來預測未來概率的方法,這種方法是基於假設的先驗概率、給定假設下觀察到不同數據的概率以及觀察到的數據本身而得出的。 其方法為,將關於未知參數的先驗信息與樣本信息綜合,再根據貝葉斯公式,得出後驗信息,然後根據後驗信息去推斷未知參數的方法,再由此推斷出未來待預測變量的概率分布。
  • 入門| 貝葉斯線性回歸方法的解釋和優點
    本文對比了頻率線性回歸和貝葉斯線性回歸兩種方法,並對後者進行了詳細的介紹,分析了貝葉斯線性回歸的優點和直觀特徵。我認為貝葉斯學派和頻率學派之間的紛爭是「可遠觀而不可褻玩」的學術爭論之一。與其熱衷於站隊,我認為同時學習這兩種統計推斷方法並且將它們應用到恰當的場景之下會更加富有成效。
  • 數據分析經典模型——樸素貝葉斯
    編輯導語:做過數據分析的人,想必對貝葉斯模型都不會陌生。貝葉斯預測模型是運用貝葉斯統計進行的一種預測,不同於一般的統計方法,其不僅利用模型信息和數據信息,而且充分利用先驗信息。通過實證分析的方法,將貝葉斯預測模型與普通回歸預測模型的預測結果進行比較,結果表明貝葉斯預測模型具有明顯的優越性。
  • Python帶你實踐機器學習聖經PRML
    將 Bishop 大神的 PRML 稱為機器學習聖經一點也不為過,該書系統地介紹了模式識別和機器學習領域內詳細的概念與基礎。書中有對概率論基礎知識的介紹,也有高階的線性代數和多元微積分的內容,適合高校的研究生以及人工智慧相關的從業人員學習。知乎上關於這個關於「PRML為何是機器學習的經典書籍中的經典?」
  • 清華大學朱軍:貝葉斯學習回顧與最新進展| YEF 2020
    對於這種有隱變量的模型,有一個非常經典的EM算法 ,對於不能觀測到的變量(隱變量)添加了E-step,即進行用概率推斷的方法估計隱變量,然後基於估計的信息就可以在M-step裡更新模型的自由參數。貝葉斯定理本身非常適合分布式,當數據分布在多個機器上,可以對每個局部的數據進行後驗推斷,然後再將後驗分布集中起來做簡單運算,就可以得到整體精確的經驗分布。這種方式在理論上非常漂亮,但是在實際中不可對每一個局部的後驗分布進行精確計算,因此發展了很多分布式的近似算法。
  • 清華大學朱軍:貝葉斯學習回顧與最新進展|YEF 2020
    對於上面這個例子,我們可能會引入一個變量去表示,從而找到某一文檔從哪一個會議中來,即可能來自SIGIR也可能來自ICML,對於不同的會議論文,如果用不同的語言模型進行描述的,就能準確刻畫它們不同的風格。這種想法可以用上圖右邊所示的概率圖模型進行描述。先對隱變量有一個先驗分布,然後給定這個隱變量,再用相應的語言模型進行定義X,如此便能進行推斷。
  • 經典書《機器學習:概率視角》習題解答(中文),附1098頁pdf下載
    在機器學習中,不確定性有多種形式: 給定一些數據,什麼是最好的預測(或決策)?給定數據的最佳模型是什麼?接下來我應該執行什麼度量?等。 概率推理系統地應用於所有的推理問題,包括統計模型的推理參數,有時被稱為貝葉斯方法。然而,這個詞往往會引起非常強烈的反應(積極或消極,取決於你問誰),所以我們更喜歡中性的術語「概率方法」。
  • 10本機器學習和數據科學的必讀書籍推薦
    :概率編程與貝葉斯推斷》,以計算/理解為主,數學內容為輔,重點介紹了貝葉斯方法理論和概率編程。作為推斷中最自然和常見的方法,貝葉斯推斷一般以晦澀難懂的數學分析理論為大家所熟知。按照一般的模式,在介紹貝葉斯之前,通常都要先介紹兩到三章的概率論的相關內容。等到概率論介紹完,又常常由於貝葉斯模型的數學複雜度太高,因此只能向讀者展示一些最簡單和粗糙的貝葉斯樣例,於是給讀者造成了一種「貝葉斯似乎也沒什麼用」的錯覺。
  • 機器學習算法集錦:從貝葉斯到深度學習及各自優缺點
    Learning Algorithms)圖模型(Graphical Models)正則化算法(Regularization Algorithms)它是另一種方法(通常是回歸方法)的拓展,這種方法會基於模型複雜性對其進行懲罰,它喜歡相對簡單能夠更好的泛化的模型。
  • 「NLP」經典分類模型樸素貝葉斯解讀
    貝葉斯分類器在早期的自然語言處理任務中有著較多實際的應用,例如大部分的垃圾郵件處理都是用的貝葉斯分類器。貝葉斯分類器的理論對於理解後續的NLP模型有很大的進益,感興趣的小夥伴一定要好好看看,本文會詳細的講述貝葉斯分類器的原理。本文會是我們NLP基礎系列最後一篇機器學習模型的講解,後面會進入深度學習相關的內容。