??Logistic回歸 為概率型非線性回歸模型,它是一個(gè) 分類算法,它可以處理二元分類以及多元分類。雖然它名字里面有 回歸 兩個(gè)字,卻不是一個(gè)回歸算法。
1. 從線性回歸到邏輯回歸
??線性回歸的模型可簡寫為:
此時(shí)
是連續(xù)的,所以是回歸模型。假如樣本所對應(yīng)的輸出是在指數(shù)尺度上變化,那我們可以將真實(shí)值的對數(shù)作為我們回歸模型逼近的目標(biāo),即:
這就是對數(shù)線性回歸,其本質(zhì)上是求解輸入空間到輸出空間的非線性函數(shù)映射,這里的對數(shù)函數(shù)只是起到了將線性回歸模型的預(yù)測值跟真實(shí)標(biāo)簽聯(lián)系起來的作用。更一般性,考慮單調(diào)可微函數(shù)
,令
這樣得到的模型稱為廣義線性模型,很顯然對數(shù)線性回歸是廣義線性模型在
的特例。
2. 二元邏輯回歸模型
??上面提到對線性回歸的結(jié)果做一個(gè)在函數(shù)g上的轉(zhuǎn)換,如果令的值在某個(gè)實(shí)數(shù)區(qū)間的時(shí)候是類別A,在另一個(gè)實(shí)數(shù)區(qū)間的時(shí)候是類別B,以此類推,就得到了一個(gè)分類模型。如果結(jié)果的類別只有兩種,那么就是一個(gè)二元分類模型了。邏輯回歸的出發(fā)點(diǎn)就是從這來的。
??這個(gè)函數(shù)在邏輯回歸中我們一般取為sigmoid函數(shù),形式如下:

它有一個(gè)非常好的性質(zhì),即當(dāng)z趨于正無窮時(shí),??(??)趨于1,而當(dāng)z趨于負(fù)無窮時(shí),??(??)趨于0,并且在點(diǎn)時(shí)斜率最大,梯度更新最快,這非常適合于我們的分類概率模型。另外,它還有一個(gè)很好的導(dǎo)數(shù)性質(zhì):
如果我們令??(??)中的z為:,這樣就得到了二元邏輯回歸模型的一般形式:其中為樣本輸入,為模型輸出,可以理解為某一分類的概率大小。而為分類模型的要求出的模型參數(shù)。對于模型輸出,讓它和我們的二元樣本輸出(假設(shè)為0和1)有這樣的對應(yīng)關(guān)系,如果 ,即, 則為1。如果,即, 則為0。是臨界情況,此時(shí)為, 從邏輯回歸模型本身無法確定分類。
3. 二元邏輯回歸的損失函數(shù)
??線性回歸的損失函數(shù)使用 MSE 來定義損失函數(shù)。但是邏輯回歸不是連續(xù)的,自然MSE就用不上了。不過我們可以用 最大似然法 來推導(dǎo)出我們的損失函數(shù)。
假設(shè)我們的樣本輸出是0或者1兩類。那么對于一個(gè)樣本有:則,
把這兩個(gè)式子寫成一個(gè)式子,就是:
其中y的取值只能是0或者1。
得到了的概率分布函數(shù)表達(dá)式,因?yàn)楦鱾€(gè)觀測樣本之間
相互獨(dú)立,那么它們的聯(lián)合分布為各邊緣分布的乘積。得到似然函數(shù)為:
其中m為樣本的個(gè)數(shù)。
我們就可以用似然函數(shù)最大化來求解我們需要的模型系數(shù)。為了方便求解,這里我們用對數(shù)似然函數(shù)最大化,對數(shù)似然函數(shù)取反即為我們的損失函數(shù)
。對似然函數(shù)對數(shù)化取反的表達(dá)式,即損失函數(shù)表達(dá)式為:
4.
損失函數(shù)的優(yōu)化方法
??對于二元邏輯回歸的損失函數(shù)極小化,有比較多的方法,最常見的有梯度下降法,坐標(biāo)軸下降法,牛頓法等。這里推導(dǎo)出梯度下降法中??每次迭代的公式。
求邏輯回歸模型f(θ),等價(jià)于:采用梯度下降法:
中間用到了
從而迭代θ至收斂即可:其中,??為梯度下降法的步長。實(shí)踐中,我們一般不用操心優(yōu)化方法,大部分機(jī)器學(xué)習(xí)庫都內(nèi)置了各種邏輯回歸的優(yōu)化方法,不過了解至少一種優(yōu)化方法還是有必要的。
5. 二元邏輯回歸的正則化
??邏輯回歸也會(huì)面臨過擬合問題,所以我們也要考慮正則化。常見的有L1正則化和L2正則化。
邏輯回歸的L1正則化的損失函數(shù)表達(dá)式相比普通的邏輯回歸損失函數(shù),增加了L1的范數(shù)做作為懲罰,超參數(shù)??作為懲罰系數(shù),調(diào)節(jié)懲罰項(xiàng)的大小。
二元邏輯回歸的L1正則化損失函數(shù)表達(dá)式如下:
其中||??||1為??的L1范數(shù)。
邏輯回歸的L1正則化損失函數(shù)的優(yōu)化方法常用的有坐標(biāo)軸下降法和最小角回歸法。
L1正則相當(dāng)于加入拉普拉斯先驗(yàn)。
L2正則相當(dāng)于加入高斯先驗(yàn)。
二元邏輯回歸的L2正則化損失函數(shù)表達(dá)式如下:
其中||??||2為??的L2范數(shù)。
邏輯回歸的L2正則化損失函數(shù)的優(yōu)化方法和普通的邏輯回歸類似。
6. 二元邏輯回歸的推廣:多元邏輯回歸
??前面幾節(jié)我們的邏輯回歸的模型和損失函數(shù)都局限于二元邏輯回歸,實(shí)際上二元邏輯回歸的模型和損失函數(shù)很容易推廣到多元邏輯回歸。比如總是認(rèn)為某種類型為正值,其余為0值,這種方法為最常用的one-vs-rest,簡稱OvR.
??另一種多元邏輯回歸的方法是Many-vs-Many(MvM),它會(huì)選擇一部分類別的樣本和另一部分類別的樣本來做邏輯回歸二分類。最常用的是One-Vs-One(OvO)。OvO是MvM的特例。每次我們選擇兩類樣本來做二元邏輯回歸。
這里只介紹多元邏輯回歸的softmax回歸的一種特例推導(dǎo):
首先回顧下二元邏輯回歸。
其中y只能取到0和1。則有:
如果我們要推廣到多元邏輯回歸,則模型要稍微做下擴(kuò)展。
我們假設(shè)是K元分類模型,即樣本輸出y的取值為1,2,...,K.
根據(jù)二元邏輯回歸的經(jīng)驗(yàn),我們有:
....
上面有K-1個(gè)方程。
加上概率之和為1的方程如下:
從而得到K個(gè)方程,里面有K個(gè)邏輯回歸的概率分布。
解出這個(gè)K元一次方程組,得到K元邏輯回歸的概率分布如下:
多元邏輯回歸的損失函數(shù)推導(dǎo)以及優(yōu)化方法和二元邏輯回歸類似。
小結(jié):Logistic回歸尤其是二元Logistic回歸是非常常見的模型,訓(xùn)練速度很快,雖然使用起來沒有SVM那么占主流,但是解決普通的分類問題是足夠了,訓(xùn)練速度也比起SVM要快不少,適合分布式訓(xùn)練,適用于離散特征。如果想要理解機(jī)器學(xué)習(xí)的所有分類算法,那么第一個(gè)應(yīng)該學(xué)習(xí)的分類算法個(gè)人覺得應(yīng)該是邏輯回歸。理解了邏輯回歸,其他的分類算法再學(xué)習(xí)起來應(yīng)該沒有那么難了。