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作為損失函式,不存在收斂慢的缺點。對於損失函式的收斂特性,我們期望...