深度學習常見的損失函式及其用途

2021-10-08 17:21:51 字數 1431 閱讀 4834

損失函式可以大致分為兩類:分類損失(classification loss)和回歸損失(regression loss)

回歸函式**實數值,分類函式**標籤

回歸又分為線性回歸(**的是乙個連續值)和邏輯回歸(得到『是』或『否』)

下面介紹回歸損失函式

交叉熵損失函式ce(cross entropy)

交叉熵表示的是實際輸出(概率)與期望輸出(概率)的距離,也就是交叉熵越小,兩個概率分布就越接近,交叉熵公式:

其中p表示真實分布,q表示非真實分布

由於交叉熵涉及到計算每個類別的概率,所以交叉熵幾乎每次都和sigmoid或softmax函式一起出現,其表現形式為,輸出結果經過sigmoid(或softmax)函式獲得概率輸出,模型**的類別概率輸出與真是類別的one hot形式進行交叉熵損失函式計算

常用於解決分類問題的離散0ne-hot(獨熱編碼),同sigmoid同時使用,可以在一定程度熵減少梯度消散,交叉熵會輸出乙個更大的『損失』

在lr(logistic regression)中使用交叉熵做為其損失函式

在keras裡,使用binary_crossentropy 來計算二元交叉熵

對於多分類問題,使用categorical_crossentropy和sparse_categorical_crossentropy 計算softmax交叉熵

均方誤差損失函式(mean squared loss)

表示**值與真實值的差值的平方和求平均

公式:l(y_i,y ̅_i )=〖1/n ∑_(i=1)^n▒( y_i-y ̅_i)〗^2

常用於解決回歸問題中的連續變數,即線性回歸問題

指數誤差(exponential loss)

公式:常用於bossting演算法中,如adaboost

損失函式正則化方法

為防止模型過擬合,提供模型的泛化能力,通常會在損失函式的後面新增乙個正則化項,l1和l2正則化可以看做是損失函式的懲罰項,所謂【懲罰】是指對損失函式中的某些引數做一些限制

加入正則化後的損失函式變為

loss=①loss(y與y_)+②regularizer*loss(③w)

① 模型中所有引數的損失函式如:交叉熵、均方誤差

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

③需正則化的引數(一般不正則化b)

l1正則

l2正則

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

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

深度學習損失函式

在利用深度學習模型解決有監督問題時,比如分類 回歸 去噪等,我們一般的思路如下 在第2步中,我們通常會見到多種損失函式的定義方法,常見的有均方誤差 error of mean square 最大似然誤差 maximum likelihood estimate 最大後驗概率 maximum poste...

深度學習 損失函式

深度學習中損失函式是整個網路模型的 指揮棒 通過對 樣本和真實樣本標記產生的誤差反向傳播指導網路引數學習。分類任務的損失函式 假設某分類任務共有n個訓練樣本,針對網路最後分層第 i 個樣本的輸入特徵為 xixi 其對應的標記為yiyi是最終的分類結果 c個分類結果中的乙個 h h1,h2,hch1,...

深度學習常用損失函式

損失函式的作用是衡量實際輸出與預計輸出之間的差異,損失函式的設計是深度學習中十分重要的部分,不僅會影響到訓練的速度,還會影響隱含層中資料的分布情況。目前僅僅是總結了部分常用損失函式的計算方法,其中涉及很多統計學最優化知識,對此僅僅是淺嘗輒止,其中更多的原理還需要以後慢慢總結體會,以下僅簡要記錄其計算...