交叉熵和對數損失函數之間的關系


交叉熵

熵/信息熵

假設一個發送者想傳輸一個隨機變量的值給接收者。這個過程中,他們傳輸的平均信息量為:

\large H[x]=-\sum_xp(x){log}_{2}p(x)

\large H[x]叫隨機變量\large x的熵,其中\large lim_{p\rightarrow 0}p{log}_2p=0

把熵擴展到連續變量\large x的概率分布\large p(x),則熵變為

\large H[x]=-\int p(x)lnp(x)dx

被稱為微分熵。

在離散分布下,最大熵對應於變量的所有可能狀態的均勻分布。

最大化微分熵的分布是高斯分布

\large p(x)=\frac{1}{(2\pi\sigma ^2)^{1/2}}exp\{-\frac{(x-u)^2}{2\sigma ^2}\}

相對熵/KL散度

考慮某個未知分布\large p(x),假設我們使用一個近似分布\large q(x)對其進行建模。如果我們使用\large q(x)來建立一個編碼體系,用來把\large x傳遞給接收者,由於我們使用了\large q(x)而不是真實分布\large p(x),因此在具體化\large x時,我們需要一些附加信息。我們需要的附加信息量為:

\large KL(p||q)=-\int p(x)lnq(x)dx-(-\int p(x)lnp(x)dx)

                    \large =-\int p(x)ln\{\frac{q(x)}{p(x)}\}dx

這被稱為分布\large p(x)與分布\large q(x)之間的相對熵,或者KL散度。KL散度大於等於零,當兩個分布一致時等於零。

交叉熵

交叉熵本質上可以看成,用一個猜測的分布的編碼去編碼真實的分布,得到的信息量:

\large CEH(p,q)=-\sum_{x\in\chi }p(x)lnq(x)=H(p)+D_{KL}(p||q)

\large CEH(p,q)

\large =-\sum_{x\in\chi }p(x)lnq(x)

\large =-[P_p(x=1)lnP_q(x=1)+P_p(x=0)P_q(x=0)]

\large =-[plnq+(1-p)ln(1-q)]

\large =-[ylnh_\theta(x)+(1-y)ln(1-h_\theta(x))]

對所有訓練樣本取均值得到:

\large -\frac{1}{m}\sum_{i=1}^{m}y_ilog(h_\theta(x_i))+(1-y_i)log(1-h_{\theta(x_i)})

對數損失函數

對數損失函數的表達式為:

\large -\frac{1}{m}\sum_{i=1}^{m}y_ilog(h_\theta(x_i))+(1-y_i)log(1-h_{\theta(x_i)})

參見https://blog.csdn.net/qq_38625259/article/details/88362765

交叉熵和對數損失函數之間的關系

交叉熵中未知真實分布\large p(x)相當於對數損失中的真實標記\large y,尋找的近似分布\large q(x)相當於我們的預測值。如果把所有樣本取均值就把交叉熵轉化成了對數損失函數。

 

本文轉載自:https://blog.csdn.net/qq_38625259/article/details/88371462?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control


免責聲明!

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



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