https://blog.csdn.net/u013709270/article/details/78275462
1. 統計學習方法都是由模型,策略,和算法構成的,即統計學習方法由三要素構成,可以簡單表示為:
方法=模型+策略+算法
對於logistic回歸來說,模型自然就是logistic回歸,策略最常用的方法是用一個損失函數(loss function)或代價函數(cost function)來度量預測錯誤程度,算法則是求解過程,后期會詳細描述相關的優化算法。
2.常見的損失函數
機器學習或者統計機器學習常見的損失函數如下:
1.0-1損失函數 (0-1 loss function)
2.感知損失(Perceptron Loss)
其中t是一個超參數閾值,如在PLA(Perceptron Learning Algorithm,感知機算法)中取t=0.5。
3.Hinge Loss
Hinge損失可以用來解決間隔最大化問題,如在SVM中解決幾何間隔最大化問題,其定義如下:
更多請參見:Hinge-loss。
4.平方損失函數(quadratic loss function)
L(Y,f(X))=(Y−f(x))2
5.絕對值損失函數(absolute loss function)
L(Y,f(x))=|Y−f(X)|
6.對數損失函數(logarithmic loss function) 或對數似然損失函數(log-likehood loss function)
L(Y,P(Y|X))=−logP(Y|X)
在使用似然函數最大化時,其形式是進行連乘,為了便於處理,一般會套上log,這樣便可以將連乘轉化為求和,由於log函數是單調遞增函數,因此不會改變優化結果。因此log類型的損失函數也是一種常見的損失函數,如在LR(Logistic Regression, 邏輯回歸)中使用交叉熵(Cross Entropy)作為其損失函數;損失函數越小,表示模型越好。即:
(注:前面需要加個負號。這里log為自然對數ln)
規定: 0⋅log(0)=0
7.指數損失函數(Exponential Loss)
常用於boosting算法中,如AdaBoost。即:
3.對過擬合和加入正則化項防止過擬合的直觀理解:
1.過擬合從直觀上理解便是,在對訓練數據進行擬合時,需要照顧到每個點,從而使得擬合函數波動性非常大,即方差大。在某些小區間里,函數值的變化性很劇烈,意味着函數在某些小區間里的導數值的絕對值非常大,由於自變量的值在給定的訓練數據集中的一定的,因此只有系數足夠大,才能保證導數的絕對值足夠大。如下圖:
加入正則化項,通過限制系數不能過大,就可以使得函數值的變化不至於在小區間很劇烈;即增加了一部分偏差,但減少了方差,防止了或許因異常點和噪點造成的過擬合。
2.
另外一個解釋,規則化項的引入,在訓練(最小化cost)的過程中,當某一維的特征所對應的權重過大時,而此時模型的預測和真實數據之間距離很小,通過規則化項就可以使整體的cost取較大的值,從而,在訓練的過程中避免了去選擇那些某一維(或幾維)特征的權重過大的情況,即避免過分依賴某一維(或幾維)的特征。
4.L2與L1正則化的區別
L1正則是拉普拉斯先驗,而L2正則則是高斯先驗。它們都是服從均值為0,協方差為1λ。當λ=0時,即沒有先驗)沒有正則項,則相當於先驗分布具有無窮大的協方差,那么這個先驗約束則會非常弱,模型為了擬合所有的訓練集數據, 參數w可以變得任意大從而使得模型不穩定,即方差大而偏差小。λ越大,標明先驗分布協方差越小,偏差越大,模型越穩定。即,加入正則項是在偏差bias與方差variance之間做平衡tradeoff。下圖即為L2與L1正則的區別:
上圖中的模型是線性回歸,有兩個特征,要優化的參數分別是w1和w2,左圖的正則化是L2,右圖是L1。藍色線就是優化過程中遇到的等高線,一圈代表一個目標函數值,圓心就是樣本觀測值(假設一個樣本),半徑就是誤差值,受限條件就是紅色邊界(就是正則化那部分),二者相交處,才是最優參數。可見右邊的最優參數只可能在坐標軸上,所以就會出現0權重參數,使得模型稀疏。
一個疑問:L1正則化中,相切的地方,w1和w2也可以都不為0;比如當等高線的圓心位於y=x直線上時。的確如此,但圓心剛好在y=x直線上的情況非常少;或者說這些情況下對應的就是那些不會被縮減太多的重要參數。大多在其他地方,這樣相交的點是坐標軸上的點;對應的就是那些不重要的被縮減或被刪減的點。
5.Logistics回歸采用“損失函數最小化求參數”與“極大似然估計聯合概率最大化求參數”之間的關系
ϕ(z)可以視為類1的后驗估計,所以我們有:
其中,p(y=1|x;w)表示給定w,那么x點y=1的概率大小。 於是上面兩式可以寫成一般形式:
先用極大似然估計來根據給定的訓練集估計出參數w:
為了簡化運算,我們對上面這個等式的兩邊都取一個對數:
我們現在要求的是使得l(w)最大的w。而在l(w)前面加個負號就是求使得l(w)最小的w了,這就是Logistics回歸的損失函數:
以上的過程說明:Logistics回歸采用“損失函數最小化求參數”與“極大似然估計聯合概率最大化求參數”是完全等價的!這就是為什么Logistics回歸中激活函數使用sigmoid函數,損失函數使用-log損失函數的原因。Logistics回歸的參數可以采用最大似然函數進行估計。
6.梯度下降中,為何梯度的負方向就是代價函數下降最快的方向(證明如下)
首先:
其中,f′(x)和δ為向量,那么這兩者的內積就等於 :
當θ=π時,也就是δ在f′(x)的負方向上時,取得最小值,也就是下降的最快的方向了。
7.LR回歸損失函數對各個參數θ的推導:https://blog.csdn.net/zrh_CSDN/article/details/80934278
Logistics回歸與線性回歸對各個參數的梯度值(求偏導)表達式完全相同
推導的結果發現:LR回歸采用-log損失函數對各個參數θ的偏導值,和 線性回歸采用均方誤差損失函數對各個參數θ的偏導值,所得的偏導公式是完全一樣的
所以采用梯度下降求解參數時,方法是一樣的