Logistic and Softmax Regression (逻辑回归和Softmax回归)
1. 簡(jiǎn)介
邏輯回歸和Softmax回歸是兩個(gè)基礎(chǔ)的分類模型,雖然聽名字以為是回歸模型,但實(shí)際我覺(jué)得他們也有一定的關(guān)系。邏輯回歸,Softmax回歸以及線性回歸都是基于線性模型,它們固定的非線性的基函數(shù)(basis function)?的線性組合,形式如下:
2.邏輯回歸談?wù)勥壿嫽貧w,Softmax回歸,前者主要處理二分類問(wèn)題,而后者處理多分類問(wèn)題,但事實(shí)上Softmax回歸就是邏輯回歸的一般形式。
?
其中,如果f(.)是非線性的激活函數(shù)(activation function),這就是一個(gè)分類模型;如果f(.)是恒等函數(shù)(identity),則是回歸模型,現(xiàn)在可以發(fā)現(xiàn)它們?nèi)叩穆?lián)系了吧。
下面主要談?wù)勥壿嫽貧w,Softmax回歸,前者主要處理二分類問(wèn)題,而后者處理多分類問(wèn)題,但事實(shí)上Softmax回歸就是邏輯回歸的一般形式。
2. 邏輯回歸
定義邏輯回歸hypothesis為
,
其中,為sigmoid函數(shù),其性質(zhì)可參考神經(jīng)網(wǎng)絡(luò)博文。
邏輯回歸的理激活函數(shù)是sigmoid函數(shù),可理解成一個(gè)被sigmoid函數(shù)歸一化后的線性回歸。因?yàn)閟igmoid函數(shù)把實(shí)數(shù)映射到了[0,1]區(qū)間,可以認(rèn)為為x屬于類別1的概率,反正1-為x屬于類別1的概率。給定有一個(gè)訓(xùn)練數(shù)據(jù),構(gòu)造它的似然函數(shù)(likelihood function)為:
這里的y_n就是上面的 (由于參考了多本書,所以符號(hào)有一定的區(qū)別),一般會(huì)使用最大釋然求解參數(shù),這時(shí)取一個(gè)負(fù)的log對(duì)數(shù)(negative logarithm),得到:
上式被稱為交叉熵(cross entropy) loss函數(shù),因?yàn)槿×艘粋€(gè)負(fù)對(duì)數(shù),之前的最大化就變成了最小化,所以只需求解是交叉熵loss函數(shù)最小的參數(shù)。
?
對(duì)loss函數(shù)求導(dǎo)得到:
?
到現(xiàn)在為止,我們已經(jīng)得到了loss函數(shù)以及關(guān)于參數(shù)的偏導(dǎo)數(shù),只需要通過(guò)梯度下降就可以得到參數(shù)的解,OK,大功告成。
?
如果需要預(yù)測(cè)一個(gè)為止數(shù)據(jù)x,屬于那個(gè)類,只需要帶入?。最簡(jiǎn)單的決策方法,如果?大于等于0.5屬于類別1,反之屬于類別0,當(dāng)然也可以屬于其他的決策方法。
3. Softmax回歸
Softmax回歸處理多分類問(wèn)題,我們假設(shè)函數(shù) ?形式如下:?
和邏輯回歸一樣,得到loss函數(shù)為:
?
其中的1{.}是一個(gè)指示性函數(shù),即當(dāng)大括號(hào)中的值為真時(shí),該函數(shù)的結(jié)果就為1,否則其結(jié)果就為0。
然后計(jì)算損失函數(shù)的偏導(dǎo)函數(shù),得到:
?
之后就可以用如果要用梯度下降法,或者L-BFGS法求得未知參數(shù)。
?
看上面的推到我們可以發(fā)現(xiàn),對(duì)每一個(gè)參數(shù)減去一個(gè)參數(shù),最后的結(jié)果沒(méi)有影響。其實(shí)softmax 回歸中對(duì)參數(shù)的最優(yōu)化解不只一個(gè),每當(dāng)求得一個(gè)優(yōu)化參數(shù)時(shí),如果將這個(gè)參數(shù)的每一項(xiàng)都減掉同一個(gè)數(shù),其得到的損失函數(shù)值也是一樣的,這說(shuō)明解不是唯一的。
之所以會(huì)出現(xiàn)這樣的現(xiàn)象,因?yàn)閾p失函數(shù)不是嚴(yán)格非凸的,也就是說(shuō)在局部最小值點(diǎn)附近是一個(gè)”平坦”的,所以在這個(gè)參數(shù)附近的值都是一樣的了。
為避免出現(xiàn)這樣的情況,加入正則項(xiàng)(比如說(shuō),用牛頓法求解時(shí),hession矩陣如果沒(méi)有加入規(guī)則項(xiàng),就有可能不是可逆的從而導(dǎo)致了剛才的情況,如果加入了規(guī)則項(xiàng)后該hession矩陣就不會(huì)不可逆了),加入正則項(xiàng)后的loss函數(shù)表達(dá)式為:
?
此時(shí)loss函數(shù)的偏導(dǎo)函數(shù)為:
?
同樣的,我們?cè)谶壿嫽貧w中,也可以加上正則項(xiàng)。
4. 邏輯回歸與Softmax回歸的聯(lián)系
我們?cè)趧傞_始的時(shí)候說(shuō)softmax 回歸是邏輯回歸的一般形式,現(xiàn)在我們看看兩者之間的聯(lián)系。當(dāng)類別數(shù)k = 2 時(shí),softmax 回歸退化為邏輯回歸,softmax 回歸的假設(shè)函數(shù)為:?
利用softmax回歸參數(shù)冗余的特點(diǎn),我們令 ?,并且從兩個(gè)參數(shù)向量中都減去向量 ,得到:
?
因此,用來(lái)表示,我們就會(huì)發(fā)現(xiàn) softmax 回歸器預(yù)測(cè)其中一個(gè)類別的概率為,另一個(gè)類別概率的為,這與 邏輯回歸是一致的。
5. 與神經(jīng)網(wǎng)絡(luò)的關(guān)系
神經(jīng)網(wǎng)絡(luò)是一個(gè)多層次的分類模型,其實(shí)logistic回歸和softmax回歸可以看出最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)如下圖所示:
??
一般的神經(jīng)網(wǎng)絡(luò)有輸入層,隱含層以及輸出層構(gòu)成,而上圖中只有輸入層和輸出層,而沒(méi)有隱含層。神經(jīng)網(wǎng)絡(luò)處理二分類時(shí),輸出層為一個(gè)節(jié)點(diǎn),但處理K(K>2)分類問(wèn)題時(shí),數(shù)據(jù)節(jié)點(diǎn)為K個(gè),這個(gè)logistic回歸和softmax回歸保持一致。值得注意的,在神經(jīng)網(wǎng)絡(luò)中的最后一層隱含層和輸出層就可以看成是logistic回歸或softmax回歸模型,之前的層只是從原始輸入數(shù)據(jù)從學(xué)習(xí)特征,然后把學(xué)習(xí)得到的特征交給logistic回歸或softmax回歸處理。
因此,可以把處理分類問(wèn)題的神經(jīng)網(wǎng)絡(luò)分成兩部分,特征學(xué)習(xí)和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
總結(jié)
以上是生活随笔為你收集整理的Logistic and Softmax Regression (逻辑回归和Softmax回归)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 损失函数-经验风险最小化-结构风险最小化
- 下一篇: 矩阵乘法的四种理解方式