本章目的:評估判斷算法的好壞,以及問題點,並對症下藥
1. lesson 84 評估假設
1. 目的:評估假設 判斷欠擬合、過擬合問題
2. 數據集分爲測試集、訓練集
2. lesson 85 模型選擇 訓練集、驗證集、測試集
1. 首先根據訓練集訓練出不同的模型算法(不同的多項式及次數)
2. 然後在測試集是計算出不同模型算法的J(θ),取J(θ)最小的模型算法
3. 當在第二步選擇出的模型算法之後,就無法在未知數據上驗證模型的泛化能力
4. 基於第三步原因引入了驗證數據集,訓練集(訓練模型)、驗證集(選擇模型)、測試集(驗證模型泛化能力)
3. Lesson 86 診斷偏差與方差
1. 目的:判斷算法是處於偏差還是方差問題
2. 偏差:Bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,即算法本身的擬合能力
3. 方差:Variance反映的是模型每一次輸出結果與模型輸出期望之間的誤差,即模型的穩定性。反應預測的波動情況。
4. 高偏差=》欠擬合 ,訓練集和驗證集(測試集)的誤差都很大,訓練集J(θ)≈測試集J(θ),訓練數據再多也無用
5. 高方差=》過擬合,訓練集誤差很小,驗證集(測試集)誤差很大, 訓練集J(θ)<<測試集J(θ)
4. lesson 87 正則化與偏差、方差
1. 目的:判斷正則化參數λ是否合適
2. 當λ很大時,出現高偏差,欠擬合問題
3. 當λ很小時,出現高方差,過擬合問題
5. Lesson 89 算法學習曲線
1. 目的:通過學習曲線判斷算法是否出現偏差或者方差問題
2. 高偏差=》隨着訓練樣本數的增加,訓練樣本的誤差會持續增加,最終達到平穩,也就是說訓練樣本數增加也無用,但是驗證集/測試集隨着訓練樣本數的增加,誤差會持續降低,最終也會平穩,最終訓練樣本的學習曲線和驗證樣本的學習曲線接近,和J_train值都很大。
3. 高方差=》隨着訓練樣本數增加,訓練樣本誤差會減小,J_train很小,交叉驗證誤差J_cv會一直很大,但是隨着訓練樣本數的增大而會一直降低。
6. Lesson 91 決定接下來做什麼
1. Get more training examples => fixes high variance 高方差
2. Try small sets of features => fixes high variance
3. Try getting additiona(額外特徵)l features => fixes high bias 高偏差
4. Try adding polynomia(多項式)l features => fixes high bias 高偏差
5. Try decreasing λ => fixes high bias 高偏差
6. Try increasing λ => fixes high variance 高方差
7. 通常大型的神經網絡引入正則化λ比小型神經網絡效果好,但是計算量較大