在利用Python進行深度學習訓練的過程中,損失函式開始變小,然後一直變大,為什麼?

時間 2021-05-06 16:00:40

1樓:yuansh

你這種要考慮多種情況啊,

如果訓練集的accuracy在下降或者loss在上公升,那麼很有可能是你的模型複雜度遠遠不夠

訓練集的accuracy已經到了100,loss也不斷在下降,那麼就是過擬合了

還有一種就是訓練集已經到100,但是無論怎麼調整模型,驗證集的accuracy或者loss始終無法向好的方向發展,那麼這種情況很有可能就是資料中雜訊太大或者特徵太少

2樓:許力文 MorrisXu

很正常的過擬合現象,建議使用early stop和best performance checkpoint等一系列機制停止不必要的epoch,同時儲存在val set上效能最好的模型。

3樓:衛龍大麵筋

首先,你的loss是batch loss 還是epoch loss。其次,是training loss 還是 validation loss。最後,題主把圖貼上來,一清二楚

4樓:黃曉越

不知道你的損失值是訓練資料還是測試資料的。要是測試資料的很好解釋,就是過擬合了,要是訓練資料就不太好解釋,因為一般的模型對固定資料的擬合能力還是有的,會慢慢降低。還有種情況是你的訓練資料沒有隨機打亂,造成在前面階段的資料損失降低,後面階段是風格不一樣的,所以損失增大。

利用深度學習,如何進行時序訊號的目標檢測?

大江東去 提供乙個思路。或許可以將時序訊號切割成很多小段訊號,然後通過對這些小段訊號的分類,實現時序訊號的目標檢測。基於振動訊號的故障診斷通常就是這麼做的,通過將小段振動訊號分類到健康狀態 軸承故障等類別,實現故障診斷。例如,Deep Residual Shrinkage Networks for ...

python語言如何進行學習?

ChengZhong.Shen 可以嘗試以下路徑 入門 MITx 6.00.1x Introduction to Computer Science and Programming Using Python 如果有時間,可以學習一下cs50,學到指標就可以了,裡面的練習很有用。高階 cs61A htt...

在使用深度學習方法進行分類時,使用非線性方法對訓練資料進行預處理,是否會破壞原始特徵導致無法識別?

Ethanycx 從理論上來說,無論是線性變換還是非線性變換,其實都可以在網路訓練的過程中由某幾層網路來實現 非線性的啟用函式賦予了網路非線性的描述能力 因此只要資料的量和多元性滿足訓練的需求,並不需要對原始資料手動進行變換。但有些情況下,針對不同的任務,對原始資料進行合理的 經過驗證的非線性變換,...