迴歸函數能夠選擇的表示不少。可是根據奧卡姆剃刀原則,應該選擇簡單而又可行的迴歸函數。顯然,若是可行,,線性函數是最簡單的迴歸函數。當迴歸函數FF採用線性模型表示時 ,咱們稱該類模型爲線性迴歸(linear regression)。線性模型簡單,易於建模,因爲omegaomega直觀的表達了個屬性再預測中的重要性,所以線性模型有很好的可解釋性(comprehensibility)。
對於樣例(boldsymbolx,y)(boldsymbolx,y),當咱們但願線性模型的預測值逼近真實標記y時,就獲得了線性迴歸模型,咱們把線性迴歸模型簡寫爲:html
y=boldsymbolomegaTboldsymbolx+by=boldsymbolomegaTboldsymbolx+bgit
.
其中係數omega,b∈Romega,b∈R稱爲迴歸係數(regression coefficient)。
求迴歸係數一般有兩種方法,除了上文提到的基於最小二乘的normal equation,還有就是經過梯度降低來求解,關於梯度降低能夠去看小威精的這篇從梯度降低提及。
這裏很少說了(有空把線代再重學一學以後再來補充(/▽\)),網上搜了一個梯度降低和Normal equation的區別總結:
線性迴歸模型,咱們知道其實是經過多個自變量對自變量進行曲線擬合。咱們但願找到一條能夠較好擬合的曲線,那咱們如何判斷一條曲線的擬合程度的好壞?上文在推到出來的結果算法
J(θ)=∑i=1m(y(i)−θTx(i))2J(θ)=∑i=1m(y(i)−θTx(i))2機器學習
中,咱們知道的是最小二乘法(預測值和真實值得偏差的平方和),原理是正態分佈。函數
lny=ωTx+b.(1)lny=ωTx+b.(1)學習
它其實是試圖讓eboldsymbolomegaTboldsymbolx+beboldsymbolomegaTboldsymbolx+b逼近yy,(1)式在形式上仍然式線性迴歸,但實質上是在求取輸入空間到輸出空間的非線性函數映射。以下圖,這裏的對數函數起到了將線性迴歸模型的預測值與真實標記聯繫起來的做用。
更通常的,考慮單調可微函數g(⋅)g(⋅),令優化
y=g−1(boldsymbolomegaTboldsymbolx+b)y=g−1(boldsymbolomegaTboldsymbolx+b)ui
這樣獲得的模型稱爲「廣義線性模型」(generalized linear model),其中函數g(⋅)g(⋅)稱爲「聯繫函數」(link function).顯然,對數線性迴歸是廣義線性模型在g(⋅)=ln(⋅)g(⋅)=ln(⋅)時的特例。spa
若是要用線性模型解決分類任務,只需在廣義線性模型中找一個單調可微函數將分類任務的真實標記yy與線性模型的預測值聯繫起來。
舉個例子,對於對於二分類任務,其輸出標記y∈0,1y∈0,1,將線性迴歸模型預測的連續值來轉換爲0和1。採用「單位階躍函數」(nuit-step function)3d
y=left{begin{matrix}0,&z<0\0.5,& z=0\ 1,& z>0end{matrix}right.y=left{begin{matrix}0,&z<0\0.5,& z=0\ 1,& z>0end{matrix}right.
即預測值大於零就判斷爲正例,小於零則判斷爲反例,預測值爲臨界值零則可任意判別,如圖:
單位階躍函數不連續,因而須要一個「替代函數」(surrogate function):
y=11+e−zy=11+e−z
對數概率函數是一種「Sigmoid函數」,它將z值轉化爲一個接近0或1的y值,而且其輸出值在z=0z=0附近變化很陡,將對數概率函數做爲g−1(⋅)g−1(⋅)帶入(2)式,得:
y=frac11+e−(boldsymbolomegaTboldsymbolx+b)(3)y=frac11+e−(boldsymbolomegaTboldsymbolx+b)(3)
整理得:
lnfracy1−y=boldsymbolomegaTboldsymbolx+b(4)lnfracy1−y=boldsymbolomegaTboldsymbolx+b(4)
若將yy視爲樣本xx做爲正例的可能性,則1−y1−y是其反例的可能性,二者的比值
fracy1−yfracy1−y
稱爲「概率」(odds),反應了boldsymbolxboldsymbolx做爲正例的相對可能性。對概率取對數則可獲得「對數概率」(log odds,亦稱logit)
lnfracy1−ylnfracy1−y
由此能夠看出,式(3)是在用線性迴歸模型的預測結果去逼近真實標記的「對數概率」(結合式(4)),所以,其對應的模型稱爲「對數概率迴歸」(logistics regression,亦稱logit regression)。
對於「對數概率迴歸」,有幾點須要注意:
名字雖然式迴歸,但實際確實一種分類學習方法
優勢:直接對分類可能性進行建模,無需事先假設數據分佈,這樣就避免了假設分佈不許確所帶來的問題
不只是預測出「類別」,而是能夠獲得近似機率預測,這對許多須要利用機率輔助決策的任務頗有 用
對數函數是任意階可導的凸函數,現有的許多數值優化算法均可直接用於求取最優解
下面來看看如何肯定式(3)中的boldsymbolomegaboldsymbolomega和bb。若將式(3)中的yy視爲類後驗機率估計p(y=1|boldsymbolxp(y=1|boldsymbolx,則式(4)可重寫爲
lnfracp(y=1|boldsymbolx)p(y=0|boldsymbolx)=boldsymbolxTboldsymbolx+blnfracp(y=1|boldsymbolx)p(y=0|boldsymbolx)=boldsymbolxTboldsymbolx+b
能夠獲得:
p(y=1|x)=eωTx+b1+eωTx+b(7)p(y=1|x)=eωTx+b1+eωTx+b(7)
p(y=0|x)=11+eωTx+b(8)p(y=0|x)=11+eωTx+b(8)
因而,咱們能夠經過「極大似然法」(maximum likelihood method)來估計omegaomega和bb。
注:極大似然估計能夠看這篇博客[最大似然估計總結(轉載)
](http://www.baishuidongcheng.com/994.html)給定數據集{(xi,yi)}mi=1{(xi,yi)}i=1m,對率迴歸模型:
似然函數:L(ω,b)=∏mi=1p(yi|xi;ω,b)L(ω,b)=∏i=1mp(yi|xi;ω,b).
對數似然:ι(boldsymbolomega,b)=summi=1lnp(yi|boldsymbolxi;boldsymbolomega,b)(5)ι(boldsymbolomega,b)=sumi=1mlnp(yi|boldsymbolxi;boldsymbolomega,b)(5)
「對數似然」最大化,即零每一個樣本屬於其真實標記的機率越大越好。爲了方便討論,令boldsymbolbeta=(boldsymbolomega;b),hatboldsymbolx=(boldsymbolx;1)boldsymbolbeta=(boldsymbolomega;b),hatboldsymbolx=(boldsymbolx;1)則boldsymbolomegaTboldsymbolx+bboldsymbolomegaTboldsymbolx+b可簡寫爲boldsymbolbetaThatboldsymbolxboldsymbolbetaThatboldsymbolx。再令p1(hatboldsymbolx;boldsymbolbeta)=p(y=1|hatboldsymbolx;boldsymbolbeta)p1(hatboldsymbolx;boldsymbolbeta)=p(y=1|hatboldsymbolx;boldsymbolbeta),p0(hatboldsymbolx;boldsymbolbeta)=p(y=0|hatboldsymbolx;boldsymbolbeta)=1−p1(hatboldsymbolx;boldsymbolbeta)p0(hatboldsymbolx;boldsymbolbeta)=p(y=0|hatboldsymbolx;boldsymbolbeta)=1−p1(hatboldsymbolx;boldsymbolbeta),則式(5)中的似然項可重寫爲
p(yi|boldsymbolxi;boldsymbolomega,b)=yip1(hatboldsymbolx;boldsymbolbeta)p(yi|boldsymbolxi;boldsymbolomega,b)=yip1(hatboldsymbolx;boldsymbolbeta)
+(1−yi)p0(hatboldsymbolx;boldsymbolbeta)(6)+(1−yi)p0(hatboldsymbolx;boldsymbolbeta)(6)
將式(6)帶入式(5)中,並根據式(7)(8)可知,最大化式(5)等價於最小化(取相反數):
imath(boldsymbolbeta)=summi=1(−yiboldsymbolbetaThatboldsymbolxi+ln(1+eboldsymbolbetaThatboldsymbolxi))imath(boldsymbolbeta)=sumi=1m(−yiboldsymbolbetaThatboldsymbolxi+ln(1+eboldsymbolbetaThatboldsymbolxi))
上式是關於boldsymbolbetaboldsymbolbeta的高階可導連續凸函數,根據凸優化理論,經典的數值優化算法如梯度降低(gradient descent method)、牛頓法(Newton method)等均可求得其最優解。
線性迴歸也終於告一段落了,後文就是周志華《機器學習》的原文,寫的實在式太精彩了,如今的水平無法補充什麼,就厚顏無恥的「記」下來吧o(////▽////)q