對數機率迴歸(Logistic Regression)總結
對數機率迴歸logistic regression,雖然名字是迴歸,但是實際上它是處理分類問題的演算法。簡單的說迴歸問題和分類問題如下:
迴歸問題:預測一個連續的輸出。
分類問題:離散輸出,比如二分類問題輸出0或1.
邏輯迴歸常用於垃圾郵件分類,天氣預測、疾病判斷和廣告投放。
一、Logistic迴歸假設函式
對於一個分類問題,希望找到一個預測函式hθ(x),使得:
只有發生“y=1”(正例)與不發生“y=0”(反例)兩種結果(分類問題)
sigmoid函式可以滿足這個性質:
其中的θTx是一個線性的函式
所以發生與不發生的概率:
對數機率:
=
二、代價函式
為了估計引數θ,我們如果採用線性迴歸的代價函式作為logistic的代價函式,如下:
(注:線性迴歸的引數可以用梯度下降法和最小二乘法來求得,最小二乘法能求出固定形式的解析解)
其中,i表示第i個樣本,y(i)是真實值,hθ(x(i))是預測的值
醬的話求min代價函式J(θ)將會非常複雜,有多個區域性最小值,也就是非凸的,如下所示:
我們希望的代價函式是這樣的……
所以,我們用最大化似然函式的方法來估計引數……
對數似然函式如下(max):
即令每個樣本屬於其真實標記的概率越大越好,對數似然函式L(θ)是高階連續可導的凸函式,由凸優化理論可以根據梯度下降法、牛頓法等求最優解θ。
所以,logistic迴歸的代價函式(min):
三、過擬合問題
對於線性迴歸或邏輯迴歸的損失函式構成的模型,可能會有些權重很大,有些權重很小,導致過擬合(就是過分擬合了訓練資料),使得模型的複雜度提高,泛化能力較差(對未知資料的預測能力)。
下面左圖即為欠擬合,中圖為合適的擬合,右圖為過擬合。
問題的主因
過擬合問題往往源自過多的特徵。
解決方法
1)減少特徵數量x(減少特徵會失去一些資訊,即使特徵選的很好)
可用人工選擇要保留的特徵;
模型選擇演算法;
2)正則化,加上懲罰項(特徵較多時比較有效)
保留所有特徵,但減少θ的大小,即,對那些容易導致過擬合的θ進行懲罰
正則化方法
正則化是結構風險最小化策略的實現,是在經驗風險上加一個正則化項或懲罰項。正則化項一般是模型複雜度的單調遞增函式,模型越複雜,正則化項就越大。
以多項式迴歸為例。左圖是適當擬合,右圖是過擬合。
lambda是正則項係數:
如果它的值很大,說明對模型的複雜度懲罰大,對擬合數據的損失懲罰小,這樣它就不會過分擬合數據,在訓練資料上的偏差較大,在未知資料上的方差較小,但是可能出現欠擬合的現象;
如果它的值很小,說明比較注重對訓練資料的擬合,在訓練資料上的偏差會小,但是可能會導致過擬合。
正則化後的梯度下降演算法θ的更新變為:
四、邏輯迴歸的優缺點
優點:
1)它不僅預測類別,而且可以得到近似概率預測,這對許多概率輔助決策的任務很有用;
2)可以適用於連續性和類別性自變數;
3)容易使用和解釋;
4)它是直接對分類可能性建模,無需事先假設資料分佈,這樣就避免了假設分佈不準確問題;
5)對數機率函式是任意階可導凸函式,有很好的數學性質,現有許多的數值優化演算法都可以直接用於求解。
缺點:
1)對模型中自變數多重共線性較為敏感,例如兩個高度相關自變數同時放入模型,可能導致較弱的一個自變量回歸符號不符合預期,符號被扭轉。需要利用因子分析或者變數聚類分析等手段來選擇代表性的自變數,以減少候選變數之間的相關性;
2)預測結果呈“S”型,因此從log(odds)向概率轉化的過程是非線性的,在兩端隨著log(odds)值的變化,概率變化很小,邊際值太小,slope太小,而中間概率的變化很大,很敏感。 導致很多區間的變數變化對目標概率的影響沒有區分度,無法確定閥值。