神經網路中的常用損失函式以及正則化緩解過擬合

2021-10-23 13:29:24 字數 1317 閱讀 2086

1)損失函式(loss):**值(y)與已知答案(y_)的差距

神經網路優化目標:loss最小

三種常見損失函式

ce(cross entropy(交叉熵))

自定義損失函式

mse(mean squared error )

1.1)均方誤差mse:mse(y_,y)=2/n

loss_mse=tf.reduce_mean(tf.square(y-y_))

1.2)自定義損失函式:loss(y_,y)=(根據需要定義)

1.3)交叉熵損失函式ce(cross entropy):表徵兩個概率分布之間的距離h(y_,y)=-(交叉熵越大,兩個概率之間距離越遠,交叉熵越小,兩個概率之間距離越近)

tf.losses.categorical_crossentropy(y_,y)

softmax與交叉熵結合,輸出先過softmax函式,再計算y與y_的交叉熵損失函式。tf.nn.softmax_cross_entropy_with_logits(y_,y)

*欠擬合:**是模型不能有效擬合資料集,是對現有資料學習的不夠徹底

過擬合:是模型對當前資料擬合的太好了,但對從未見過的新資料,卻難以做出正確判斷,模型缺乏泛化力。

欠擬合的解決方法

1)增加輸入項特徵

2)增加網路資料

3)減少正則化引數

過擬合的解決辦法

1)資料清洗

2)增加訓練集

3)採用正則化

4)增大正則化引數

正則化緩解過擬合:

正則化是在損失函式中引入模型複雜度指標,利用給w增加權值,弱化了訓練資料的雜訊(一般不正則化b)

loss=loss(y與y_)+regularizerloss(w)

loss(y與y_)是指模型中所有引數的損失函式,如交叉熵、均方誤差

超引數regularizer給出引數w在總loss中的比例,即正則化的權重。

w是需要正則化的引數

正則化的選擇:

l1正則化大概率會使很多引數變為0,因此該方法可通過稀疏引數,即減少引數的數量,降低複雜度。

l2正則化會使引數很接近0但不為0,因此該方法可通過減少引數值的大小降低複雜度。

神經網路損失函式

2018,aug 3 顧名思義,從標題就能知道損失函式 loss function 一定就是來計算神經網路在訓練中的損失的。說完了定義那到了舉例時間了 主要拿softmax loss來分析 這裡的k也就是我們分類的類別。然後這個函式是怎麼用的呢,我們可以簡單的舉乙個分類的例子來看下。假設我們輸入一張...

神經網路 損失函式

開始之前我們先進入數字識別這樣乙個場景 以識別數字1為例,神經網路模型的輸出結果越接近 0,1,0,0,0,0,0,0,0,0 越好。神經網路解決多分類的問題,最常見的方法是設定n個輸出節點,其中n類別個數,那麼上述數字判斷就應該有n 10個輸出。那麼如何判斷乙個輸出向量和期望向量的接近程度呢?交叉...

神經網路 損失函式

先上結論 在使用sigmoid作為啟用函式的時候,cross entropy相比於quadratic cost function,具有收斂速度快,更容易獲得全域性最優的特點 使用softmax作為啟用函式,log likelihood作為損失函式,不存在收斂慢的缺點。對於損失函式的收斂特性,我們期望...