StatQuest 筆記分享: 人工神經網路6 — Cross Entropy

接續著上一篇StatQuest 筆記分享: 人工神經網路5 — ArgMax and SoftMax,Josh提到由於使用SoftMax的輸出值是類似機率值的概念,因此並不適合使用SSR,而是使用交叉熵 (Cross Entropy)來評估模型的表現。

首先,Josh使用簡單的資料集當作訓練資料。

Image credit: StatQuest

第一個資料點(P,S) = (0.04,0.42),輸入模型後並套用SoftMax的公式,分別得到0.57/ 0.2/ 0.23。

Image credit: StatQuest
Image credit: StatQuest

Setosa 的Cross Entropy為 -log(使用SoftMax得到的預測機率),此為人工神經網路簡化後的Cross Entropy。

Image credit: StatQuest

以下為完整的Cross Entropy公式:

Image credit: StatQuest

由於第一筆資料觀察值為Setosa,Observed_Versicolor 和Observed_Virginica皆會等於0, 因此只會留下第一列算式-Observed_Setosa * log(Predicted_Setosa)。

將三個資料點都帶入模型分別算出Cross Entropy,並得到Cross Entropy總合為1.75,此數值也可以被看成總誤差或成本(cost function)值。

Image credit: StatQuest

那為什麼不用藉由SoftMax得到的預測機率算出SSR呢?

Image credit: StatQuest

由於SoftMax得到的預測機率介於0到1,使用Cross Entropy(下圖藍色曲線)時,能有效地使預測錯誤(尤其是在錯很多的時候)的成本拉高,相比於使用SSR(下圖橘色直線),斜率高出許多,因此在做反向傳播法時會表現較好。而在下一章,我們將會討論到如何對Cross Entropy偏微分以進行反向傳播法(Backpropagation)。

Image credit: StatQuest

Thank you and enjoy it :)

--

--