任何的一個基礎模型都可以演變成貝葉斯模型。在一個基礎模型之下我們需要去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) \times 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)的作用會越小。
作者:李文哲
來源:知乎
連結:https://www.zhihu.com/question/22007264/answer/20014371