一、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
感謝該博主,借鑒摘錄為后續復習留檔。