交叉熵與對數似然分析

資訊理論(Information Theory)

  • 「資訊」是指一組消息的集合。

  • 假設在一個雜訊通道上發送消息,我們需要考慮如何對每一個資訊進行編碼、傳輸以及解碼,使得接收者可以儘可能準確地重構出消息。

  • 資訊理論將資訊的傳遞看作一種統計現象。

    • 資訊傳輸

    • 資訊壓縮

熵(Entropy)

在資訊理論中,用來衡量一個隨機事件的不確定性。

  • 熵越高,則隨機變數的資訊越多;
  • 熵越低,則隨機變數的資訊越少.

applicatio_確定性非常高,p(x=n)=1

appl_那麼有appleapply兩種可能,假設

\[\begin{align}
P\left(x=e\right)=0.7
\\
P\left(x=y\right)=0.3
\end{align}
\]

自資訊(Self Information):一個隨機事件所包含的資訊量

對於一個隨機變數X,當X=x時的自資訊I(x)定義為

\[I\left ( x\right ) =-\log_{}{p\left(x\right)}
\]

這樣定義,讓它滿足可加性

\[\begin{align}
I\left ( x,x’\right ) & = -\left[ \log_{}{p\left(x\right)}+ \log_{}{p\left(x’\right)}\right ]\\
&=-\log_{}{\left ( p\left (x \right )\cdot p\left ( x’ \right ) \right ) }

\end{align}
\]

隨機變數X的自資訊的數學期望

\[\begin{align}
H(x) & = \mathbb{E}_{x} [I(x)]
\\&=\mathbb{E}_{x}[-\log{}{p(x)}]
\\&=-\sum_{x\in \chi }^{} p(x)\log{}{p(x)}
\end{align}
\]

熵編碼(Entropy Encoding)

在對分布p(y)的符號進行編碼時,熵H(p)也是理論上最優的平均編碼長度,這種編碼方式稱為熵編碼。

什麼樣的編碼是最優編碼呢?最常出現的字元編碼越短,出現頻率越小的字元編碼越長。

交叉熵(Cross Entropy)

交叉熵是按照概率分布q的最優編碼對真實分布為p的資訊進行編碼的長度

\[\begin{aligned}
H(p, q) &=\mathbb{E}_{p}[-\log q(x)] \\
&=-\sum_{x} p(x) \log q(x)
\end{aligned}
\]

  • 在給定q的情況下,如果p和q越接近,交叉熵越小;
  • 如果p和q越遠,交叉嫡就越大。

KL散度(Kullback-Leibler Divergence)

  • KL散度是用概率分布q來近似p時所造成的資訊損失量。
  • KL散度是按照概率分布q的最優編碼對真實分布為p的資訊進行編碼,其平均編碼長度(即交叉熵)H(pq)和p的最優平均編碼長度(即熵)H(p)之間的差異。
\[\begin{aligned}
\mathrm{KL}(p, q) &=H(p, q)-H(p) \\
&=\sum_{x} p(x) \log \frac{p(x)}{q(x)}
\end{aligned}
\]

應用到機器學習

以分類為例

真實分布

\[P_{r}(y|x)
\]

預測分布

\[P_{θ}(y|x)
\]

假設y*為x的真實標籤

\[\begin{align}
& P_{r}(y*|x) = 1 \\
& P_{r}(y|x) = 0, \forall y\ne y*
\end{align}
\]

真實分布相當於onehot向量

\[\begin{align}
\begin{bmatrix}
0\\
0\\
0\\
1\\
0
\end{bmatrix}_{c}=P_{r}(y|x)
\end{align}
\]

如何衡量兩個分布的差異?

課程影片鏈接:3.3交叉熵與對數似然

原創作者:孤飛-部落格園
原文鏈接://www.cnblogs.com/ranxi169/p/16583838.html