logistic regression一點理解

全文共1268個字,36張圖,預計閱讀時間10分鐘。

關於logistic regression一些常見問題,整理出來,方便大家應對各種坑爹的面試官。

01

爲什麼用sigmoid函數?

the odds of experiencing an event

如果我們想預測每天股票漲多少,可以假設線性模型

要解決這個問題,我們先理解一個概念the odds of experiencing an event: 假設我們認爲股票漲的概率爲p,對於伯努利分佈而言,不漲的概率即爲1-p。那麼我們構造了p/(1-p),就是the odds of experiencing an event勝率,

趨向負無窮。這就又轉化爲可以用線性模型預測的問題了:即爲對數勝率。當我們堅信它會漲的情況下,p趨於1,

趨向正無窮;當我們堅信它不會漲的情況下,p趨向0,

趨於負無窮。這就又轉化爲可以用線性模型預測的問題了:

展開就可以得到:

。這就解釋了爲什麼說logistic regression是線性模型,因爲它的決策邊界是線性的;這就解釋了爲什麼想到了要用sigmoid作爲壓縮函數。

exponential model

就這一種辦法麼?當然不是: 假設第i個特徵對漲的貢獻是

,則記數據點(

,屬於漲的概率爲

正比於

假設第i個特徵對不漲的貢獻是

,則記數據點(

屬於不漲的概率爲

,正比於

所以,令漲=1則有:

,上下同除以

且令

,則依舊得到了

的sigmoid結果。

exponential family

如果大家對數學有點點研究的話,exponential family指出:如果一類分佈(a class of distribution)屬於exponential family,那麼它能寫成如下形式:

伯努利分佈可以寫成:

把後面的

展開,就有了sigmoid形式出現了:

對應上方的exponential family的形式,

,這不又回到了the odds of experiencing an event勝率的問題了嘛。

02

爲什麼要用交互熵做損失函數?

極大似然角度

我們假設預測結果服從伯努利分佈,那麼可以把一個case預測結果寫成:

其中

爲給定前提

率值要使當前參數下所有事情發生的概率最大,聯合分佈爲各邊緣分佈的乘積,得到:

其中

取log後方便計算:

這個就是我們最初的交互熵的形式。

信息熵角度

用來衡量信息量大小,熵越大,越不穩定,信息量越大。

KL散度

用來衡量兩份數據的相似程度,KL散度越大,越不相似。

從公式上,我們就可以看出:

其實很好理解的,對應訓練數據traindata分佈,和未知的真實數據分佈越一致越好;同理,模型預測的分佈,和訓練數據traindata分佈也是越一致越好,所以用KL散度來度量就是一個不錯的方法。

至於爲什麼不直接最小化

而是選擇了最小化H(A,B),我是覺得就和交互熵求導前面加上1/2一樣,爲了簡化計算量,本質上是一致的。

原文鏈接:https://www.jianshu.com/p/61ac39a57f9d

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章