2、實踐方法論(Datawhale X 李宏毅蘋果書 AI 夏令營)

迭起兴衰發表於2024-09-03

2、實踐方法論(Datawhale X 李宏毅蘋果書 AI 夏令營)

在應用機器學習演算法時,實踐方法論能夠幫助我們更好地訓練模型。如果在 Kaggle 上的結果不太好,雖然 Kaggle 上呈現的是測試資料的結果,但要先檢查訓練資料的損失。

2.1 模型偏差

有時候把模型設定的太過簡單,使得函式的集合太小了,沒有包含任何一個函式,可以讓損失變低的函式不在模型可以描述的範圍內。可以重新設計一個模型,給模型更大的靈活性。

2.2最佳化問題

一般只會用到梯度下降進行最佳化,這種最佳化的方法很多的問題。比如可能會卡在區域性最小值的地方,無法找到一個真的可以讓損失很低的引數。1.可以透過比較不同的模型來判斷模型現在到底夠不夠大。2.看到一個從來沒有做過的問題,可以先跑一些比較小的、比較淺的網路,或甚至用一些非深度學習的方法。接著用深的模型,如果深的模型跟淺的模型比起來,深的模型明明靈活性比較大,但損失卻沒有辦法比淺的模型壓得更低代表說最佳化有問題,梯度下降不給力。如果訓練資料上面的損失小,測試資料上的損失大,可能是真的過擬合。在測試上的結果不好,不一定是過擬合。要把訓練資料損失記下來,先確定最佳化沒有問題,模型夠大了。接下來才看看是不是測試的問題,如果是訓練損失小,測試損失大,這個有可能是過擬合。

2.3過擬合

解決辦法:1、增加訓練集。2、給模型增加一些限制,但不要給出太多的限制。模型的複雜程度,或這樣讓模型的靈活性越來越大。但複雜的程度和靈活性都沒有給明確的定義。比較複雜的模型包含的函式比較多,引數比較多。所以透過測試得到中庸的模型,使得訓練集的損失度最低。

2.4交叉驗證

比較合理選擇模型的方法是把訓練的資料分成兩半,一部分稱為訓練集(training set),一部分是驗證集(validation set)。最好的做法,就是用驗證損失,最小的直接挑就好了,不要管公開測試集的結果。在實現上,不太可能這麼做,因為公開資料集的結果對模型的選擇,可能還是會有些影響的。理想上就用驗證集挑就好,有過比較好的基線(baseline)演算法以後,就不要再去動它了,就可以避免在測試集上面過擬合。

2.5不匹配

不匹配與過擬合不同,過你和可以透過蒐集更多的資料來克服,但是不匹配值得是訓練集和測試集的分佈不同,訓練集再增加已經沒有幫助。

相關文章