1. 程式人生 > >深度學習剖根問底:Logistic迴歸和Softmax迴歸

深度學習剖根問底:Logistic迴歸和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迴歸。