交叉熵、KL 散度 | 定義與相互關係

MoonOut發表於2024-07-25

1 KL 散度

對於離散機率分佈 \(P\)\(Q\) ,KL 散度定義為:

\[\text{KL}(P \| Q) = -E_{x\sim P}\log P(x)-\log Q(x) \\ =\sum_{\mathbf{x}} P(\mathbf{x}) \log \frac{P(\mathbf{x})}{Q(\mathbf{x})} \]

對於連續機率分佈,定義為:

\[\text{KL}(P \| Q) = \int p(\mathbf{x}) \log \frac{p(\mathbf{x})}{q(\mathbf{x})} d\mathbf{x} \]

其中,\(p(\mathbf{x})\)\(P\) 的機率密度函式,\(q(\mathbf{x})\)\(Q\) 的機率密度函式。

KL 散度的性質:

  1. 非負性:KL 散度總是非負的,\(\text{KL}(P \| Q) \geq 0\)
  2. 不對稱性:KL 散度不是對稱的,即 \(\text{KL}(P \| Q) \neq \text{KL}(Q \| P)\)
  3. 零點:當 \(P\)\(Q\) 完全相同時,\(\text{KL}(P \| Q) = 0\)
  4. 不滿足三角不等式:KL 散度不滿足傳統意義上的三角不等式。

2 交叉熵

交叉熵(cross-entropy)和 KL 散度聯絡密切,也可以用來衡量兩個分佈的差異。

對於離散機率分佈 \(P\)\(Q\) ,交叉熵定義為:

\[H(P,Q)=-E_{x\sim P}\log Q(x)=-\sum P(x_i)\log Q(x_i) \]

對於連續機率分佈,定義為:

\[H(P,Q) = -\int p(\mathbf{x}) \log q(\mathbf{x}) d\mathbf{x} \]

可以看出,\(H(P,Q)=H(P)+D_\text{KL}(P \| Q)\) ,其中 \(H(P)\) 是 P 的熵。

性質:

  1. 非負性;
  2. 和 KL 散度相同,交叉熵也不具備對稱性,即 \(H(P,Q)\neq H(Q,P)\);
  3. 對同一個分佈求交叉熵,等於對其求熵。


相關文章