iT邦幫忙

0

類神經網路模型選擇

  • 分享至 

  • xImage

最近剛接觸類神經網路,自己對於有些細節還是不太清楚該如何去做
例如假設我有150筆資料用8:2的比例去將這個資料集使用亂數種子1隨機切成一組訓練集和測試集,然後用這組訓練集去調整模型的層數跟每層對應的神經元個數,調整層數的範圍固定是第一層可以有1~4個神經元,第二層0~4個神經元,這樣會總共有4*5=20種組合,接著resampling這組訓練集多次,每次都會有訓練集和驗證集,然後會得到這一次的RMSE,多次之後取平均就是這一個神經元組合的最終RMSE,所以我最後會有20個最終RMSE,取最終RMSE最小的那個組合即為基於亂數種子1所切出來的訓練集中最好的神經網路模型,最後這個最好的模型再對自己的測試集做預測得到可以評估模型表現的RMSE
但問題來了,假設我又使用了亂數種子2、3、4、5、...去隨機切成各自的訓練集和測試集,然後跟上面步驟一樣創建了基於這些亂數種子最好的模型,這些模型想當然架構(層數或神經元個數)會不同,就算剛好架構相同,權重也會不同,所以這些都是不一樣的最佳神經網路模型,接著這些神經網路模型都會對各自的測試集進行預測得到可以評估模型表現的RMSE,那我該怎麼從這些模型來選擇其中一個做為這150筆資料的最終模型?
假設亂數種子1最後評估模型表現的RMSE是0.124、亂數種子2是0.089、亂數種子3是0.054,這樣亂數種子3的模型是不是我這筆資料集的最佳選擇,會有這樣的疑問是因為這0.01也是基於他自己的訓練集所計算出來的,不太確定能不能跟其他網路模型直接比? 選擇0.01的理由可能是因為這RMSE能反應出亂數種子3的訓練集剛好讓他學到了其他模型的訓練集所不能給其他模型學到的特徵?
另外想請問同一筆資料集因為切割方式不同所建出來的最佳模型,有些算出來的RMSE可能就是會差異這麼大對吧?
有方法可以知道對某資料8:2切分跟7:3切分哪個會比較好嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
I code so I am
iT邦高手 1 級 ‧ 2022-04-24 07:38:57
最佳解答

個人想法如下:

  1. 模型效能通常是使用交叉驗證法來衡量,可使用 GridSearchCVKerasTunerRay Tune 等工具來評估最佳參數、最佳模型。

  2. 亂數種子通常是要固定隨機亂數的輸出,正式的實驗不應使用。

  3. 以150筆資料訓練多層的神經網路,模型不會太穩定,因為要估計的權重個數幾乎大於或等於筆數。

  4. 資料切割比例不是模型效能評估的考慮重點。

Jacky115 iT邦新手 4 級 ‧ 2022-04-26 10:19:09 檢舉

想請問第2點的不應使用亂數種子,因為在做cv時,還是會需要先將資料集用亂數種子切分成訓練集和測試集,再對訓練集做cv

可使用 train_test_split,random_state參數不要設定。

我要發表回答

立即登入回答