iT邦幫忙

DAY 10
0

除了幫助我們在兩種不同的ML模型之間進行選擇之外,我應該使用線性回歸還是神經網絡?
您還可以使用驗證數據集來幫助微調單個模型的超參數,超參數是在訓練之前設置的。
此調整過程通過連續的訓練運行完成,然後將這些訓練運行與該獨立驗證數據集進行比較,以檢查過度擬合。

以下是在訓練期間實際使用驗證集的方法。
正如您在優化過程中所看到的那樣,培訓模型是我們開始計算隨機權重,計算該導數,查看梯度下降損失曲線下方向,最小化損失度量,然後重複的地方。
並且您需要定期評估模型的性能,而不是在培訓中尚未見到的數據,這是我們使用驗證數據集的地方。

完成訓練運行後,根據驗證數據集驗證模型的結果,看看這些超參數是否有用,或者是否可以稍微調整一下。
如果訓練運行中的損失度量與驗證數據集運行的損失度量之間沒有顯著差異,那麼我們可能會回過頭來再優化我們的超參數。現在,一旦我們的模型中的損失度量已經充分優化並通過驗證數據集,請記住當您開始看到這種分歧並確認模型沒有過度擬合時,就知道我們需要停下來說,我們的模型已經過調整,可以投入生產。

可以使用類似於此的循環來計算各個模型的模型參數,例如我們在訓練之前設置的超參數。
例如,如果網絡的層數或您應該使用的節點數量。基本上,您將使用神經網絡中的六個節點之類的一個配置進行訓練,然後針對另一個進行訓練,然後評估哪個在驗證數據集上表現更好。
而且您最終將選擇一個模型配置,從而降低驗證數據集的損失,而不是導致培訓損失較低的模型配置。

後期將展示Cloud ML Engine如何通過超參數空間進行貝葉斯短搜索,因此不必一次進行一次超參數的這種實驗。
現在,Cloud Machine Learning引擎可以幫助我們使用不同的優化策略以並行方式進行此類實驗。
一旦你完成了訓練,你需要告訴你的模特做得如何。您將使用哪個數據集進行最終評估或不評估評估?
您是否可以簡單地報告驗證數據集中的丟失或錯誤,即使它與您的訓練數據集一致?其實你做不到。
為什麼不?好吧,因為您使用驗證數據集來選擇何時停止培訓。它不再是獨立的。該模型已經看到了。

那麼,你有什麼要做的?那麼,你實際上必須將你的數據分成三個部分,培訓,驗證和一個全新的完全孤立的測試或測試。一旦您的模型經過訓練和驗證,您就可以編寫一次,並且只能對獨立測試數據集編寫一次。
這是您可以向老闆報告的損失指標。然後是測試數據集中的損失度量標準,決定是否要在生產中使用此模型。那
麼即使您通過了驗證,如果您的測試數據集失敗了會發生什麼?意味著您無法重新測試相同的ML模型,並且您必須重新培訓全新的機器學習模型,或者返回繪圖板並收集更多數據樣本以為您的ML模型提供新數據。


上一篇
[Day 9] overfitting
下一篇
[Day 11] Samples in BigQuery
系列文
Machine Learning Study 30天學習筆記14

尚未有邦友留言

立即登入留言