均方誤差和交叉熵誤差


均方誤差個交叉熵誤差都是常用的損失函數之一。

首先簡要介紹下損失函數:

損失函數是用來表示神經網絡性能的“惡劣程度”的指標。即當前神經網絡對監督數據在多大程度上不擬合,在多大

程度上不一致。說白了,即所創建的神經網絡對輸入數據的預測輸出值與監督數據(實際輸出值)的差距。

均方誤差:

 

上面是計算公式,其中yk表示神經網絡的預測輸出值,tk表示監督數據,k表示數據的維數。前面的1/2是為了求導

的時候可以消去指數下來的2。

下面是Python的簡單實現:

# 均方誤差
def mean_squared_error(y, t):
    return 0.5 * np.sum((y - t)**2)

交叉熵誤差:

 

上面是計算公式,log表示以e為底數的自然對數,yk是神經網絡預測輸出值,tk是正解標簽。並且tk中只有正確解

標簽的索引為1,其他都是0(one-hot表示)。

下面是Python的簡單實現:

# 交叉熵誤差
def cross_entropy_error(y, t):
    delta = 1e-7 # 注意此處為0.0000001 用於防止出現np.log(0)時出現的無窮小 防止出現-inf后無法繼續計算
    return -np.sum(t * np.log(y + delta))

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM