机器学习入门学习笔记:(2.3)对数几率回归推导
生活随笔
收集整理的這篇文章主要介紹了
机器学习入门学习笔记:(2.3)对数几率回归推导
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
理論推導
??在以前的博客(機器學習入門學習筆記:(2.1)線性回歸理論推導 )中推導了單元線性回歸和多元線性回歸的模型。
??將線性回歸模型簡寫為:y=ωTx+b;
??對數線性回歸模型可以寫成:ln(y)=ωT+b;本質上仍然是線性回歸,只不過擬合的是非線性的ln函數了。
??更一般地,考慮單調可微函數g(.),令y=g?1(ωTx+b);這個模型就叫做廣義線性回歸模型。(直接抄書的,實在不擅長背定義QAQ)
??對于二分類任務,輸出標記為y∈{0,1},而線性回歸的預測結果h(x)=ωTx+b,很明顯是一個連續值,所以需要將其轉換為0/1值。
?? 所以要用到單位階越函數:
即,若預測值大于0,就判為正例;若預測值小于0,就判為負例;臨界值處,任意判別。
??我們都知道,階躍函數不可導,不連續,而 g?1(.)必須是一個可微的函數,所以階躍函數不能用作 g?1(.),還需要找一個連續函數代替階躍函數。
??我們常用 對數幾率函數(logistic function)來進行替代: y=11+e?z
??畫出圖形會看到它形似S,所以也是一種sigmoid函數。
??把對數幾率函數作為 g?1(.),代入到廣義線性回歸的公式中: y=11+e?(ωTx+b)
??做一些化簡,可以得到: ln(y1?y)=ωTx+b
??其中,y是正例的可能性,(1-y)是負例的可能性。
??那么,這個 ln(y1?y)其實就是“對數幾率”,等式右邊的是什么不用說了吧??梢钥闯?#xff0c;對數幾率回歸實質上就是使用線性回歸模型( ωTx+b)來逼近這個對數幾率( ln(y1?y))。
??好的,那么問題來了。如何求解出這個模型中的未知參數 ω和 b呢?
只考慮二分類的情況下,將y換成后驗概率P(y=1|x)來表示,同理1-y可以換成 P(y=0|x)。
??則有: {ln(P(y=1|x)P(y=0|x))=ωTx+bP(y=1|x)+P(y=0|x)=1
??解得: ???P(y=1|x)=eωTx+b1+eωTx+bP(y=0|x)=11+eωTx+b
??通過極大似然法來估計 ω和 b:L(ω,b)=∑i=1mln(P(yi|xi;ω,b))
??為表述方便,使用一個新矩陣 β來表示 ω和 b,令β={ωb}。
??同時也要給x矩陣補上一列1,令 x′={x1}。因為要對應參數b,補上1,保證結果不變。
??那么, ωTx+b=βTx′。
??由于是二分類,即只有 y=0和 y=1的情況,那么可以將似然項重寫為 y=0和 y=1的情況相加: p(yi|xi;β)=yi×p(y=1|x′i;β)+(1?yi)×p(y=0|x′i;β)
??”西瓜書“上是這么寫的,當然這樣也不難理解。其實為了后面推導方便和容易理解,我們可以換成對數幾率的形式來表示,原理依然是一樣的,無非是加了個對數: ln[p(yi|xi;β)]=yi×ln[p(y=1|x′i;β)]+(1?yi)×ln[p(y=0|x′i;β)]
??將上式代入到前面極大似然的公式中: L(β)=∑mi=1ln(P(yi|xi;β))
??聯立前面推出的后驗概率的結果: ???P(y=1|x)=eωTx+b1+eωTx+bP(y=0|x)=11+eωTx+b
??得到最后的結果: L(β)=∑i=1m(yiβTx′i?ln(1+eβTx′i))
??由于是極大似然,我們需要求出其極大值,所以有:
??求出使 L(β)最大的最優解等價于求出使 ?L(β)最小的解,所以有:
β?=argmaxmL(β)=argminmL(β)=∑i=1m(?yiβTx′i+ln(1+eβTx′i))
??最后可以通過凸優化中的梯度下降法、牛頓法等方法來求出 L(β)函數的最優解 β?。
以上僅是個人學習筆記分享用,也留作我自己以后溫習。
(>.<)
總結
以上是生活随笔為你收集整理的机器学习入门学习笔记:(2.3)对数几率回归推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware虚拟机中VMnet0上的网桥
- 下一篇: libQtCore.so.4相关错误