如何通俗地解釋貝葉斯線性回歸的基本原理?

機器學習 模式識別


並不僅僅加了先驗p(w), 有很大的區別。 任何的一個基礎模型都可以演變成貝葉斯模型。在一個基礎模型之下我們需要去estimate一些未知的參數(比如在linear regression, 需要去計算W這個向量), 但在貝葉斯模型下我們需要去計算的是W的分布(而不是W的point estimation),用其分布直接計算對y的預測值p(y|x,D),所以我們需要去需要integrate W,也就是說我們把所有可能的W向量都會去考慮, 這也為什麼貝葉斯模型通常intractable, 所以我們需要用MCMC或者variational方法,而不是直接用優化的方法。在貝葉斯模型之下, 隨著我們observe more and more data , 我們會對W向量的分布會有更清晰的推斷,這其實就是posterior inference.

下面簡單說一下一些預測模型之間的聯繫:

我們一般考慮3種預測模式,Maximum likelihood estimation (ML), Maximum a posteriori estimation(MAP), 貝葉斯模型. 前兩者屬於point estimation.

Maximum likelihood estimation (ML): 這是最簡單的point estimation, 也就是我們需要去計算P(D|W), 從而找到最優化的W. 它的缺點就是數據比較少的時候往往overfit。

Maximum a posteriori estimation (MAP). 他是在ML的基礎上加了prior, 也就是假定了一些P(W)的分布。在MAP情況下我們需要計算P(W|D) (從貝葉斯定理,我們可以得到 P(W|D) prop P(W) imes P(D|W)). 在linear regression上加上prior其實相當於加了regularization. 如果我們假定P(W)服從高斯分布,那我們加的實際上是L2_norm, 如果我們假定P(W)是拉普拉斯分布,那我們加的是L1_norm(linear regression情況下就是相當於LASSO,會有sparse的特點)。 但是即使regularization會防止overfitting, 但我們還是需要設置regularization coefficient lamda (比如 minimize sum_i (y_i-f(_ix,w))^2 + lamda ||w||_2^2). lamda的設置一般需要用cross validation,或者用一些統計學的方法(儘管實際上沒有多少人用這個), 所以在MAP的情況下設置這些regularization coefficient成了難題。

貝葉斯模型

好了,MAP的一些limitation 貝葉斯可以幫我們解決. 貝葉斯的特點就是考慮整個W的分布,所以自然而然也就是防止overfitting. 在貝葉斯模型下,我們需要計算P(W|D), 但不要忘記,在這裡我們是計算W的分布,而不是W的一個最優化的值!(不同於MAP)。 當然,貝葉斯的優點也帶來了一些麻煩,就是它的計算比前兩個方法複雜的多。如果想深入了解的話可以去翻翻MCMC或者variational inference文章讀一讀。

Ideally, 如果我們的數據非常多, ML的效果已經很好了。 數據越多,我們的prior P(W)的作用會越小。


題主指的應該是full-Bayesian吧。full-Bayesian方法說到底就是兩步走:

  1. 用訓練數據得到似然函數likelihood,再加上一個先驗分布prior,得到一個後驗分布posterior.
  2. 對於一個新的測試數據x,用之前得到的posterior作為權重在整個參數空間里計算一個加權積分,得到一個預測分布。

full-Bayesian與最大似然估計,最大後驗估計(MAP)不同之處在於它得到的是測試數據在整個空間上的一個概率分布,而不單純是一個點估計。它的精髓就在於這個加權積分:考慮到了參數的所有情況,並且加以不同的權重(後驗分布的值),自然就避免了過擬合。此外,很多情況下比起單純的點估計,我們更需要一個分布來獲得更多的信息(點估計只告訴了我們最有可能的情況,而分布包含了整個空間里的情況)。

在實際中,除了少數情況(比如先驗和似然函數都是高斯分布),那個後驗分布的形式一般都很複雜,第二步里的積分是積不出來的。這時候就要採取一些近似方法,近似方法又分為兩大類:

  1. 簡化複雜的後驗分布,然後就能算出積分的解析形式了。具體方法有變分推斷,Laplace近似等。這類方法的特點是人算起來困難,機器跑起來快。
  2. 用採樣的方法搞定後驗分布。具體方法有Gibbs採樣,HMC採樣等。這類方法反過來了,人算起來簡單,但是機器跑起來慢。
  3. 採樣方法還有一個好處,就是精度算得比誰都高,但是畢竟還是too slow too simple~


就是把多加一層(超)參數變成一種系統的學問


貝葉斯線性回歸是在普通線性回歸基礎上加上了模型參數的先驗p(w),從最大似然估計變成最大後驗,沒有特別的地方。


你有個問題想知道答案,你可以問所有的班裡的學生。 一種方案是,問一個學習最好的同學。 另一種方案是,問所有的同學,然後把答案綜合起來,但綜合的時候,會按照每個同學的成績好壞來做個權重。 第一種方案的思想類似於ML,MAP,第二種方案類似於貝葉斯模型。

來源:貝葉斯思想以及與最大似然估計、最大後驗估計的區別 - 江湖小妞 - 博客園


推薦閱讀:

怎麼通俗易懂地解釋貝葉斯網路和它的應用?
數據挖掘、機器學習、自然語言處理這三者是什麼關係?這幾個怎麼入門啊?
參與大數據競賽應該看什麼書?
kaggle上有哪些好的競賽項目?哪些適合入門,哪些適合進階
為什麼xgboost/gbdt在調參時為什麼樹的深度很少就能達到很高的精度?

TAG:數據挖掘 | 數學 | 統計 | 貝葉斯統計 | 線性回歸 |