線性回歸和邏輯回歸的聯繫(廣義線性模型以及指數分布族略講)
面騰訊互娛的時候,兩面都遇到了這個問題,即線性回歸和邏輯回歸的聯繫。(ps:兩面互娛問的最多的都是線性回歸和邏輯回歸)
先擺出答案:
線性回歸和邏輯回歸都是廣義線性模型,具體的說,都是從指數分布族導出的線性模型,線性回歸假設Y|X服從高斯分布,邏輯回歸假設Y|X服從伯努利分布,這兩種分布都是屬於指數分布族,我們可以通過指數分布族求解廣義線性模型(GLM)的一般形式,導出這兩種模型。
回顧:
現在假如大家沒有廣義線性回歸的知識的話,那大家應該如何來回答這個問題。
角度一:
線性回歸:
已知線性回歸是一種假設特徵之間通過線性加和就能輸出最終預測結果的模型:
邏輯回歸:
那麼現在如果我們的預測結果是二值的話,那麼在有線性回歸得到的預測值 的基礎上,我們只需要找一個函數g,使得:
把 的值轉換成二值,需要一個轉換函數,上邊我們看到取階躍函數雖然簡單明了,但是它分段了,很多時候求解很不方便,於是就找了sigmoid函數作為我們的g函數,因為sigmoid函數具有連續可微的性質,方便最後我們loss function求解,(不過sigmoid不好的地方在於梯度消失),(ps:當然最終我們選擇sigmoid函數的原因,是因為它符合我們從利用指數分布族求廣義線性模型導出來的結果一樣).
於是我們得到最終:
這裡我們可以認為,預測出的 ,就是P(y=1|x)的概率,於是利用極大似然估計我們就可以求解最終的邏輯回歸模型:
max 其中有 ,同時yi的取值為0或者1
角度二:
線性回歸:
極大似然估計的角度看,線性回歸是先假設要預測的值Y是X中所有特徵的線性加和決定,再假設預測變數Y服從高斯分布 ,於是我們就得出一般的線性回歸的模型(忘了摸我)。
邏輯回歸:
極大似然估計的角度看,邏輯回歸先是假設Y服從伯努利分布 ,再假設X中所有特徵的線性加和表示最終結果為正例的對數幾率,即:
於是最大化下邊的似然函數我們就可以求解邏輯回歸模型:
其中有( ),同時yi的取值就是(0或者1)
廣義線性模型(GLM):
其實在角度一的時候,我們已經利用了廣義線性模型的思想了,即是我們用一組聯繫函數g,聯繫起我們最終要求的結果Y,和一般線性模型 :
然後現在我們從另一個方面看廣義線性分布:
通過角度二,我們能大致的看見,都是先假設預測變數Y服從一種分布,無論是高斯分布還是伯努利分布,更確切來說是服從指數分布族的分布,這裡我們不講指數分布族的知識,直接給出指數分布組的概率密度函數的定義,其中 為分布的參數,T(Y)稱為充分統計量:
式子(1)
1.那麼現在我們把高斯分布寫成指數分布族的樣子(這裡假設方差是1,因為對於最終求解沒有影響):
式子(2)
這裡顯然 , , ,
2.現在把伯努利分布寫成指數分布族的樣子:
式子(3)
這裡顯然 , , ,
那麼現在我們用指數分布族的形式推導出其對應的GLM:
首先我們假設:
- (1) ,(1)的意思是,我們先假設給定X和參數 ,對應的參數Y服從一個具體的參數為 的指數分布族分布。
- (2)給定X,我們的目標就是求E(T(Y)|X),通常T(Y) = Y,因此可以寫成E(Y|X)。因為在機器學習裡邊,我們的最終預測函數h(X) = E(Y|X)。
- (3) ,這個假設是說,我們假設指數分布族的的參數為X特徵的線性加和(除了像是多項式分布中 為向量,一般來說都是實數)。
這樣我們就可以根據上邊三個假設,求解從指數分布族導出的廣義線性回歸。
現在我們具體來看如何從伯努利分布導出邏輯回歸。
從伯努利分布導出邏輯回歸:
- 根據假設(1)我們可以假設Y|X服從伯努利分布。
- 根據假設中的(2),有h(X) = E(Y|X),對於伯努利分布來說,期望E(Y|X) = ,也就是P(Y=1),代表Y=1時候的概率。
- 根據式子(3)有, ,於是可以解得 ,巧吧,這裡眼熟吧,這個 的表達式正是sigmoid函數。
- 根據假設(3)中的假設分布參數 ,我們可以知道
- 那麼現在我們目標就是要求解參數 ,統計學中告訴我們已知分布,要求解參數,當讓是用極大似然估計,那麼由於我們有訓練集(xi,yi)...(xN,yN),已知其P(Y|X)服從伯努利分布,那麼就求解極大似然估計得出參數 即可。也就是max
從高斯分布導出線性回歸留作作業。
因此,最後來回答問題,線性回歸和邏輯回歸的聯繫就是,都是廣義線性模型,更確切的說,都是通過假設預測變數Y服從指數分布族導出的廣義線性模型。
推薦閱讀: