交叉熵cross entropy和相對熵(kl散度)


交叉熵可在神經網絡(機器學習)中作為損失函數,p表示真實標記的分布,q則為訓練后的模型的預測標記分布,交叉熵損失函數可以衡量真實分布p與當前訓練得到的概率分布q有多么大的差異。

相對熵(relative entropy)就是KL散度(Kullback–Leibler divergence),用於衡量兩個概率分布之間的差異。

對於兩個概率分布p(x)q(x) ,其相對熵的計算公式為:

\tt KL\it(p\parallel q)=-\int p(x)\ln q(x) dx -(-\int p(x)\ln p(x) dx)

注意:由於p(x)q(x) 在公式中的地位不是相等的,所以\tt KL \it(p\parallel q)\not\equiv \tt KL \it (q\parallel p)

相對熵的特點,是只有p(x)=q(x) 時,其值為0。若p(x)q(x) 略有差異,其值就會大於0。

相對熵公式的前半部分-\int p(x)\ln q(x)dx 就是交叉熵(cross entropy)。

p(x) 是數據的真實概率分布,q(x) 是由數據計算得到的概率分布。機器學習的目的就是希望q(x)盡可能地逼近甚至等於p(x) ,從而使得相對熵接近最小值0。由於真實的概率分布是固定的,相對熵公式的后半部分(-\int p(x)\ln p(x) dx) 就成了一個常數。相對熵的值大於等於0(https://zhuanlan.zhihu.com/p/28249050,這里給了證明),那么相對熵達到最小值的時候,也意味着交叉熵達到了最小值。對q(x) 的優化就等效於求交叉熵的最小值。另外,對交叉熵求最小值,也等效於求最大似然估計(maximum likelihood estimation)。

注意:交叉熵是衡量分布p與分布q的相似性,以前認為交叉熵的相似性越大,交叉熵的值就應該越大。但通過上面的推到可以看出,交叉熵得到兩個分布的相似性是根據相對熵來的,所以相似性越大,交叉熵的值應該越小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM