談一談交叉熵損失函式

2021-08-20 04:32:02 字數 2453 閱讀 2693

關於損失函式的概念以及種類特點,可參看博主的部落格:常見的損失函式總結,談到交叉熵,就不得不提資訊熵的概念,同樣可參看博主之前的部落格:決策樹之基 —— id3 演算法,博文中提到了資訊熵的相關知識。有了上述兩篇博文作為基礎,此文不再贅述相關概念。

交叉熵的離散函式形式

交叉熵(cross entropy)是用來評估當前訓練得到的概率分布與真實分布的差異情況,減少交叉熵損失就是在提高模型的**準確率。其離散函式形式為: h(

p,q)

=−∑p

(x)l

ogq(

x)h (p

,q)=

−∑p(

x)lo

gq(x

)這裡,p(

x)p (x

)是真實分布,q(

x)q (x

)是通過資料計算的估計概率。

需要說明的是,交叉熵的值越大,這種差異程度也就越大。

在二分類模型中,由於目標的可能性有兩種,因此需要分別計算**為正例和負例概率下的交叉熵,公式為: [y

log1

y′−y

log1

1]+[

(1−y

)log

11−y

′−(1

−y)l

og11

−0] [yl

og1y

′−yl

og11

]+[(

1−y)

log1

1−y′

−(1−

y)lo

g11−

0]

=−[ylog

y′+(

1−y)

log(

1−y′

)]= −[

ylog

y′+(

1−y)

log(

1−y′

)]

其中 −y

logy

′ −ylo

gy

′是正例的交叉熵, −(

1−y)

log(

1−y′

) −(1−

y)lo

g(1−

y′

)則是負例的交叉熵,它們之和便構成了二分類模型的交叉熵損失函式。

兩種交叉熵損失函式的比較

下面來比較兩種交叉熵損失函式的異同。在機器學習中,會看到兩個不一樣的交叉熵損失函式,分別為: (1

)−tj

log(

yj),

tj說明

樣本的標

籤是第j

類。( 1)

−tjl

og(y

j),t

j說明樣

本的標籤

是第j類

。(2)

−∑ti

log(

yi)+

(1−t

i)lo

g(1−

yi) (2)

−∑ti

log(

yi)+

(1−t

i)lo

g(1−

yi

)該博文一開頭講到了交叉熵損失函式的離散形式,實質上,交叉熵是用來描述兩個分布的距離的,神經網路訓練的目的就是使g(

x)g (x

)逼近p(

x)p (x

)。

現在來看 softmax 作為最後一層的情況。g(

x)g (x

)就是最後一層的輸出 y 。p(

x)p (x

)就是我們的 one-hot 標籤。我們帶入交叉熵的定義中算一下,就會得到第乙個式子。

再來看 sigmoid 作為最後一層的情況。sigmoid 作為最後一層輸出的話,應該將最後一層的每個神經元看作乙個分布,對應的 target 屬於二項分布(target的值代表是這個類的概率),那麼第 i 個神經元交叉熵為: ti

logy

i+(1

−ti)

log(

1−yi

) til

ogyi

+(1−

ti)l

og(1

−yi)

所以,最後一層總的交叉熵損失函式就是上述所說的第二個式子。

對這兩種交叉熵損失函式的總結:這兩個交叉熵損失函式對應不同的最後一層的輸出。第乙個對應的最後一層是 softmax,第二個對應的最後一層是 sigmoid。

交叉熵的優勢

最後來講講交叉熵的優勢。在模型中有時候會使用均方差作為損失函式,但是當啟用函式為 sigmoid 時,由於其在上邊界和下邊界的斜率下降十分之快。事實上,一般 sigmoid 函式的斜率最大值也只有0.25。因此,當訓練結果接近真實值時會因為梯度運算元極小,使得模型的收斂速度變得非常慢。而由於交叉熵損失函式為對數函式,在接近上邊界的時候,其仍然可以保持在高梯度狀態,因此模型的收斂速度不會受到影響

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

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

交叉熵損失函式

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

交叉熵損失函式

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