一. 模型泛化能力
-
模型泛化能力 指模型對於未知數據的預測能力, 是模型最重要的性質,泛化誤差越小,模型預測效果越好;
-
利用最小化訓練誤差來訓練模型,但是真正關心的是測試誤差。因此通過測試誤差來評估模型的泛化能力。
-
訓練誤差是模型在訓練集的平均損失,其大小雖然有意義,但是本質上不重要。
-
測試誤差是模型在測試集上的平均損失,反應了模型對未知測試數據集的預測能力。
-
二. 過擬合、欠擬合
- 過擬合:選擇的模型包含的參數過多,以至於該模型對於已知數據預測得很好,但是對於未知數據預測的很差,使得訓練誤差和測試誤差之間的差距太大。
- 過擬合原因:將訓練樣本本身的一些特點當作了所有潛在樣本都具有的一般性質,這會造成泛化能力下降。
- 過擬合無法避免,只能緩解。
- 欠擬合:選擇的模型包含的參數太少,以至於該模型對已知數據都預測的很差,使得訓練誤差較大。
- 欠擬合的原因一般是學習能力低下造成的。
三. 過擬合緩解方法
-
緩解過擬合的策略:
- 正則化:過擬合的原因是模型的容量過大,而正則化可以對模型施加某些限制,從而降低模型的有效容量。
- 數據集增強:通過人工規則產生虛假數據來創造更多的訓練數據。
- 噪聲注入:包括輸入噪聲注入、輸出噪聲注入、權重噪聲注入。將噪聲分別注入到輸入/輸出/權重參數中。
- 早停:當驗證集上的誤差沒有進一步改善時,算法提前終止。
-
正則化 :基於結構化風險最小化(
SRM
)策略的實現,其中J(f) 為正則化項。在不同的問題中,正則化項可以有不同的形式:
- 回歸問題中,損失函數是平方損失,正則化項是參數向量的 范數。
- 貝葉斯估計中,正則化項對應於模型的先驗概率 。
四. 欠擬合緩解方法
- 選擇模型容量更大的模型。
五. 模型泛化能力的評估方法
1. 留出法:
1)對數據進行隨機划分為3部分,分別作為訓練集、測試集和驗證集,為了保證訓練集、測試集與驗證集樣本的相似性,通常采用分層抽樣的方法對數據進行划分。
2)用留出法進行模型評估一般取多次評估結果的均值作為最終的模型評估的結果。
**2. k折交叉驗證 **
1)數據隨機划分為K
個互不相交且大小相同的子集,利用 K-1
個子集數據訓練模型,利用余下的一個子集測試模型。
2)對 K
種組合依次重復進行,獲取測試誤差的均值,將這個均值作為泛化誤差的估計。
3)與留出法相似,將數據集划分為 K
個子集同樣存在多種划分方式。為了減少因為樣本划分不同而引入的差別, K
折交叉驗證通常需要隨機使用不同划分重復p
次,這 p
次 K
折交叉驗證的測試誤差均值作為最終的泛化誤差的估計。
3. 留一法
1)留一法:假設數據集中存在 N
個樣本,令 k=N-1
則得到了 K
折交叉驗證的一個特例。
2)優點:由於訓練集與初始數據集相比僅僅少一個樣本,因此留一法的訓練數據最多。
缺點:在數據集比較大時,訓練 N
個模型的計算量太大,所以留一法一般適合小樣本模型評估。
六. 訓練集、驗證集、測試集說明
1. 訓練集
1)訓練集是用來訓練模型的,一般來說,訓練集越大,訓練出來的模型泛化能力越強。
2. 驗證集
1)驗證集用來更新模型的超參數。
2)通常要求驗證集足夠大。如果驗證集很小,那么模型的超參數可能就記住了一個小驗證集里的樣本,模型將對驗證集嚴重過擬合。
3. 測試集
1)驗證集通常會低估泛化誤差。因此當超參數優化完成后,需要通過測試集來估計泛化誤差。
2)測試集用於評估模型的泛化誤差。理論上測試集越大,則模型的泛化誤差評估的越准確。
3)測試集中的樣本一定不能是訓練樣本。如果將訓練樣本放入測試集中,則會低估泛化誤差。
4)測試集 vs 驗證集:
-
測試集通常用於對模型的預測能力進行評估,它提供了模型預測能力的無偏估計。
如果你不需要對模型預測能力的無偏估計,則不需要測試集。
-
驗證集用於超參數的選擇,它無法提供模型預測能力的有偏估計。
因為模型依賴於超參數,而超參數依賴於驗證集。因此驗證集參與了模型的構建,這意味着模型已經考慮了驗證集的信息。
七. 分類問題性能度量方法
1. 准確率、錯誤率
1)測試集上的准確率:
PR = 預測正確的樣本數量 / 測試集上總樣本量
2)測試集上的錯誤率:
PE = 預測錯誤的樣本數量 / 測試集上的總樣本量
2. 查准率、查全率
分類結果的混淆矩陣如下:
預測:正類 | 預測:反類 | |
---|---|---|
真實:正類 | TP | FN |
真實:反類 | FP | TN |
查准率 = TP / (TP + FP)
查全率 = TP / (TP + FN)
3. P-R曲線
P-R曲線 以召回率Recall為橫軸, 准確率Precision為縱軸繪制的圖形。
4. F1值
F1 = 2PR / (P + R)