LSTM訓練集和驗證集的loss曲線為什麼會是這樣?

時間 2021-05-31 11:53:23

1樓:醉笑陪公看落花

前面回答已經很好了,再補充一點. 題主提出這樣的問題說明對機器學習的一些基本知識還沒有乙個系統的學習. 但與此同時能訓練出乙個不錯的LSTM網路,說明題主的應用實踐能力很強.

那我們可以從應用上手,改變訓練集大小、改變模型複雜度,然後再看loss曲線的變化,這樣更有助於理解val loss 反應的是模型的泛化能力,也能理解為什麼val loss 和 train loss收斂後(也就是曲線平行後)不匯聚在一點(曲線重合).

2樓:Yannan

首先擬合這個詞用的就不是很對,容易產生混淆

不管你是訓練還是測試, 你展示的LOSS或者ACCURACY曲線只是實際上每個epoch所記錄下來的結果, 不存在用網路來擬合performance曲線的說法。

正常的訓練模型都會存在訓練和測試準確率/loss上的差。 題主的這個曲線在我看來就是訓練的很好的模型得到的曲線。現實操作中除非你的資料集太簡單,不然是很難實現train和validation/test的準確率一模一樣的情況。

通常也會通過觀察曲線來判斷模型的收斂成都和過程,比如

train/test曲線還沒有變平穩時一般說明你需要更多的epoch

平穩後的曲線如果train 準確率高於 test太多一般代表著過擬合(overfitting)

平穩後的曲線如果test 準確率高於 train太多一般代表著欠擬合(under fitting)

像題主的這張曲線圖來看, 完全在正常的tolerance之內,至少模型很好的收斂了。

3樓:Nozhihu

可以看看學習曲線。

從圖看你的基本沒問題,屬於典型的學習曲線變化。

如果你想擬合到一點,可以增加訓練次數,深度學習,叫增加epoch

4樓:懂王就是懂

兩條曲線已經趨於平滑,說明已經到達當前的瓶頸了,至於trainloss,valloss差距也不算很大。

按理train loss和val loss擬合至同一點嗎?

這個是按的什麼理,推薦看下看吳恩達的一本書,裡面有學習曲線的詳細解讀,書名machine learning yearing。

為什麼測試集的loss大於訓練集的loss,這是正常的嗎?

愛吃牛油果的璐璐 可以試試調整學習率和batchsize,劃分資料集的時候如果不是時序資料,可以試試shuffle之後劃分訓練集和測試集,以及留出法看下loss有沒有變化。 胡衛雄 一般來說,模型訓練完成,測試集的誤差是應該略大於訓練集的誤差的,但也不排除一些偶爾的情況,神經網路本身的一些東西還是挺...

驗證模型效能時,只要「驗證集效能」低於「訓練集效能」,就應認為模型搭建的失敗嗎?

一然 不能認為失敗。這事說起來還有點麻煩 如果訓練集表現已經很差,驗證的時候表現更差,那確實是失敗,整體失敗,可能需要換模型了。如果訓練的時候表現的很好,驗證的時候摔了0.1 不足以說明任何事,因為具體的情況很複雜。如果使用準確率來評估的話,那麼對於某些問題是不公平的,有時候準確率不算太高,有的時候...

分類演算法中,訓練集和驗證集有什麼區別?

武宗海山 一般來說,訓練集佔據了資料集的majority 例如百分之80 訓練集用於確定模型的basic引數。而驗證集 假設佔據10 則是在訓練模型的過程中不斷調整basic引數,也就是常說的 調參 當模型的引數最終確定後,停止訓練,採用測試集 10 來評估模型的泛化效能。 和煦 for each ...