數據挖掘day34-CS229-WEEK6 Advice for Applying Machine Learning

1、如何改進模型?

當已經完成一個機器學習模型,而效果並不符合要求時,該如何進行改進?
改進的方向有如下:
1、獲取更多訓練集;
2、挑選特徵,用更小的特徵集進行學習;
3、獲取訓練集數據的更多特徵信息,構建更大的特徵集;
4、使用更復雜的特徵(x12,x22,x1x2x_1^2,x_2^2,x_1x_2)等;
5、減小λ\lambda
6、加大λ\lambda

2、模型評估方法

2.1 簡單評估

1、將數據集按7:3劃分爲訓練集和驗證集
2、使用驗證集驗證訓練模型的準確率:
使用Jtest(θ)J_{test}(\theta),或錯誤數量作爲評估標準

2.2 特徵評估

例如要對特徵多項式進行選擇,令d爲多項式的最高冪
1、將數據集按6:2:2分爲訓練集(Train),交叉驗證集(CV),驗證集(Test)
2、使用交叉驗證集的誤差JCV(θ)J_{CV}(\theta)來選出最佳d
3、使用訓練集訓練模型
4、使用驗證集進行模型評估

2.3 偏差、方差評估

方差(variance),高方差→過擬合
偏差(bias),高偏差→欠擬合
還是之前確定多項式冪d的例子,隨着d的增大,訓練集和交叉驗證集的誤差如下圖:
在這裏插入圖片描述
左側對應的是高偏差(欠擬合),訓練誤差很大,檢查驗證誤差也很大,兩個接近
右側對應的是高方差(過擬合),訓練誤差很小,檢查驗證遠大於訓練誤差

2.3 正則化與偏差、方差

λ\lambda過大,高方差→過擬合
λ\lambda過小,高偏差→欠擬合
λ\lambda爲橫座標,畫出的誤差圖,與上圖正好左右互換
在這裏插入圖片描述

3、學習曲線

以數據集的數量m作爲橫座標,畫出誤差曲線
在這裏插入圖片描述
高偏差情況:
增加數據量對於模型改進意義不大
在這裏插入圖片描述
高方差情況:
增加訓練數據對模型改進有用
在這裏插入圖片描述

4、改進模型的答案

1、獲取更多訓練集→高方差適用
2、挑選特徵,用更小的特徵集進行學習→高方差適用
3、獲取訓練集數據的更多特徵信息,構建更大的特徵集→高偏差適用
4、使用更復雜的特徵(x12,x22,x1x2x_1^2,x_2^2,x_1x_2)等→高偏差適用
5、減小λ\lambda→高偏差適用
6、加大λ\lambda→高方差適用

以上的內容也適合在神經網絡,神經網絡的隱藏層數量、神經元數量對應特徵數量,選擇方式也是一樣的,多了會出現過擬合,這時候可以使用λ\lambda處理。
大的神經網絡+λ\lambda會比小神經網絡好。

5、學習系統設計

1、快速作出簡單系統,先跑起來;
2、畫出學習曲線,確定改進路線;
3、進行誤差分析,對誤差部分分析以改進系統

5.1 查準率、召回率

特別適用於不對稱的分類問題,如信用卡欺詐、癌症篩選
在這裏插入圖片描述
TP: 預測爲正,實際爲正
TN: 預測爲負,實際爲負
FP:預測爲正,實際爲負
FN: 預測爲負,實際爲正
Precision = TP/(TP+FP); 查準率, 在所有被判斷爲正樣本中, 真正正樣本的數量.
Recall = TP/(TP+FN); 召回率, 在所有正樣本中, 被識別爲正樣本的數量.

5.2 平衡查準率與召回率

F score:2PRP+R\frac{2PR}{P+R}

5.3 數據量是算法的上限

1、數據越多算法預測越準確,多數據的差模型效果可能比少數據的好模型更好;
2、模型參數越多,模型越準確;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章