邏輯回歸作為被廣泛使用的二分類模型,面試中自然是不可缺少的。但要深刻理解邏輯回歸又不是那么容易的,比如說,邏輯回歸輸出的值是0到1之間的值,這個(gè)值是真實(shí)的概率嗎?邏輯回歸為什么要選擇sigmoid函數(shù)的形式,而不是其他將數(shù)值映射到0到1之間的形式?本文試圖給出一個(gè)盡可能簡(jiǎn)單明了的分析。
一、從一個(gè)例子開始
假設(shè)你在一家金融公司工作,老板交給你一個(gè)任務(wù),建一個(gè)模型,用來預(yù)測(cè)一個(gè)借款人是否會(huì)違約,公司擁有一個(gè)借款人的特征數(shù)據(jù),比如年齡。
將是否違約作為標(biāo)簽變量y,0表示沒有違約,1表示違約。在給定特征x的情況下,我們假設(shè) y 是一個(gè)服從伯努利分布的二值隨機(jī)變量。注意,這是我們做的第一個(gè)假設(shè)哦!從某種意義上講,模型準(zhǔn)不準(zhǔn),首先要看假設(shè)合不合理。
我們的任務(wù)用數(shù)學(xué)語(yǔ)言描述就是,尋找一個(gè)模型,輸入x后,可以告訴我們y所服從的隨機(jī)分布的參數(shù),知道參數(shù)后,就可以計(jì)算y的期望作為預(yù)測(cè)。
具體到違約預(yù)測(cè),上面所說的隨機(jī)分布就是指伯努利分布,該分布的參數(shù)就是Φ=P(y=1),同時(shí)也是該分布的期望。
請(qǐng)認(rèn)真體會(huì)一下我們的思路:
- 1、對(duì)每一個(gè)確定的x,y仍然是一個(gè)隨機(jī)變量
- 2、該隨機(jī)變量服從某個(gè)隨機(jī)分布
- 3、努力求出這個(gè)隨機(jī)分布的參數(shù)
- 4、求出該隨機(jī)分布的期望
- 5、將期望作為預(yù)測(cè)值
二、從更高的層次看待伯努利分布
那么,如何根據(jù)x求出y所屬的伯努利分布的參數(shù)Φ呢。
直接看,似乎沒什么思路,我們需要換個(gè)角度。
伯努利分布實(shí)際上屬于某一大類分布中的一種情況。這一大類分布就是指數(shù)分布族。
這就好比, x + 1=0是一個(gè)方程,但從更廣泛的角度來看,它只是 ax + b = 0一次方程的一種具體情況而已。
從指數(shù)分布族的角度來分析,我們很容易構(gòu)建起x與伯努利分布參數(shù)的聯(lián)系。
3、指數(shù)分布族
下面,我們就來看看指數(shù)分布族是什么樣子,如果你是第一次看到它,很可能是這樣:

請(qǐng)放輕松,它只是看起來有些復(fù)雜,實(shí)際上并不難。

為了簡(jiǎn)化理解,你可以自動(dòng)忽略η上面的大寫字母T,僅僅將η作為一個(gè)實(shí)數(shù)來理解。
它其實(shí)是在告訴我們:
對(duì)于一個(gè)隨機(jī)變量x,只要你確定三個(gè)函數(shù),就可以確定一類分布。
這三個(gè)函數(shù)就是:
- h(x)
- T(x)
- A(η)
η用來確定該類分布的具體參數(shù)。
對(duì)于我們的伯努利分布,這三個(gè)函數(shù)是什么樣子呢?我們可以從伯努利分布出發(fā),一路變形到與指數(shù)分布族一樣的形式。如下所示:

請(qǐng)認(rèn)真看看上面的變形推導(dǎo)過程??梢钥吹?,伯努利分布確實(shí)可以改寫成指數(shù)分布族的形式。并且,伯努利分布的參數(shù)Φ與η之間,還有一個(gè)sigmoid的函數(shù)關(guān)系。
4、最后一步
現(xiàn)在,我們看到,伯努利分布確實(shí)是指數(shù)分布族的一個(gè)特殊情況,它的參數(shù)Φ與指數(shù)分布族中的參數(shù)η還有對(duì)應(yīng)關(guān)系。
這意味著,我們?nèi)绻苷业絰和η之間的關(guān)系,那么也就找到了x和Φ之間的關(guān)系。
在這里,我們需要再做一個(gè)假設(shè),那就是
η和x之間存在線性的關(guān)系??!注意,這是我們做的第二個(gè)假設(shè)哦。即:
η = θx。
有了這個(gè)假設(shè),我們的模型訓(xùn)練過程就是這樣的:
- 對(duì)一個(gè)x,根據(jù) θx算出η
- 根據(jù)η算出Φ
- 因?yàn)棣导仁遣植嫉奈ㄒ粎?shù),也是該分布的期望,所以將Φ作為預(yù)測(cè)值。
- 計(jì)算Φ與真實(shí)的標(biāo)簽y之間的誤差loss。(通常用交叉熵)
- 通過SGD來更新θ,降低loss。
這不就是我們的邏輯回歸么?
5總結(jié)
可見,邏輯回歸模型之所以是sigmoid 的形式,源于我們假設(shè)y服從伯努利分布,伯努利分布又屬于指數(shù)分布族,經(jīng)過推導(dǎo),將伯努利分布變成指數(shù)分布族的形式后。我們發(fā)現(xiàn)伯努利分布的唯一參數(shù)Φ與指數(shù)分布族中的參數(shù)η具有sigmoid函數(shù)關(guān)系,于是我們轉(zhuǎn)而求η與x的關(guān)系,此時(shí),我們又假設(shè)η與x具有線性關(guān)系。
至此,找到了我們要用的模型的樣子,也就是邏輯回歸。
回答文章開頭的問題,邏輯回歸輸出的到底是不是概率呢?答案是如果你的情況滿足本文所說的兩個(gè)假設(shè),那么你訓(xùn)練模型的過程,就確實(shí)是在對(duì)概率進(jìn)行建模。
這兩個(gè)假設(shè)并不是那么容易滿足的。所以,很多情況下,我們得出的邏輯回歸輸出值,無(wú)法當(dāng)作真實(shí)的概率,只能作為置信度來使用。