AI模型Dropout過擬合問題及解決方法

2022-09-09 09:51:10 字數 754 閱讀 6315

今天在訓練模型的時候,發現模型一直出現過擬合問題,所以順便再將過擬合的問題及常用的解決手段在給總結一下:

1. 什麼是過擬合問題?

過擬合問題通俗的來說就是模型的損失函式在訓練集上面下降的較好(平滑下降並且趨於平緩),而在測試集上面下降的不好,呈現一種上公升的趨勢。過擬合問題出現的原因就是模型的訓練資料過少,或者模型本身的規模過大(二者類似哈)。

2. 常用的解決過擬合的方法?

a.增大資料集的規模(由於過擬合問題根本上就是由於模型資料過少導致的,所以增大資料規模這個是解決過擬合問題最好的一種方法)

b.正則化(這種方法就是控制模型引數的規模來調節模型的,通過調節模型引數的規模來控制模型的容量,來達到抑制過擬合的辦法)

c.dropout層(這種方法解釋一下,dropout函式在網路中起到什麼作用呢?在訓練的過程中,設定好引數,隨機選取訓練神經元的數目,在測試以及**的過程中呢,所有的神經元都參與,通過這種方式來抑制過擬合)

這種方式有以下的幾點好處:(1) dropout隨機選取神經元數目的方式類似於訓練多個模型來取平均效果 (2) 隨機選擇的過程中類似於環境突變,能夠使得模型更好的訓練 (3) 隨機選擇的方式能夠消除神經元之間存在的共性關係,達到較好的訓練方式

d.縮小訓練網路的規模(這個就可以減少網路層數,控制神經元節點的個數,這個方法類似與正則化有木有)

dropout防止過擬合

l1 l2正則化是通過修改代價函式來實現的,而dropout則是通過修改神經網路本身來實現的,它是在訓練網路時用的一種技巧 trike 它的流程如下 假設我們要訓練上圖這個網路,在訓練開始時,我們隨機地 刪除 一半的隱層單元,視它們為不存在,得到如下的網路 保持輸入輸出層不變,按照bp演算法更新上圖...

dropout解決過擬合

原理就是在第一次學習的過程中,隨即忽略一些神經元和神經的鏈結。使得神經網路變得不完整。一次一次。每一次得出的結果不依賴某乙個引數。這樣就解決了過擬合問題。import tensorflow as tf from sklearn.datasets import load digits from skl...

Dropout與過擬合

假設我們要訓練這樣乙個神經網路 輸入是x輸出是y,正常的流程是 我們首先把x通過網路前向傳播,然後把誤差反向傳播以更新引數讓網路進行學習。使用dropout之後過程變成 隨機 臨時 刪掉網路中一半的隱藏神經元,輸入輸出神經元保持不變 下圖中虛線為部分臨時被刪除的神經元 把輸入x通過修改後的網路前向傳...