1. 程式人生 > >交叉熵 vs KL散度

交叉熵 vs KL散度

交叉熵和KL散度

資訊熵H(X)可以看做,對X中的樣本進行編碼所需要的編碼長度的期望值。

這裡可以引申出交叉熵的理解,現在有兩個分佈,真實分佈p和非真實分佈q,我們的樣本來自真實分佈p。

按照真實分佈p來編碼樣本所需的編碼長度的期望為,這就是上面說的資訊熵H( p )

按照不真實分佈q來編碼樣本所需的編碼長度的期望為,這就是所謂的交叉熵H( p,q )

這裡引申出KL散度D(p||q) = H(p,q) - H(p) = ,也叫做相對熵,它表示兩個分佈的差異,差異越大,相對熵越大。

 

機器學習中,我們用非真實分佈q去預測真實分佈p,因為真實分佈p是固定的,D(p||q) = H(p,q) - H(p)

中 H(p) 固定,也就是說交叉熵H(p,q)越大,相對熵D(p||q)越大,兩個分佈的差異越大。

所以交叉熵用來做損失函式就是這個道理,它衡量了真實分佈和預測分佈的差異性

 https://www.cnblogs.com/liaohuiqiang/p/7673681.html

https://blog.csdn.net/colourful_sky/article/details/78534122?utm_source=blogxgwz0