logistic模型原理与推导过程分析(2)
二項邏輯回歸模型
既然logistic回歸把結果壓縮到連續的區間(0,1),而不是離散的0或者1,然后我們可以取定一個閾值,通常以0.5為閾值,如果計算出來的概率大于0.5,則將結果歸為一類(1),如果計算出來的概率小于0.5,則將結果歸為另一類(0),用分段函數寫出來便是
這樣邏輯回歸就可以用來進行2分類了,假設數據結構如下
其中m表示樣本個數,n表示影響因數的個數,yi(i=0,1,??,m)取0或者1。現在我們結合數據,利用條件概率分布模型給出基于概率的二項logistic模型如下:
其中,X表示自變量,y表示因變量所屬的類別,θ為模型待求的參數,模型解釋為在特定的因素下,模型結果取1的概率和取0的概率。模型建好了,接下來就需要進行機器訓練,而怎么來給訓練一種恰當反饋呢?答案是損失函數,通過損失函數來評估模型學習的好壞和改進機制。
損失函數
機器學習或者統計機器學習常見的損失函數如下:
1.0-1損失函數(0-1?loss?function)
2.平方損失函數(quadratic?loss?function)
3.絕對值損失函數(absolute oss function)
4.對數損失函數(logarithmic loss function)或對數似然損失函數(log - like hood loss function)
邏輯回歸中,采用的則是對數損失函數。如果損失函數越小,表示模型越好。
說說對數損失函數與平方損失函數
????????在邏輯回歸的推導中,我們假設樣本是服從伯努利分布(0-1分布)的,然后求得滿足該分布的似然函數,最終求該似然函數的極大值。整體的思想就是求極大似然函數的思想。而取對數,只是為了方便我們的在求MLE(Maximum Likelihood Estimation)過程中采取的一種數學手段而已。
????????由前面閾值的取定原則,我們知道相當于我們用一個類別值代替概率值,而類別值是sigmoid函數的兩個最值,概率不可能時時刻刻都取到最值,這勢必會造成誤差,我們把這種誤差稱為損失,為了給出損失函數表達式,我們假設模型第i個樣本所求的概率值為Pi,而真實類別值可能是0或者1。
當類別真實值是1的情況下:
????????所求的概率值pi越小,越接近0,被劃為類別0的可能性越大,被劃為類別1的可能性越小,導致的損失越大。
????????所求的概率值pi越大,越接近1,被劃為類別1的可能性越大,被劃為類別0的可能性越小,導致的損失越小。我們用下面的函數來描述這種變化關系
其中pi∈(0,1),其圖像大致如下
當類別真實值是0的情況下:
????????所求的概率值pi越大,越接近1,其結果的類別判定更偏向于1,導致的損失越大。
????????所求的概率值pi越小,越接近0,其結果的類別判斷更偏向于0,導致的損失越小。我們用下面的函數來描述這種變化關系
其中pi∈(0,1),其圖像大致如下
------------------------ ---------- ---------- 分割線內容,hθ等于Pi --------------------------------
根據上面的內容,我們可以得到邏輯回歸的對數似然損失函數cost?function:
當y=1時,假定這個樣本為正類:
????????①如果此時預測的概率hθ(x)=1?,則單對這個樣本而言的cost=0,表示這個樣本的預測完全準確。那如果所有樣本都預測準確,則總損失total_cost=0
????????②如果此時預測的概率hθ(x)=0,那么單對這個樣本而言的cost→∞。也就是說預測y=1的概率為0,那么此時就要對損失函數加一個很大的懲罰項。
當y=0時,推理過程跟上述完全一致,不再累贅。
將以上兩個表達式合并為一個,則單個樣本的損失函數可以描述為:
?
| 梯度下降的原理 由上述可知在單個樣本中,其損失函數為: 現在問題就轉化為一個無約束優化問題,即我們找出最小的θ,使得costfunction達到最小。而在無約束優化問題中,最重要最基本的方法莫過于梯度下降了。 梯度下降的過程: |
現在就要把兩種情況結合起來并且繪制成全樣本的損失函數,就不需要分真實值是1還是0兩種情況討論,求出其期望值,做成一個交叉熵(cross entropy)的全體樣本的損失函數如下:
????????因為yi只有兩種取值情況1或0,分別令y=1或y=0,即可得到原來的分段表示式。
????????其中yi表示第i個樣本的真實值,pi或者hθ(x)是根據模型計算出來的概率值。
????????當yi=1時,costi=?log(pi),yi=0時,costi=?log(1?pi),這符合前面兩種情況。
假設現在有m個樣本,總體的損失函數為
?上式即為二項邏輯回歸的損失函數,是一個關于參數θ和X的二元函數,也叫對數似然函數,現在問題轉化為以對數似然函數為目標函數的最優化問題,其中θ為模型待求的參數,為了求參數θ,可以對目標函數求偏導數,記
| 對L(X∣θ)求關于θ的偏導,主要是里面對數函數關于θ的偏導數求解 |
--------------------------------------------------------分割線內容中hθ等于Pi-------------------------------------
logistic回歸模型的應用
????????既然logistic回歸主要用來二分類,用logistic回歸模型二分類的場景,用logistic回歸模型預測某件事情的發生概率,我們常見的logistic回歸模型的應用場景有
(1)根據申請人的提供的資料,預測其違約的可能性大小,進而決定是否給其貸款。
(2)根據購買記錄預測用戶下一次是否會購買某件商品。
(3)輿論平臺做情感分類器。如根據某網友對某些特定主題的歷史評論數據,預測其下次對某類型的主題是否會給出正面的評論。
(4)在醫療領域,根據病人癥狀,預測其腫瘤是良性的還是惡性的。
(5)根據CT,流行病學,旅行史,檢測試劑結果等特點預測某位疑似病人是否真感染新型冠狀病毒。
(6)在精準營銷領域,預測某個產品的收益。
logistic回歸模型的評價
????????從logistic回歸的數學原理,在閾值取定的時候一刀切的做法上面,我們能夠根據logistic回歸的這些特點給出模型優缺點評價
優點:
1、原理簡單,模型清晰,操作高效,背后的概率的推導過程經得住推敲,在研究中,通常以Logistic回歸模型作為基準,再嘗試使用更復雜的算法,可以在大數據場景中使用。
2、使用online learning的方式更新輕松更新參數,不需要重新訓練整個模型
3、基于概率建模,輸出值落在0到1之間,并且有概率意義
4、求出來的參數θi代表每個特征對輸出的影響,可解釋性強
5、解決過擬合的方法很多,如L1、L2正則化,L2正則化就可以解決多重共線性問題
缺點:
1、對數據依賴性強,需要做特征工程,主要用來解決線性可分問題
2、Logistic回歸模型本質上是一個線性的分類器,處理不好特征之間相關的情況,對模型中自變量多重共線性較為敏感,例如兩個高度相關自變量同時放入模型,可能導致較弱的一個自變量回歸符號不符合預期,符號被扭轉,正好變負號。
3、logit變換過程是非線性的,在兩端隨著變化率微乎其微,而中間的變化很大,很敏感。導致很多區間的變量變化對目標概率的影響沒有區分度,很難確定閥值。
4、當特征空間很大時,性能不好
5、容易欠擬合,精度不高
---------------------------------------------------------------------------------------------------------
logistic模型原理與推導過程分析(1)_LiBiGor的博客-CSDN博客
https://blog.csdn.net/qq_39237205/article/details/121031296
logistic模型原理與推導過程分析(2)_LiBiGor的博客-CSDN博客
https://blog.csdn.net/qq_39237205/article/details/121031899
logistic模型原理與推導過程分析(2)_LiBiGor的博客-CSDN博客
https://blog.csdn.net/qq_39237205/article/details/121031899
總結
以上是生活随笔為你收集整理的logistic模型原理与推导过程分析(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python bp神经网络分类预测结果图
- 下一篇: 阅读英文论文的方法总结(三遍法)