1. 程式人生 > 其它 >4、交叉熵與softmax

4、交叉熵與softmax

1、交叉熵的來源

一條資訊的資訊量大小和它的不確定性有很大的關係,一句話如果需要很多外部資訊才能確定,我們就稱這句話的資訊量比較大。比如你聽到“雲南西雙版納下雪了”,那你需要去看天氣預報、問當地人等等查證(因為雲南西雙版納從沒下過雪)。相反,如果和你說“人一天要吃三頓飯”,那這條資訊的資訊量就很小,因為這條資訊的確定性很高。

將事件x_0的資訊量定義如下(其中p(x_0)表示事件x_0發生的概率):

是表示隨機變數不確定的度量,是對所有可能發生的事件產生的資訊量的期望。公式如下:

相對熵又稱KL散度,用於衡量對於同一個隨機變數x的兩個分佈p(x)和q(x)之間的差異。在機器學習中,p(x)常用於描述樣本的真實分佈,例如[1,0,0,0]表示樣本屬於第一類,而q(x)則常常用於表示預測的分佈,例如[0.7,0.1,0.1,0.1]。顯然使用q(x)來描述樣本不如p(x)準確,q(x)需要不斷地學習來擬合準確的分佈p(x)。 KL散度的公式如下:

KL散度的值越小表示兩個分佈越接近。

我們將KL散度的公式進行變形,得到: 前半部分就是p(x)的熵,後半部分就是我們的交叉熵: 機器學習中,我們常常使用KL散度來評估predict和label之間的差別,但是由於KL散度的前半部分是一個常量,所以我們常常將後半部分的交叉熵作為損失函式,其實二者是一樣的。 分類問題中,loss函式不使用MSE