Logistic and Softmax Regression (邏輯迴歸和Softmax迴歸)

1. 簡介

邏輯迴歸和Softmax迴歸是兩個基礎的分類模型,雖然聽名字以爲是迴歸模型,但實際我覺得他們也有一定的關係。邏輯迴歸,Softmax迴歸以及線性迴歸都是基於線性模型,它們固定的非線性的基函數(basis function) 的線性組合,形式如下:

2.邏輯迴歸談談邏輯迴歸,Softmax迴歸,前者主要處理二分類問題,而後者處理多分類問題,但事實上Softmax迴歸就是邏輯迴歸的一般形式。
 
其中,如果f(.)是非線性的激活函數(activation function),這就是一個分類模型;如果f(.)是恆等函數(identity),則是迴歸模型,現在可以發現它們三者的聯繫了吧。

下面主要談談邏輯迴歸,Softmax迴歸,前者主要處理二分類問題,而後者處理多分類問題,但事實上Softmax迴歸就是邏輯迴歸的一般形式。


2. 邏輯迴歸

定義邏輯迴歸hypothesis爲

其中,爲sigmoid函數,其性質可參考神經網絡博文


邏輯迴歸的理激活函數是sigmoid函數,可理解成一個被sigmoid函數歸一化後的線性迴歸。因爲sigmoid函數把實數映射到了[0,1]區間,可以認爲爲x屬於類別1的概率,反正1-爲x屬於類別1的概率。給定有一個訓練數據,構造它的似然函數(likelihood function)爲:


這裏的y_n就是上面的 (由於參考了多本書,所以符號有一定的區別),一般會使用最大釋然求解參數,這時取一個負的log對數(negative logarithm),得到:


上式被稱爲交叉熵(cross entropy) loss函數,因爲取了一個負對數,之前的最大化就變成了最小化,所以只需求解是交叉熵loss函數最小的參數。

 

對loss函數求導得到:


 

到現在爲止,我們已經得到了loss函數以及關於參數的偏導數,只需要通過梯度下降就可以得到參數的解,OK,大功告成。

 

如果需要預測一個爲止數據x,屬於那個類,只需要帶入 。最簡單的決策方法,如果 大於等於0.5屬於類別1,反之屬於類別0,當然也可以屬於其他的決策方法。


3. Softmax迴歸

Softmax迴歸處理多分類問題,我們假設函數 形式如下:
 


和邏輯迴歸一樣,得到loss函數爲:


 
其中的1{.}是一個指示性函數,即當大括號中的值爲真時,該函數的結果就爲1,否則其結果就爲0。


然後計算損失函數的偏導函數,得到:


 
之後就可以用如果要用梯度下降法,或者L-BFGS法求得未知參數。


 
看上面的推到我們可以發現,對每一個參數減去一個參數,最後的結果沒有影響。其實softmax 迴歸中對參數的最優化解不只一個,每當求得一個優化參數時,如果將這個參數的每一項都減掉同一個數,其得到的損失函數值也是一樣的,這說明解不是唯一的。


之所以會出現這樣的現象,因爲損失函數不是嚴格非凸的,也就是說在局部最小值點附近是一個”平坦”的,所以在這個參數附近的值都是一樣的了。
爲避免出現這樣的情況,加入正則項(比如說,用牛頓法求解時,hession矩陣如果沒有加入規則項,就有可能不是可逆的從而導致了剛纔的情況,如果加入了規則項後該hession矩陣就不會不可逆了),加入正則項後的loss函數表達式爲:
 
此時loss函數的偏導函數爲:
 

同樣的,我們在邏輯迴歸中,也可以加上正則項。


4. 邏輯迴歸與Softmax迴歸的聯繫

我們在剛開始的時候說softmax 迴歸是邏輯迴歸的一般形式,現在我們看看兩者之間的聯繫。當類別數k = 2 時,softmax 迴歸退化爲邏輯迴歸,softmax 迴歸的假設函數爲:
 
利用softmax迴歸參數冗餘的特點,我們令 ,並且從兩個參數向量中都減去向量,得到:


 
因此,用來表示,我們就會發現 softmax 迴歸器預測其中一個類別的概率爲,另一個類別概率的爲,這與 邏輯迴歸是一致的。


5. 與神經網絡的關係


神經網絡是一個多層次的分類模型,其實logistic迴歸和softmax迴歸可以看出最簡單的神經網絡,結構如下圖所示:


  
一般的神經網絡有輸入層,隱含層以及輸出層構成,而上圖中只有輸入層和輸出層,而沒有隱含層。神經網絡處理二分類時,輸出層爲一個節點,但處理K(K>2)分類問題時,數據節點爲K個,這個logistic迴歸和softmax迴歸保持一致。值得注意的,在神經網絡中的最後一層隱含層和輸出層就可以看成是logistic迴歸或softmax迴歸模型,之前的層只是從原始輸入數據從學習特徵,然後把學習得到的特徵交給logistic迴歸或softmax迴歸處理。
因此,可以把處理分類問題的神經網絡分成兩部分,特徵學習和logistic迴歸或softmax迴歸。

6. 參考:

《Pattern Recognition and Machine Learning》ChristopherM. Bishop

 http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial

http://www.cnblogs.com/tornadomeet/archive/2013/03/22/2975978.html





發佈了24 篇原創文章 · 獲贊 29 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章