Laplace(拉普拉斯)先驗與L1正則化

Laplace(拉普拉斯)先驗與L1正則化

在以前的一篇博客中L1正則化及其推導推導證實了L1正則化是如何使參數稀疏化人,而且提到過L1正則化若是從貝葉斯的觀點看來是Laplace先驗,事實上若是從貝葉斯的觀點,全部的正則化都是來自於對參數分佈的先驗。如今來看一下爲何Laplace先驗會導出L1正則化,也順便證實Gauss(高斯)先驗會導出L2正則化。html

最大似然估計

不少人對最大似然估計不明白,用最簡單的線性迴歸的例子來講:若是有數據集\((X, Y)\),而且\(Y\)是有白噪聲(就是與測量獲得的\(Y\)與真實的\(Y_{real}\)有均值爲零的高斯分佈偏差),目的是用新產生的\(X\)來獲得\(Y\)。若是用線性模型來測量,那麼有:機器學習

\[ f(X) = \sum_i(x_i\theta_i) + \epsilon = X\theta^T + \epsilon \tag{1.1} \]函數

其中\(X=(x_1, x_2...x_n)\)\(\epsilon\)是白噪聲,即\(\epsilon \sim N(0, \delta^2)\)。那麼於一對數據集\((X_i, Y_i)\)來用,在這個模型中用\(X_i\)獲得\(Y_i\)的機率是\(Y_i \sim N(f(X_i), \delta^2)\)性能

\[ P(Y_i|X_i, \theta) = \frac{1}{\delta\sqrt{2\pi}} \exp(-\frac{\|f(X_i) - Y_i\|^2}{2\delta^2}) \tag{1.2} \]學習

假設數據集中每一對數據都是獨立的,那麼對於數據集來講由\(X\)獲得\(Y\)的機率是:spa

\[ P(Y|X,\theta)= \prod_i\frac{1}{\delta\sqrt{2\pi}} \exp(-\frac{\|f(X_i) - Y_i\|^2}{2\delta^2}) \tag{1.3} \]htm

根據決策論,就能夠知道可使機率\(P(Y|X,\theta)\)最大的參數\(\theta^*\)就是最好的參數。那麼咱們能夠直接獲得最大似然估計的最直觀理解:對於一個模型,調整參數\(\theta\),使得用X獲得Y的機率最大。那麼參數\(\theta\)就能夠由下式獲得:blog

\[ \begin {split} \theta^* &= argmax_{\theta} \left(\prod_i\frac{1}{\epsilon\sqrt{2\pi}} \exp(-\frac{\|f(X_i) - Y_i\|^2}{2\delta^2})\right) \cr &=argmax_{\theta} \left( -\frac{1}{2\delta^2} \sum_i \|f(X_i) - Y_i\|^2 + \sum_i ln(\delta\sqrt{2\pi}) \right) \cr &=argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 \right) \end {split} \tag{1.4} \]get

這個就是最小二乘計算公式。博客

Laplace分佈

Laplace機率密度函數分佈爲:

\[ f(x|\mu, b) = \frac{1}{2b} \exp(-\frac{|x-\mu|}{b}) \tag{2.1} \]

分佈的圖像以下所示:

圖1 Laplace分佈

能夠看到Laplace分佈集中在\(\mu\)附近,並且\(b\)越小,數據的分佈就越集中。

Laplace先驗導出L1正則化

先驗的意思是對一種未知的東西的假設,好比說咱們看到一個正方體的骰子,那麼咱們會假設他的各個面朝上的機率都是\(1/6\),這個就是先驗。但事實上骰子的材質多是密度不均的,因此還要從數據集中學習到更接近現實狀況的機率。一樣,在機器學習中,咱們會根據一些已知的知識對參數的分佈進行必定的假設,這個就是先驗。有先驗的好處就是能夠在較小的數據集中有良好的泛化性能,固然這是在先驗分佈是接近真實分佈的狀況下獲得的了,從信息論的角度看,向系統加入了正確先驗這個信息,確定會提升系統的性能。咱們假設參數\(\theta\)是以下的Laplace分佈的,這就是Laplace先驗:

\[ P(\theta_i) = \frac{\lambda}{2} \exp(-\lambda|\theta_i|) \tag{3.1} \]

其中\(\lambda\)是控制參數\(\theta\)集中狀況的超參數,\(\lambda\)越大那麼參數的分佈就越集中在0附近。

在前面所說的最大似然估計事實上是假設了\(\theta\)是均勻分佈的,也就是\(P(\theta)=Constant\),咱們最大化的要後驗估計,便是:

\[ \begin {split} \theta^* &= argmax_{\theta} \left(\prod_i P(Y_i|X_i, \theta) \prod_i P(\theta_i)\right) \cr &=argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 + \sum_i \ln(P(\theta_i))\right) \end {split} \tag{3.2} \]

若是是Laplace先驗,將式\((3.1)\)代入到式\((3.2)\)中可得:

\[ \theta^* =argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 + \lambda \sum_i |\theta_i|)\right) \tag{3.3} \]

這就是由Laplace導出L1正則化,我在以前的一篇博客中L1正則化及其推導分析過\(\lambda\)越大,那麼參數的分佈就越集中在0附近,這個與Laplace先驗的分析是一致的。

Gauss先驗導出L2正則化

到這裏,咱們能夠很輕易地導出L2正則化,假設參數\(\theta\)的分佈是符合如下的高斯分佈:

\[ P(\theta_i) = \frac{\lambda}{\sqrt{\pi}} \exp(-\lambda\|\theta_i\|^2) \tag{3.4} \]

代入式\((3.2)\)能夠直接獲得L2正則化:

\[ \theta^* =argmin_{\theta} \left(\sum_i \|f(X_i) - Y_i\|^2 + \lambda \sum_i \|\theta_i\|^2)\right) \tag{3.5} \]

【防止爬蟲轉載而致使的格式問題——連接】:
http://www.cnblogs.com/heguanyou/p/7688344.html

相關文章
相關標籤/搜索