機器學習筆記

2021-10-08 02:39:34 字數 1107 閱讀 7359

模型結構過於簡單(不夠深)容易出現擬合緩慢、擬合率低的問題

如果是分類,應該用交叉熵損失函式,如果是做回歸,用mse/mae損失函式

sigmoid、relu、tanh

adam、sgg,注意學習率不應太大

在深層網路或迴圈神經網路中,誤差梯度可在更新中累積,變成非常大的梯度,然後導致網路權重的大幅更新,並因此使網路變得不穩定。在極端情況下,權重的值變得非常大,以至於溢位,導致 nan 值。表現形式包括:

在非常深且批尺寸較大的多層感知機網路和輸入序列較長的 lstm 中,仍然有可能出現梯度**。如果梯度**仍然出現,你可以在訓練過程中檢查和限制梯度的大小。這就是梯度截斷。

具體來說,檢查誤差梯度的值是否超過閾值,如果超過,則截斷梯度,將梯度設定為閾值。

在 keras 深度學習庫中,你可以在訓練之前設定優化器上的 clipnorm 或 clipvalue 引數,來使用梯度截斷。

預設值為 clipnorm=1.0 、clipvalue=0.5。詳見:

如果梯度**仍然存在,可以嘗試另一種方法,即檢查網路權重的大小,並懲罰產生較大權重值的損失函式。該過程被稱為權重正則化,通常使用的是 l1 懲罰項(權重絕對值)或 l2 懲罰項(權重平方)。

在 keras 深度學習庫中,你可以通過在層上設定 kernel_regularizer 引數和使用 l1 或 l2 正則化項進行權重正則化。

在訓練過程**現loss突變和波動很大的情況,可能是學習率過高的原因,通過調低學習率可以改善,但是有時學習率太低會使得擬合變慢,且最後還會波動。

這時可以設定decay引數,使得學習率隨每次更新進行衰減,其衰減公式如下:

機器學習學習筆記

2.機器學習書籍 機器學習tom,這個是老經典,就是翻譯欠佳 prml,這個書正版的超貴,但是比較新且系統,可以通過其他途徑搞個副本。3.自己動手編碼實現2 3種經典演算法,比如svm,lr,bpnn等。4.了解spark上目前支援的機器學習方法的用途和用法,這個在日常工作中會用到。知道的多一點,方...

機器學習 學習筆記

關於梯度下降演算法的優化與 會有三種方法優化梯度下降演算法 1.共軛梯度下降法 conjugate 2.變尺度法 bfgs 3.限制變尺度法 l bfgs 這些方法的好處是 1.不用選擇學習速率 2.收斂的速度快,執行效率高 但是她們的缺點在於 實現她們的方法太複雜,所以我們就可以使用語言的內建庫函...

機器學習 學習筆記

監督學習 我們的學習演算法使用的資料是給出正確答案的資料,然後我們執行學習演算法,出更多的正確答案。理解為像深度需學習類似,利用訓練樣本訓練處學習模型,然後用測試樣本對學習到的模型進行檢測,輸出 結果。無監督學習 可以理解為對於學習演算法所使用的資料集並沒有給出正確答案,學習演算法就是要對這資料集進...