logistic回歸原理


logistic回歸是一種廣義線性回歸(generalized linear model),又叫對數幾率回歸(從后文中便可此名由來),因此與多重線性回歸分析有很多相同之處。這是一個分類模型而不是一個回歸模型.
  它們的模型形式基本上相同,都具有 w‘x+b,其中w和b是待求參數,其區別在於他們的 因變量不同,多重線性回歸直接將w‘x+b作為因變量,即y =w‘x+b,而logistic回歸則通過函數L將w‘x+b對應一個隱狀態p,p =L(w‘x+b),然后根據p 與1-p的大小決定因變量的值。如果L是logistic函數,就是logistic回歸,如果L是多項式函數就是多項式回歸。  
  logistic回歸的因變量可以是二分類的,也可以是多分類的,但是二分類的更為常用,也更加容易解釋,多類可以使用softmax方法進行處理。實際中最為常用的就是二分類的logistic回歸。
  

一、logistic回歸和線性回歸的關系

想必大家也早有疑惑,既然logistic回歸名字中都帶有“回歸”二者,難道和回歸模型一點關系都沒有!沒錯,二者是有聯系的,下面我們便來談一談!

首先給出線性回歸模型: 

這里寫圖片描述

寫成向量形式為: 
這里寫圖片描述

同時“廣義線性回歸”模型為: 
這里寫圖片描述

注意,其中g(~)是單調可微函數。

 

下面我們便從線性回歸的回歸模型引出logistic回歸的分類模型!!!

我們知道上訴線性回歸模型只能夠進行回歸學習,但是若要是做分類任務如何做!答案便是在“廣義線性回歸”模型中:只需找一個單調可微函數將分類任務的真實標記y與線性回歸模型的預測值聯系起來便可以了!

logistic回歸是處理二分類問題的,所以輸出的標記y={0,1},並且線性回歸模型產生的預測值z=wx+b是一個實值,所以我們將實值z轉化成0/1值便可,這樣有一個可選函數便是“單位階躍函數”: 

這里寫圖片描述

這種如果預測值大於0便判斷為正例,小於0則判斷為反例,等於0則可任意判斷!

 

但是單位階躍函數是非連續的函數,我們需要一個連續的函數,“Sigmoid函數”便可以很好的取代單位階躍函數: 

這里寫圖片描述

sigmoid函數在一定程度上近似單位階躍函數,同時單調可微,圖像如下所示: 
這里寫圖片描述

 

這樣我們在原來的線性回歸模型外套上sigmoid函數便形成了logistic回歸模型的預測函數,可以用於二分類問題: 

這里寫圖片描述

對上式的預測函數做一個變換為: 
這里寫圖片描述

觀察上式可得:若將y視為樣本x作為正例的可能性,則1-y便是其反例的可能性。二者的比值便被稱為“幾率”,反映了x作為正例的相對可能性,這也是logistic回歸又被稱為對數幾率回歸的原因!

 

這里我們也便可以總結一下線性回歸模型和logistic回歸的關系: 
logistic回歸分類模型的預測函數是在用線性回歸模型的預測值的結果去逼近真實標記的對數幾率!這樣也便實現了上面說的將線性回歸的預測值和分類任務的真實標記聯系在了一起!

二、梯度上升算法求解logistic回歸模型參數w

在上一個話題中我們已經得到了logistic回歸的預測函數: 

這里寫圖片描述

這里寫圖片描述

 

這里我們將式子中的y視為類后驗概率估計p(y=1|x),則上式可以重寫為: 

這里寫圖片描述

求解上式有: 
這里寫圖片描述

這里寫圖片描述

 

先給出求解參數w的思路,下面我們便按照這個思路進行求解參數w: 
1、為求解參數w,我們需要定義一個准則函數 J(w),利用准則函數求解參數w 
2、我們通過最大似然估計法定義准則函數J(w) 
3、接下來通過最大化准則函數J(w)便可求出參數w的迭代表達式 
4、為了更好地使用數據求出參數w,我們將第三步得到的w的迭代時向量化。自此便完成了對於參數w的推導過程,接下來便可以進行實例應用了!

步驟一、求解准則函數J(w)

合並(3)(4)兩個式子可得: 

這里寫圖片描述

在(5)式中y={0,1},是個二分類問題,所以y只是取兩個值0或是1。 
根據(5)式可得似然函數為: 
這里寫圖片描述

對(6)式取對數有: 
這里寫圖片描述

因此定義准則函數為: 
這里寫圖片描述

最終我們的目標便是最大化似然函數,也就是最大化准則函數: 
這里寫圖片描述

 


步驟二、梯度上升算法求解參數w

這里我們使用梯度上升算法求解參數w,因此參數w的迭代式為: 

這里寫圖片描述

其中α是正的比例因子,用於設定步長的“學習率” 
其中對准則函數J(w)進行微分可得: 
這里寫圖片描述

所以得到最終參數w的迭代式為: 
這里寫圖片描述

上式將(1/m)去掉不影響結果,等價於下式: 
這里寫圖片描述

 

至此我們已經得出了w的迭代公式,按說是可以在引入數據的情況下進行w的計算,進而進行分類!但是數據基本都是以矩陣和向量的形式引入的,所以我們需要對上面w的迭代時進行向量化,以方便實例應用中的使用。


步驟三、w迭代公式向量化

首先對於引入的數據集x來說,均是以矩陣的形式引入的,如下: 

這里寫圖片描述

其中m數據的個數,n是數據的維度,也就是數據特征的數量!

 

再者便是標簽y也是以向量的形式引入的: 

這里寫圖片描述

參數w向量化為: 
這里寫圖片描述

在這里定義M=x*w,所以: 
這里寫圖片描述

 

定義上面說的sigmoid函數為: 

這里寫圖片描述

所以定義估計的誤差損失為: 
這里寫圖片描述

在此基礎上,可以得到步驟二中得到的參數迭代時向量化的式子為: 
這里寫圖片描述

 原文出處:https://blog.csdn.net/feilong_csdn/article/details/64128443

感謝該博主,借鑒摘錄為后續復習留檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM