[英]Fitting the training error of a neural network
我正在嘗試根據訓練迭代次數來曲線擬合神經網絡的訓練誤差。 下圖以紅色顯示了一個示例。 在這里,我已經進行了3000次迭代訓練。 我感興趣的是,是否可以找到適合前1000個(或大約)迭代的函數,以合理的精度外推至3000個迭代。
但是,我不知道哪種功能形式最適合我使用。 最初,我嘗試了形式為f(x)= A + B exp(-C x)的指數,以藍色顯示。 顯然,這不太好用。 指數消失得太快,然后基本上變成常數項。
也許這很困難,因為訓練的開始顯示出錯誤的急劇下降,但隨后針對更高的迭代過渡到更漸進的東西。 但是也許有神經網絡訓練經驗和/或具有安裝未知函數經驗的人可能會有一些想法。 我一直在嘗試各種指數形式和scipy / numpy中的多項式擬合,但是沒有成功。 我還改變了擬合中使用的迭代次數(包括丟棄小的迭代次數)。
有什么想法嗎?
我認為指數擬合可能有效。 在你的f(x)=A+B*exp(-C*x)
,我選擇A = 0.005
, B = 0.045
和C = 1/250
,我會得到,
這只是關於參數調整。 但是,我試圖理解您想要適應學習曲線的動機。 我認為插值方法包括“ extrapolation”選項,您可以使用該選項在更多時期后預測錯誤。 如果您想精確地學習曲線,則可以使用另一個具有線性隱藏層的神經網絡,然后再次輸出以“學習”曲線,盡管我沒有嘗試過它是否有效。
簽出此頁面: http : //www.astroml.org/sklearn_tutorial/practical.html
它描述的對您的情況有用的事情是診斷您的算法在數據集上看起來是高偏差還是高方差,並為每種情況提供具體的指導。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.