換個角度看回歸——極大似然估計

極大似然估計與迴歸

極大似然估計

先簡單說下似然(likelihood)和概率(probability)的區別,兩者都是對可能性的表示。概率是在給定了一定參數值後,表示了一件事物發生的可能性;而似然則反其道而行之,是在給定了一系列結果後,表示了某一組參數值的可能性。那麼最大似然估計的思想,就是在給定了一組結果後哪一組參數的可能性最大;反過來說,就是使用這樣一組參數,出現給定結果的可能性最大。即條件概率 P(X|Θ)=L(Θ|X)

根據機器學習的目的,我們就是在找尋一組參數,這組參數可以讓機器取代人工進行分類、擬合等功能,從定義的角度來看,極大似然估計似乎正是我們所需要的。下面我們就用極大似然估計的方法來重新學習下線性迴歸和邏輯迴歸(LR)。

線性迴歸

最小二乘法

想必大家已經對線性迴歸足夠的瞭解,再簡單回顧一下,給定一組樣本 X 和結果 Y ,希望得到一組參數 Θ 從而能夠儘可能使得 YiXTiΘ 相近 。假設 Yi^=XTiΘ ,那麼對於樣本 Xi 來說,其估計的誤差就是 |YiYi^| 。那麼我們想要得到一組最好的參數 Θ ,就代表我們要儘可能縮小所有樣本的誤差之和,這就是最小二乘法的本質。

根據上面的回顧,我們很容易得到常用的代價函數:

J(Θ)=12mi=0m(YiYi^)2

而我們接下來要做的就是最小化這個代價函數從而能夠找到一組參數 Θ 使得總誤差最小。

極大似然法

那麼我們現在就從極大似然估計的角度來看一下線性迴歸的本質。現在我們假設 Yi=XTiΘ+ϵi=Yi^+ϵi 。 這個式子中 ϵ 代表着誤差。且 ϵiN(0,σ2) 。 這個條件也就解釋了爲什麼線性迴歸是 高斯模型 的。

現在我們來看一下我們要求的 P(Yi|Xi,Θ) ,這個先驗概率表達的是什麼呢?就是給定了一組樣本 Xi ,然後我們採用參數集 Θ 進行加權估計最終得到正確答案 Yi 的概率。那麼這個時候的誤差是什麼呢?給定了 XiΘ ,那麼也就說明誤差 ϵi=YiYi^

所以 P(Yi|Xi,Θ)=P(ϵi=YiXTiΘ) 。根據高斯分佈的公式,我們可以得到一下結論:

P(Yi|Xi,Θ)=12πσe(YiXTiΘ)22σ2

因爲 Xi 是相互獨立的,所以 :

P(Y|X,Θ)=i=1mP(Yi|Xi,Θ)=i=1mP(ϵi=YiXTiΘ)

同時取對數後,再根據對數公式進行化簡得到:

logP(Y|X,Θ)=mlog(12πσ)12σ2i=1m(YiXTiΘ)2

因爲第一項是常數,所以想要最大化極大似然函數,就是要 i=1m(YiXTiΘ)2 最小化。現在回頭看基於最小二乘法的代價函數,最終的結果完全殊途同歸的。

我們繼續往下看,現在我們令 L(Θ)=12σ2i=1m(YiXTiΘ)2 ,因爲 logP(Y|X,Θ) 的第一項是與 Θ 無關的,所以我們不考慮。現在想求 L(Θ) 的最小值,怎麼做呢?從高中我們就已經知道了,對於凸函數,我們可以求導!那麼我們求 L(Θ)Θ 並令導數爲 0 則可。根據矩陣的變換規則

L(Θ)Θ=β12σ2Σ(YiXTiΘ)2
=β(YXTΘ)1σ2(YXTΘ)
=1σ2(XYXXTΘ)
=0

結果得到了:Θ=(XXT)1XY 。這原來就是我們曾經學過的 正規方程 啊。

邏輯迴歸

邏輯迴歸採用的 hΘ(X)=g(XTΘ)=11+eXTΘ 。如果我們像線性迴歸一樣利用最小二乘法做代價函數,我們會發現最終得到的函數並不是一個凸函數,我們常用的梯度下降法就無法使用。

那麼我們就來重新理解下這個hΘ(X) ,他代表的是樣本 X 在使用權重 Θ 的時候結果爲 1 的概率。即 P(Yi=1|Xi,Θ)=hΘ(X) ,那麼我們可以得到 P(Yi=0|Xi,Θ)=1hΘ(X) ,這告訴我們邏輯迴歸的模型實際上是 二項分佈 或者叫 伯努利分佈

根據伯努利分佈的公式我們得:

P(Yi|Xi,Θ)=(hΘ(Xi))Yi(1hΘ(Xi))1Yi

同樣,因爲樣本之間是獨立的,

P(Y|X,Θ)=1mP(Yi|Xi,Θ)

同樣兩邊去對數,則得到了我們所熟悉的:

P(Y|X,Θ)=1mYilog(hΘ(Xi))+(1Yi)log(1hΘ(Xi))

想必大家都遇到過邏輯迴歸的 loss function, 損失函數的定義爲

cost(hΘ(Xi),Yi)={log(hΘ(Xi))log(1hΘ(Xi))Yi=1Yi=0

通過上面的推導,現在明白這個函數怎麼得到了吧,就是爲了最大化極大似然函數而將兩個對數項取反而已。

總結

本篇從極大似然估計的角度來重新回顧邏輯迴歸和線性迴歸,更好的理解了爲什麼線性迴歸是基於高斯分佈模型而邏輯迴歸是基於伯努利分佈模型,通過統計學角度來解釋代價函數和損失函數,更通過進一步求導推出了正規方程的由來。希望能夠多一分理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章