1. 程式人生 > >初級算法梳理-任務2 【任務2 - 邏輯回歸算法梳理】

初級算法梳理-任務2 【任務2 - 邏輯回歸算法梳理】

表示 modules 另一個 研究 似的 效果 監督學習 是我 成功

任務內容

1、邏輯回歸與線性回歸的聯系與區別
2、 邏輯回歸的原理
3、邏輯回歸損失函數推導及優化
4、 正則化與模型評估指標
5、邏輯回歸的優缺點
6、樣本不均衡問題解決辦法
7、sklearn參數

具體解釋

邏輯回歸與線性回歸的聯系與區別

二者都屬於監督學習算法。但是線性回歸解決回歸問題,邏輯回歸解決分類問題。

邏輯回歸的原理

基本原理
邏輯回歸和線性回歸的原理是相似的,可以簡單描述為以下過程:
(1)找一個合適的預測函數,表示為h函數,該函數就是我們需要找的分類函數,它用來預測輸入數據的判斷結果。這個過程是非常關鍵的,需要對數據有一定的了解或分析,知道或者猜測預測函數的“大概”形式,比如是線性函數還是非線性函數。

(2)構造一個Cost函數(損失函數),該函數表示預測的輸出(h)與訓練數據類別(y)之間的偏差,可以是二者之間的差(h-y)或者是其他的形式。綜合考慮所有訓練數據的“損失”,將Cost求和或者求平均,記為J(θ)函數,表示所有訓練數據預測值與實際類別的偏差。
(3)顯然,J(θ)函數的值越小表示預測函數越準確(即h函數越準確),所以這一步需要做的是找到J(θ)函數的最小值。找函數的最小值有不同的方法,Logistic Regression實現時有的是梯度下降法(Gradient Descent)。

邏輯回歸損失函數推導及優化

邏輯回歸損失函數推導及優化

正則化與模型評估指標

正則化

正則化就是在損失函數後加上一個正則化項(懲罰項),其實就是常說的結構風險最小化策略,即經驗風險(損失函數)加上正則化。一般模型越復雜,正則化值越大,正則化項是用來對模型中某些參數進行約束。

如何理解正則化:正則化其實就是帶約束條件的優化問題,為什麽要正則化,就是對目標函數加上一個約束條件,這類似於帶約束條件的朗格拉日乘數法。
正則化有什麽作用:
L1正則化可以產生稀疏權重矩陣,即大部分w為0,只有少數w非0,可以用於特征選擇
L2正則化可以防止模型過擬合

模型評估指標

http://www.cnblogs.com/zongfa/p/9431807.html

  • 分類問題
    混淆矩陣、準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1 score、ROC曲線、AUC、PR曲線
  • 回歸問題
    平均絕對誤差(MAE)、平均平方誤差(MSE)、均方根誤差(RMSE)、解釋變異、決定系數
  • 聚類
    蘭德指數、互信息、輪廓系數
  • 信息檢索

邏輯回歸的優缺點

Logistic 回歸是一種被人們廣泛使用的算法,因為它非常高效,不需要太大的計算量,又通俗易懂,不需要縮放輸入特征,不需要任何調整,且很容易調整,並且輸出校準好的預測概率。
與線性回歸一樣,當你去掉與輸出變量無關的屬性以及相似度高的屬性時,logistic 回歸效果確實會更好。因此特征處理在 Logistic 和線性回歸的性能方面起著重要的作用。
Logistic 回歸的另一個優點是它非常容易實現,且訓練起來很高效。在研究中,我通常以 Logistic 回歸模型作為基準,再嘗試使用更復雜的算法。
由於其簡單且可快速實現的原因,Logistic 回歸也是一個很好的基準,你可以用它來衡量其他更復雜的算法的性能。
它的一個缺點就是我們不能用 logistic 回歸來解決非線性問題,因為它的決策邊界是線性的。

樣本不均衡問題解決辦法

重新采樣訓練集
可以使用不同的數據集。有兩種方法使不平衡的數據集來建立一個平衡的數據集——欠采樣和過采樣。
欠采樣
欠采樣是通過減少豐富類的大小來平衡數據集,當數據量足夠時就該使用此方法。通過保存所有稀有類樣本,並在豐富類別中隨機選擇與稀有類別樣本相等數量的樣本,可以檢索平衡的新數據集以進一步建模。
過采樣
相反,當數據量不足時就應該使用過采樣,它嘗試通過增加稀有樣本的數量來平衡數據集,而不是去除豐富類別的樣本的數量。通過使用重復、自舉或合成少數類過采樣等方法(SMOTE)來生成新的稀有樣品.
註意到欠采樣和過采樣這兩種方法相比而言,都沒有絕對的優勢。這兩種方法的應用取決於它適用的用例和數據集本身。另外將過采樣和欠采樣結合起來使用也是成功的。

sklearn參數

LogisticRegression

初級算法梳理-任務2 【任務2 - 邏輯回歸算法梳理】