如果在訓練模型時,我們的所有損傷曲線都看起來像這樣,機器學習就會是一大麻煩:
但實際上,損失曲線可能難以理解。瞭解您的理解曲線曲線,以利回答下列問題。
1. 我的型號無法訓練模型!
你的朋友 Mel,和你繼續努力達成獨角獸外觀預測器。這是您的第一筆損失曲線。
說明問題和 Mel 的修正方式:
按一下加號圖示展開這個部分並瀏覽答案。
你的模型未轉換。請嘗試下列偵錯步驟:
- 按照模型偵錯的步驟,檢查您的功能是否能預測標籤。
- 根據資料結構定義檢查資料,偵測錯誤的範例。
- 如果訓練似乎不穩定 (如上圖所示),請降低學習率,以免模型在參數空間中彈跳。
- 將資料集簡化為可預測模型的 10 個範例。減少資料集縮減後的情況。然後繼續在完整資料集中進行模型偵錯。
- 簡化模型,並確保模型的成效超過基準值。然後逐漸增加模型的複雜度。
2. 我的損失爆炸!
Mel 會顯示另一個曲線。這裡有什麼問題?如何修正問題?
在下方填入答案。
按一下加號圖示展開這個部分並瀏覽答案。
造成損失的損失通常是由輸入資料中的異常值造成。可能的原因包括:
- 輸入資料中的 NaN。
- 因異常資料而爆炸的漸層。
- 除以零。
- 零或負數的對數。
如要修正爆炸損失,請檢查批次和工程資料中是否有異常資料。如果發生異常狀況,請調查原因。否則,如果異常狀況看起來是離群資料,那麼透過隨機播放資料,以確保離群值平均分配。
3. 我的指標互相牴觸!
Mel 希望再接再厲。問題出在哪裡?
該如何修正問題?在下方填入答案。
說明問題和 Mel 的修正方式:
按一下加號圖示展開這個部分並顯示答案。
喚回度停滯在 0,因為您的分類分類機率絕不會高於正門檻的門檻。如果發生大量類別不平衡相關問題,通常就會發生這個問題。請注意,機器學習程式庫 (例如 TF Keras) 通常會使用 0.5 的預設門檻來計算分類指標。
請嘗試下列步驟:
降低分類門檻。
檢查門檻不變指標,例如 AUC。
4. 測試損失過高。
Mel 會顯示訓練與測試資料集的損失曲線,並詢問「問題為何?」,請在下方撰寫答案。
說明問題和 Mel 的修正方式:
按一下加號圖示展開這個部分並瀏覽答案。
您的模型過度訓練訓練資料。請嘗試下列步驟:
- 減少模型容量。
- 新增正規化作業。
- 確認訓練和測試分割在統計上是否對等。
5. 我的模型卡住了
當幾天後,Mels 又傳回另一項曲線,這裡出了什麼問題?如何解決這項問題?
說明問題和 Mel 的修正方式:
按一下加號圖示展開區段,然後顯示答案。
您的損失正在顯示重複的重複步數行為。您模型可能顯示的輸入資料本身可能出現重複行為。確定重組功能正在移除輸入資料中的重複行為。
成功了!
「現在正常運作了!」Mel 放心。她會放鬆地躺在椅子上,並挑起一隻大體重。曲線看起來會很漂亮,還能陪伴你達成目標。Mel 並花點時間花點時間討論以下有關模型驗證的額外檢查作業。
實際指標
基準
迴歸問題的絕對損失
其他分類問題指標