(轉載)極大似然估計&最大後驗機率估計

前言

不知看過多少次極大似然估計與最大後驗機率估計的區別,但仍是傻傻分不清楚。或是當時道行太淺,或是當時積累不夠。app

此次重遊機器學習之路,看到李航老師《統計學習方法》中第一章關於經驗風險最小化與結構風險最小化時談到了極大似然與最大後驗的話題,第一反應是居然在第一章就談到了極大似然與最大後驗,相信大部分初學者看到這兩個詞時仍是怕怕的,畢竟沒有太多理論基礎。不過不要緊,多積累,多蒐集相關資料,相信這層疑惑的雲霧會逐漸散去的。機器學習

此次結合西瓜書和網上大牛的資料,加上本身推薦系統的研究背景以及本身的思考,總算是有些許收穫,不枉此行。點滴進步都值得被記錄,一來向你們分享,二來謹防遺忘。函數

頻率學派與貝葉斯派

在說極大似然估計(Maximum Likelihood Estimate)與最大後驗機率估計(Maximum A Posteriori estimation)以前,不得不說對於機率見解不一樣的兩大派別頻率學派與貝葉斯派。他們看待世界的視角不一樣,致使他們對於產生數據的模型參數的理解也不一樣。學習

① 頻率學派大數據

他們認爲世界是肯定的。他們直接爲事件自己建模,也就是說事件在屢次重複實驗中趨於一個穩定的值p,那麼這個值就是該事件的機率。優化

他們認爲模型參數是個定值,但願經過相似解方程組的方式從數據中求得該未知數。這就是頻率學派使用的參數估計方法-極大似然估計(MLE),這種方法每每在大數據量的狀況下能夠很好的還原模型的真實狀況。orm

② 貝葉斯派blog

他們認爲世界是不肯定的,因獲取的信息不一樣而異。假設對世界先有一個預先的估計,而後經過獲取的信息來不斷調整以前的預估計。 他們不試圖對事件自己進行建模,而是從旁觀者的角度來講。所以對於同一個事件,不一樣的人掌握的先驗不一樣的話,那麼他們所認爲的事件狀態也會不一樣。遊戲

他們認爲模型參數源自某種潛在分佈,但願從數據中推知該分佈。對於數據的觀測方式不一樣或者假設不一樣,那麼推知的該參數也會所以而存在差別。這就是貝葉斯派視角下用來估計參數的經常使用方法-最大後驗機率估計(MAP),這種方法在先驗假設比較靠譜的狀況下效果顯著,隨着數據量的增長,先驗假設對於模型參數的主導做用會逐漸削弱,相反真實的數據樣例會大大佔據有利地位。極端狀況下,好比把先驗假設去掉,或者假設先驗知足均勻分佈的話,那她和極大似然估計就一模一樣了。事件

極大似然估計與最大後驗機率估計

咱們這有一個任務,就是根據已知的一堆數據樣本,來推測產生該數據的模型的參數,即已知數據,推測模型和參數。所以根據兩大派別的不一樣,對於模型的參數估計方法也有兩類:極大似然估計與最大後驗機率估計。

① 極大似然估計(MLE)

-她是頻率學派模型參數估計的經常使用方法。

-顧名思義:似然,能夠簡單理解爲機率、可能性,也就是說要最大化該事件發生的可能性

-她的含義是根據已知樣本,但願經過調整模型參數來使得模型可以最大化樣本狀況出現的機率。

- 在這舉個猜黑球的例子:假如一個盒子裏面有紅黑共10個球,每次有放回的取出,取了10次,結果爲7次黑球,3次紅球。問拿出黑球的機率 [公式] 是多少?

  • 咱們假設7次黑球,3次紅球爲事件 [公式] ,一個理所固然的想法就是既然事件 [公式]已經發生了,那麼事件 [公式] 發生的機率應該最大。因此既然事件 [公式] 的結果已定, 咱們就有理由相信這不是一個偶然發生的事件,這個已發生的事件確定必定程度上反映了黑球在總體中的比例。因此咱們要讓模型產生這個總體事件的機率最大,咱們把這十次抽取當作一個總體事件 [公式] ,很明顯事件 [公式] 發生的機率是每一個子事件機率之積。咱們把 [公式] 當作一個關於 [公式] 的函數,求 [公式] 取最大值時的 [公式] ,這就是極大似然估計的思想。具體公式化描述爲[公式]
  • 接下來就是取對數轉換爲累加,而後經過求導令式子爲0來求極值,求出p的結果。

② 最大後驗機率估計(MAP)

-她是貝葉斯派模型參數估計的經常使用方法。

-顧名思義:就是最大化在給定數據樣本的狀況下模型參數的後驗機率

-她依然是根據已知樣本,來經過調整模型參數使得模型可以產生該數據樣本的機率最大,只不過對於模型參數有了一個先驗假設,即模型參數可能知足某種分佈,再也不一味地依賴數據樣例(萬一數據量少或者數據不靠譜呢)。

