I. Logistic Regression(LR)
1. 從線性回歸說起
線性回歸(Linear Regression)是一個(gè)回歸模型,用線性關(guān)系來擬合輸出和輸入
之間的關(guān)系:
或者可以簡寫
但線性回歸只能解決連續(xù)值的回歸問題。如果延伸到分類問題,自然的想法是找一個(gè)連續(xù)可微函數(shù)
將式(2)的輸出值
映射到一個(gè)概率范圍[0,1]內(nèi)。如果選擇sigmoid函數(shù),就成為了我們要討論的logistic regression模型。sigmoid函數(shù)如式(3)所示
2. Logistic Regression
Logistic Regression是一個(gè)二分類模型,定義為如下的條件概率函數(shù)
模型會(huì)比較式(4) (5)的大小,并將較大的概率值對(duì)應(yīng)的標(biāo)簽作為預(yù)測(cè)結(jié)果。
這里要引入一個(gè)幾率(odds)的概念。一個(gè)事件的幾率是指該事件發(fā)生與不發(fā)生的概率之比,即.對(duì)幾率取對(duì)數(shù)則是對(duì)數(shù)幾率(log odds,又稱logits).根據(jù)式(4)和(5),Logistic Regression的logits為
這里就可以看出,LR模型實(shí)質(zhì)上是用線性函數(shù)來擬合事件的對(duì)數(shù)幾率,因此LR又被稱為對(duì)數(shù)幾率模型。由于LR是一個(gè)概率模型,因此可以使用極大似然法來求解參數(shù)和
,網(wǎng)上有很多推導(dǎo),這里不做展開。
II. Softmax函數(shù)
1. 定義
LR是一個(gè)二分類模型。想做多分類的話,就輪到softmax登場(chǎng)了。softmax函數(shù)定義如下:
Softmax函數(shù)的取值為(0, 1),經(jīng)常用于神經(jīng)網(wǎng)絡(luò)最后一層的激活函數(shù)。這
個(gè)輸出可以看做是對(duì)K個(gè)類別的預(yù)測(cè)概率,softmax輸出值最大的那個(gè)就作為預(yù)測(cè)的標(biāo)簽。
2. Softmax與LR的關(guān)系
事實(shí)上,LR是softmax的類別數(shù)時(shí)的特殊形式,推導(dǎo)如下:
當(dāng)時(shí),softmax可以寫作
將分子分母的系數(shù)都減去
,可得
令,則
和
就是logistic regression中的
和
.
3. Softmax的導(dǎo)數(shù)
Softmax經(jīng)常作為神經(jīng)網(wǎng)絡(luò)的輸出,其導(dǎo)數(shù)為:
III. Cross Entropy
Cross entropy (交叉熵)原本是信息論中的概念,描述的是兩個(gè)概率分布間的距離,定義如下
在分類任務(wù)中,我們經(jīng)??吹紺ross Entropy作為LR和softmax函數(shù)的損失函數(shù)。這里為真實(shí)值,
為預(yù)測(cè)值,交叉熵可以刻畫預(yù)測(cè)值和真實(shí)值之間的差異,這也是其可以作為概率模型loss函數(shù)的原因。而前文所介紹的LR和softmax輸出的結(jié)果正是這樣的概率形式。
當(dāng)Cross entropy作為LR的損失函數(shù)時(shí),式(12)中的即為sigmoid的輸出Y,因此
對(duì)于所有m個(gè)樣本取平均可得
可以證明,cross entropy與使用極大似然法計(jì)算出的loss一致。
當(dāng)Cross entropy作為softmax的損失函數(shù)時(shí),式(12)變?yōu)?br>
其中為真實(shí)label,
這里使用gradient descent來優(yōu)化loss函數(shù),式(15)對(duì)特定輸入
的導(dǎo)數(shù)為
將前面式(11)softmax的導(dǎo)數(shù)代入得
可以看出,softmax函數(shù)的cross entropy loss求導(dǎo)結(jié)果正好是預(yù)測(cè)值和真實(shí)label
之差。