Estimation

內部與外部交叉驗證和模型選擇

  • July 12, 2013

我的理解是,通過交叉驗證和模型選擇,我們試圖解決兩件事:

P1。使用我們的樣本進行訓練時估計總體的預期損失

P2。測量並報告我們對此估計的不確定性(方差、置信區間、偏差等)

標準做法似乎是重複交叉驗證,因為這減少了我們估計器的方差。

但是,在報告和分析方面,我的理解是內部驗證優於外部驗證,因為:

最好報告:

  • 我們的估計器的統計數據,例如它的置信區間、方差、均值等。

比報告:

  • 我們的估計器在原始樣本的保留子集上的損失,因為:

(i) 這將是一個單一的測量即使我們用 CV 選擇我們的估計器

(ii) 我們對這個單一測量的估計器將在一個小於我們初始樣本的集合(例如,CV 集)上進行訓練,因為我們必須為保留集騰出空間。這導致P1中的估計更加偏頗(悲觀) 。

這個對嗎?如果不是為什麼?

背景:

很容易找到建議將樣本分成兩組的教科書:

  • CV集,隨後反複分為訓練集和驗證集。
  • 保留(測試)集,僅在最後用於報告估計器的性能

我的問題是試圖理解這種教科書方法的優點和優點,考慮到我們的目標是真正解決本文開頭的問題P1P2 。在我看來,報告保留測試集是不好的做法,因為對 CV 樣本的分析提供了更多信息。

嵌套 K 折疊與重複 K 折疊:

原則上,可以將hold-out與常規K-fold組合以獲得 嵌套的K-fold。這將使我們能夠測量估計器的可變性,但在我看來,對於相同數量的訓練模型(折疊總數),重複 K 折疊將產生比嵌套 K-更小的偏差更準確的估計器折疊。要看到這個:

  • 對於相同的 K,重複 K-fold 比嵌套 K-fold 使用我們總樣本的更大比例(即它導致較低的偏差)
  • 100 次迭代只會在嵌套 K 倍(K = 10)中對我們的估計器進行 10 次測量,但在 K 倍中進行 100 次測量(更多測量會導致P2的方差降低)

這個推理有什麼問題?

讓我為已經在這裡的好答案添加幾點:

**嵌套 K 折疊與重複 K 折疊:**嵌套和重複 k 折疊是完全不同的東西,用於不同的目的。

  • 如您所知,如果您想使用內部 cv 進行模型選擇,嵌套是很好的選擇。
  • 重複:恕我直言,您應該始終重複 k-fold cv [見下文]。

因此,我建議重複任何嵌套的 k 折交叉驗證

更好地報告“我們的估計器的統計數據,例如它的置信區間、方差、均值等。”

當然。但是,您需要注意這樣一個事實,即您將無法(容易)僅通過交叉驗證結果來估計置信區間。原因是,無論您重新採樣多少,您查看的實際案例數量是有限的(通常相當少 - 否則您不會擔心這些區別)。

參見例如Bengio, Y. 和 Grandvalet, Y.:No Unbiased Estimator of the Variance of K-Fold Cross-Validation Journal of Machine Learning Research, 2004, 5, 1089-1105

但是,在某些情況下,您仍然可以估計方差:通過重複的 k 折交叉驗證,您可以了解模型不穩定性是否確實起作用。而這種與不穩定性相關的方差實際上是可以通過重複交叉驗證來減少的方差的一部分。(如果您的模型完全穩定,則交叉驗證的每次重複/迭代對每種情況都有完全相同的預測。但是,由於數據集的實際選擇/組成,您仍然存在差異)。因此,重複 k 折交叉驗證的較低方差是有**限制的。**做越來越多的重複/迭代沒有意義,因為最終只有真實案例被測試不受影響。

最終只有這一事實造成的差異測試的真實案例可以針對某些特殊情況進行估計,例如,通過命中率、錯誤率、敏感性、特異性、預測值等比例來衡量分類器的性能:它們遵循二項式分佈 不幸的是,這意味著它們具有巨大的差異和模型的真實性能值,觀察到的,和分數分母中的樣本大小。這有最大的. 您還可以從觀察開始計算置信區間。(@Frank Harrell 會評論說這些不是正確的評分規則,所以無論如何你都不應該使用它們——這與巨大的差異有關)。然而,恕我直言,它們對於推導保守界限很有用(有更好的評分規則,這些分數的不良行為是更好規則的最壞情況限制),

參見例如C. Beleites、R. Salzer 和 V. Sergo:使用部分類成員身份驗證軟分類模型:適用於星形細胞瘤組織分級的敏感性 & Co. 的擴展概念,Chemom。英特爾。實驗室。系統,122(2013),12 - 22。

所以這讓我扭轉了你反對堅持的論點

  • 單獨(必然)重新採樣也不能很好地估計方差,
  • OTOH,如果您可以推斷交叉驗證估計的有限測試樣本大小方差,那麼也可以堅持下去。

我們對這個單一測量的估計器將在比我們的初始樣本小的集合(例如 CV 集)上進行訓練,因為我們必須為保留集騰出空間。這導致 P1 中的估計更加偏頗(悲觀)。

不一定(如果與 k-fold 相比)-但您必須權衡:小保持集(例如樣本的 => 低偏差(≈ 與 k-fold cv 相同),高方差(> k-fold cv,大約是 k 倍)。

在我看來,報告保留測試集是不好的做法,因為對 CV 樣本的分析提供了更多信息。

通常,是的。但是,請記住,有一些重要類型的錯誤(例如漂移)無法通過重採樣驗證來測量/檢測。

參見Esbensen, KH 和 Geladi, P. 正確驗證原則:使用和濫用重新採樣進行驗證,化學計量學雜誌,2010, 24, 168-187

但在我看來,對於相同數量的訓練模型(總折疊數),重複 K 折疊會產生比嵌套 K 折疊更小的偏差和更準確的估計器。要看到這個:

對於相同的 K,重複 K-fold 比嵌套 K-fold 使用我們總樣本的更大比例(即它導致較低的偏差)

我會說不:模型訓練如何使用它並不重要訓練樣本,只要代理模型和“真實”模型以相同的方式使用它們。(我將超參數的內部交叉驗證/估計視為模型設置的一部分)。

如果將經過訓練(包括超參數優化)的代理模型與在固定超參數上訓練的“the”模型進行比較,情況看起來會有所不同。但是恕我直言,這是從蘋果到 1 個橙子。

100 次迭代只會在嵌套的 K 倍(K = 10)中對我們的估計器進行 10 次測量,但在 K 倍中進行 100 次測量(更多的測量會導致 P2 的方差降低)

這是否會產生影響取決於(代理)模型的不穩定性,見上文。對於穩定的模型,它是無關緊要的。無論您是進行 1000 次還是 100 次外部重複/迭代,都可能如此。


並且這篇論文絕對屬於這個主題的閱讀清單: Cawley, GC and Talbot, NLC On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation, Journal of Machine Learning Research, 2010, 11, 2079-2107

引用自:https://stats.stackexchange.com/questions/64147

comments powered by Disqus