-在這裏舉個擲硬幣的例子:拋一枚硬幣10次,有10次正面朝上,0次反面朝上。問正面朝上的機率 [公式]

  • 在頻率學派來看,利用極大似然估計能夠獲得 [公式] 10 / 10 = 1.0。顯然當缺少數據時MLE可能會產生嚴重的誤差。
  • 若是咱們利用極大後驗機率估計來看這件事,先驗認爲大機率下這個硬幣是均勻的 (例如最大值取在0.5處的Beta分佈),那麼[公式],是一個分佈,最大值會介於0.5~1之間,而不是武斷的給出[公式]= 1。
  • 顯然,隨着數據量的增長,參數分佈會更傾向於向數據靠攏,先驗假設的影響會愈來愈小。

經驗風險最小化與結構風險最小化

經驗風險最小化與結構風險最小化是對於損失函數而言的。能夠說經驗風險最小化只側重訓練數據集上的損失降到最低;而結構風險最小化是在經驗風險最小化的基礎上約束模型的複雜度,使其在訓練數據集的損失降到最低的同時,模型不至於過於複雜,至關於在損失函數上增長了正則項,防止模型出現過擬合狀態。這一點也符合奧卡姆剃刀原則:如無必要,勿增實體。

經驗風險最小化能夠看做是採用了極大似然的參數評估方法,更側重從數據中學習模型的潛在參數,並且是隻看重數據樣本自己。這樣在數據樣本缺失的狀況下,很容易管中窺豹,模型發生過擬合的狀態;結構風險最小化採用了最大後驗機率估計的思想來推測模型參數,不只僅是依賴數據,還依靠模型參數的先驗假設。這樣在數據樣本不是很充分的狀況下,咱們能夠經過模型參數的先驗假設,輔助以數據樣本,作到儘量的還原真實模型分佈。

① 經驗風險最小化

-MLE她是經驗風險最小化的例子。當模型是條件機率分佈,損失函數是對數損失函數時,經驗風險最小化就等價於極大似然估計。在這裏舉個邏輯迴歸(LR)的例子,更多跟LR有聯繫的模型可參看拙做由Logistic Regression所聯想到的...

  • 對於二分類的邏輯迴歸來講,咱們試圖把全部數據正確分類,要麼0,要麼1。
  • 經過累乘每一個數據樣例來模擬模型產生數據的過程,而且最大化 [公式]
  • 咱們須要經過取對數來實現機率之積轉爲機率之和 [公式]
  • 咱們能夠根據數據標籤的0、1特性來把上式改成 [公式]

-這樣,咱們經過極大似然來推導出了邏輯迴歸的損失函數,同時極大似然是經驗風險最小化的一個特例。

② 結構風險最小化

-MAP她是結構風險最小化的例子。當模型是條件機率分佈、損失函數是對數損失函數、模型複雜度由模型的先驗機率表示時,結構風險最小化就等價於最大後驗機率估計。 在這裏舉個推薦系統中的機率矩陣分解(PMF)的例子。

  • 先說下矩陣分解的原理:推薦系統的評分預測場景可看作是一個矩陣補全的遊戲,矩陣補全是推薦系統的任務,矩陣分解是其達到目的的手段。所以,矩陣分解是爲了更好的完成矩陣補全任務(欲其補全,先其分解之)。之因此能夠利用矩陣分解來完成矩陣補全的操做,那是由於基於這樣的假設-假設UI矩陣是低秩的,即在大千世界中,總會存在類似的人或物,即物以類聚,人以羣分,而後咱們能夠利用兩個小矩陣相乘來還原評分大矩陣。
  • 它假設評分矩陣中的元素[公式]是由用戶潛在偏好向量[公式]和物品潛在屬性向量[公式]的內積決定的,而且服從均值爲[公式],方差爲[公式]的正態分佈: [公式]
  • 則觀測到的評分矩陣條件機率爲:
  • 同時,假設用戶偏好向量與物品偏好向量服從於均值都爲0,方差分別爲[公式],[公式]的正態分佈:
  • 根據最大後驗機率估計,能夠得出隱變量 [公式] 的後驗機率爲:
  • 接着,等式兩邊取對數 [公式] ,而且將正態分佈展開後獲得:

-這樣,咱們經過最大後驗機率估計推導出了機率矩陣分解的損失函數。能夠看出結構風險最小化是在經驗風險最小化的基礎上增長了模型參數的先驗。

MLE與MAP的聯繫

-在介紹經驗風險與結構風險最小化的時候以具體的邏輯迴歸(LR)與機率矩陣分解(PMF)模型來介紹MLE和MAP,接下里從宏觀的角度,不侷限於具體的某個模型來推導MLE與MAP。

-假設數據[公式]是知足獨立同分布(i.i.d.)的一組抽樣[公式],接下來就利用兩種參數估計方法來求解。

  • MLE對參數[公式]的估計方法能夠以下:
  • MAP對[公式]的估計方法能夠以下推導:

-因此MAP和MLE在優化時的不一樣就是在於增長了一個先驗項[公式]

-經過以上的分析能夠大體給出他們之間的聯繫: [公式]

參考資料

致謝

至此,頻率學派與貝葉斯派,MLE與MAP,經驗風險最小化與結構風險最小化的區別與聯繫已經介紹完畢了,因爲本人不是數據專業出身的,而且也是機器學習初學者,不免在敘述或者思考的過程當中有不嚴謹或者不正確的東西,但願你們批判的去看待。

再次感謝以上參考資料以及大牛們的分享。

 

做者:張小磊連接:https://zhuanlan.zhihu.com/p/40024110來源:知乎

相關文章
相關標籤/搜索