老遇到交叉熵作為損失函數(shù)的情況,于是總結(jié)一下
KL散度
交叉熵從KL散度(相對熵)中引出,KL散度(Kullback-Leibler Divergence)公式為:
1.png
KL散度是衡量兩個分布之間的差異大小的,KL散度大于等于0,并且越接近0說明p與q這兩個分布越像,當(dāng)且僅當(dāng)p與q相等時KL散度取0.
交叉熵
在機(jī)器學(xué)習(xí)的分類問題中,常以交叉熵作為損失函數(shù),此時同樣可以衡量兩個分布的差異.
在分類問題中,某一個樣本x可能是K種類別中的一種,y(x)代表樣本x對應(yīng)類別的分布,y^~(x)代表x屬于各個類別的預(yù)測值的分布,這句話描述的是關(guān)于類別的分布,而不是樣本的分布,不要弄混.
訓(xùn)練時,針對某一個標(biāo)簽信息y(x)是已知的,所以講KL(y(x)||y^~(x))中的H(y(x))是個常數(shù),此時KL散度等價于交叉熵,所以交叉熵可以衡量p(x)與q(x)的差異,我們希望q(x)盡可能地接近p(x),等價于最小化交叉熵
對于某一個樣本x,其交叉熵為:
2.png
對于一個數(shù)據(jù)集x,其交叉熵為:
3.png
總結(jié)
因為訓(xùn)練集中每個樣本的標(biāo)簽是已知的,此時標(biāo)簽和預(yù)測的標(biāo)簽之間的KL散度等價于交叉熵.
要認(rèn)識到,標(biāo)簽可以看成分布,舉例來說,某個分類任務(wù)共有4類,其中一個樣本的真實標(biāo)簽分布為(0,0,1,0),預(yù)測的標(biāo)簽分布為(0.2,0.1,0.5,0.2),使用交叉熵的目的便是使預(yù)測的標(biāo)簽分布盡可能接近(0,0,1,0)