損失函式 交叉熵

2021-09-27 19:19:20 字數 1309 閱讀 9412

給定兩個概率分布p和q,通過q來表示p的交叉熵為:

h (p

,q)=

−∑xp

(x)l

ogq(

x)

\large h(p,q)=-\sum_p(x)logq(x)

h(p,q)

=−∑x

​p(x

)log

q(x)

交叉熵刻畫的是兩個概率分布之間的距離,或可以說它刻畫的是通過概率分布q來表達概率分布p的困難程度,p代表正確答案,q代表的是**值,交叉熵越小,兩個概率的分布約接近。

在神經網路中通常使用 softmax 回歸把前向傳播得到的結果變成概率分布,所以交叉熵經常和 softmax 一起使用。

且在邏輯回歸中,平方損失函式為非凸函式,交叉熵損失函式為凸函式。(只有當損失函式為凸函式時,梯度下降演算法才能保證達到全域性最優解)

import numpy as np

defcross_entropy

(p, q)

:return

-np.

sum(p * np.log(q)

)if __name__ ==

'__main__'

:print

(cross_entropy([1

,0,0

],[0.5

,0.4

,0.1])

)print

(cross_entropy([1

,0,0

],[0.8

,0.1

,0.1])

)print

(cross_entropy([1

,0,0

],[0.9

,0.05

,0.05])

)print

(cross_entropy([1

,0,0

],[0.99

,0.005

,0.005])

)print

(cross_entropy([1

,0,0

],[0.99999

,0.000005

,0.000005])

)# 0.3010299956639812

# 0.09691001300805639

# 0.045757490560675115

# 0.004364805402450088

# 4.342966533881614e-06

注:正確概率 p 一般是 one-hot 向量,而**概率 q 經過 softmax 之後沒有零值,因為 log0 無意義。

交叉熵損失函式 交叉熵損失函式和均方差損失函式引出

交叉熵 均方差損失函式,加正則項的損失函式,線性回歸 嶺回歸 lasso回歸等回歸問題,邏輯回歸,感知機等分類問題 經驗風險 結構風險,極大似然估計 拉普拉斯平滑估計 最大後驗概率估計 貝葉斯估計,貝葉斯公式,頻率學派 貝葉斯學派,概率 統計 記錄被這些各種概念困擾的我,今天終於理出了一些頭緒。概率...

交叉熵損失函式

公式 分類問題中,我們通常使用 交叉熵來做損失函式,在網路的後面 接上一層softmax 將數值 score 轉換成概率。如果是二分類問題,我們通常使用sigmod函式 2.為什麼使用交叉熵損失函式?如果分類問題使用 mse 均方誤差 的方式,在輸出概率接近0 或者 接近1的時候,偏導數非常的小,學...

交叉熵損失函式

監督學習的兩大種類是分類問題和回歸問題。交叉熵損失函式主要應用於分類問題。先上實現 這個函式的功能就是計算labels和logits之間的交叉熵。tf.nn.softmax cross entropy with logits logits y,labels y 首先乙個問題,什麼是交叉熵?交叉熵 c...