常見損失函式 損失函式選擇方法

2021-09-27 09:28:49 字數 1085 閱讀 9955

神經網路的學習通過某個指標表示現在的狀態,然後以這個指標為基準,尋找最優權重引數,這個指標就是損失函式(loss function)。

如上介紹,神經網路損失函式(loss function)也叫目標函式(objective function)的作用:衡量神經網路的輸出與預期值之間的距離,以便控制、調節引數。這個損失函式可以使用任意函式,但一般使用均方誤差交叉熵誤差

後續公式中需要使用到的定義:

def

cross_entropy_error

(y, t)

: delta =1e-

7return

-np.

sum(t * np.log(y + delta)

)

上面實現**,加上了乙個微小的delta,是因為當出現np.log(0)時,np.log(0)會變為負無窮大,新增乙個微小值可以防止負無窮大的發生。

使用「均方誤差」中的y、t作為引數,呼叫cross_entropy_error(np.array(y), np.array(t)),獲得結果 0.510825457099338。

為了提高訓練效率一般都會在每次迭代中使用小批量進行訓練,因此計算損失函式時必須將所有的訓練資料作為物件。即,如果訓練資料有100個,我們就需要將這100個損失函式的總和作為學習的指標

計算公式為:e=−

1n∑n

∑ktn

klog⁡y

nk

e=-\frac \sum_ \sum_ t_ \log y_

e=−n1​

∑n​∑

k​tn

k​logynk

​,也就是把每乙個輸出loss進行加總求和。

python深度學習-u3.1:神經網路入門-理論已經介紹了常見問題中損失函式的選擇方法,現摘錄如下:

損失函式 損失函式 Hinge

本文討論hinge損失函式,該函式是機器學習中常用的損失函式之一。在機器學習中,hinge loss是一種損失函式,它通常用於 maximum margin 的分類任務中,如支援向量機。數學表示式為 其中 表示 輸出,通常都是軟結果 就是說輸出不是0,1這種,可能是0.87。表示正確的類別。其函式影...

損失函式的選擇

github部落格傳送門 csdn部落格傳送門 損失函式的迭取取決於輸入標籤資料的型別 如果輸入的是實數,無界的值,損失函式使用平方差 如果輸入的標籤是位向量 分類標誌 使用交叉熵會更合適 均值平方差 mean squared error,mse 也稱均方誤差 神經網路中 表達 值與真實值之間的差異...

常見的損失函式

通常機器學習每乙個演算法中都會有乙個目標函式,演算法的求解過程是通過對這個目標函式優化的過程。在分類或者回歸問題中,通常使用損失函式 代價函式 作為其目標函式。損失函式用來評價模型的 值和真實值不一樣的程度,損失函式越好,通常模型的效能越好。不同的演算法使用的損失函式不一樣。損失函式分為經驗風險損失...