機器學習系統設計和診斷方法學習總結
過擬合:對訓練資料擬合精準,但是對未知的資料預測能力差 如何應對? 2、丟棄一些不能幫助正確預測的特徵。 2.1、手工選擇丟棄特徵 2.2、使用模型選擇方法(如PCA) 3、正則化。保留所有的特徵,減少引數的大小
預防過擬合的方法步驟: 1、打亂資料集;2、劃分資料:70%訓練集 + 30%測試集
幫助模型選擇的方法: 交叉驗證:1、打亂資料集;2、劃分資料:60%訓練集 + 20%交叉驗證集 + 20%測試集
如何選擇模型? 1、預先訓練10個模型 2、計算10個模型的交叉訓練集的預測誤差 3、選取代價函式最小的模型 4、用步驟3選出的模型對測試集計算得出推廣誤差
診斷偏差和方差 高偏差和高方差的問題基本上是欠擬合和過擬合的問題 1、Jtraing(訓練集誤差)和Jcv(交叉驗證集誤差)都很大:偏差/欠擬合 2、Jtraing小,Jcv遠遠大於Jtraing:方差/過擬合
正則化和偏差方差 正則化因子lambda的選擇方法: 1、使用訓練集訓練12個不同程度正則化的模型 2、計算12個模型的交叉訓練集的預測誤差 3、選取代價函式最小的模型 4、用步驟3選出的模型對測試集計算得出推廣誤差
lambda較小時: Jtraing很小,而Jcv較大:方差/過擬合 隨著lambda的增大: Jtraing不斷增大(欠擬合),Jcv先減小後增大 因此,應該選擇適中的lambda,不能過大或過小
學習曲線:即訓練樣本數目m和Jtraing、Jcv的關係圖 在高偏差/欠擬合的情況下,增加訓練集樣本數不一定能夠提升模型能力,應該考慮切換模型 在高方差/過擬合的情況下,增加訓練集樣本數可以一定程度的提升模型能力
總結一下: 解決高偏差的方法: 1、獲得更多的特徵; 2、增加多項式特徵; 3、減少正則化程度lambda 解決高方差的方法: 1、獲得更多的訓練樣本; 2、減少特徵的數量; 3、增加正則化程度lambda
針對神經網路: 模型效果:大神經網路+正則化 > 小神經網路 選擇隱藏層數目時,從1層開始逐層增加,選擇交叉驗證集代價函式最小的網路。