2015-11-20 152 views
1

所以我試圖對我的訓練集執行4倍交叉驗證。我將訓練數據分爲四個部分。我使用三個季度進行培訓,四個季度進行驗證。我再重複這三次,直到所有方面都有機會成爲驗證集,至少有一次。4折交叉驗證| Caffe

現在訓練後,我有四個caffemodels。我在我的驗證集上測試模型。每種情況下我都會得到不同的準確度。我應該如何從這裏出發?我應該選擇最高精度的模型嗎?

回答

0

也許這是一個遲到的回覆,但在任何情況下...... 簡短的回答是,如果四個模型的性能相似且足夠好,那麼您將對所有可用數據重新訓練模型,因爲你不想浪費他們中的任何一個。

n-fold交叉驗證是一種實用技術,用於在您沒有大量數據的情況下獲得關於您正在嘗試訓練的模型的學習和泛化屬性的一些見解。你可以在網上找到任何細節,但我建議開源書Introduction to Statistical Learning,第5章。

一般規則說,在你訓練你的n個模型之後,你將預測誤差(MSE,精度或其他)來獲得該數據集上該特定模型的性能(在你的情況下可能是網絡架構和學習策略)的總體思路。 主要思想是評估在訓練分割中學習的模型,檢查它們在驗證集上是否具有可接受的性能。如果他們不這樣做,那麼你的模型可能會過度配合訓練數據。如果訓練和驗證分裂的錯誤都很高,那麼應該重新考慮這些模型,因爲它們沒有預測能力。

在任何情況下,我也會考慮advice of Yoshua Bengio誰說,深度學習的目的是爲了解決這類問題,您通常擁有足夠的數據來簡單地進行訓練/測試分割。在這種情況下,this answer on Stackoverflow可能對您有用。