Maximum-Likelihood-Learning
约 485 个字 预计阅读时间 2 分钟
KL Divergence Perspective¶
可以用 KL divergence 度量两个分布之间的 " 距离 ":
\[ D_{KL}(p||q) = \mathbf{E}_{x \sim p}\left[\log \frac{p(x)}{q(x)}\right] = \sum_{x} p(x) \log \frac{p(x)}{q(x)} \]
具有如下性质:
- \(D_{KL}(p||q) \ge 0\) for all \(p\), \(q\),当且仅当 \(p=q\) 时取等
- Asymmetric: \(D_{KL}(p||q) \neq D_{KL}(q||p)\)
- Measures the expected number of extra bits required to describe samples from \(p(x)\) using a compression code based on \(q\) instead of \(p\)
这样,对于实际分布 \(P_{data}(x)\) 和从数据中学到的分布 \(P_{\theta}(x)\),就可以计算它们之间的 " 差距 " 了:
\[ \begin{align*} D_{KL}(P_{data}||P_{\theta}) &= \mathbf{E}_{x \sim P_{data}}\left[\log \frac{P_{data}(x)}{P_{\theta}(x)}\right] \\ &= \mathbf{E}_{x \sim P_{data}}[\log_{} P_{data}(x)] - \mathbf{E}_{x \sim P_{data}} [\log_{} P_{\theta}(x)] \end{align*} \]
由于第一项和 \(\theta\) 无关,所以最小化 KL divergence 等价于最大化 log-likelihood
\[ \arg\min_{\theta} D_{KL}(P_{data} || P_{\theta}) = \arg\min_{{\theta}} -\mathbf{E}_{x \sim P_{data}}[\log_{} P_{\theta}(x)] = \arg\max_{\theta} \mathbf{E}_{x \sim P_{data}} [\log P_{\theta}(x)] \]
又由于 \(P_{data}\) 一般都是未知的,所以采取近似:
\[ \mathbf{E}_{x \sim P_{data}}[\log P_{\theta}(x)] \to \mathbf{E}_\mathcal{D}[\log P_{\theta}(x)] \to \frac{1}{|\mathcal{D}|} \sum_{x \in \mathcal{D}}^{} \log P_{\theta}(x) \]
第一步是缩小了数据的范围,第二步是使用了 Monte Carlo Estimate
这里 \(\mathcal{D}\) 是已知的 dataset
Shannon/Huffman Code Perspective¶
对于一个概率分布 \(p_{\theta}(x)\),每一个 \(x \sim p_{\theta}(x)\) 都可以赋予一个编码长度 \(\left\lceil \log \frac{1}{p_{\theta}(x)} \right\rceil\),也就是出现频率越高,编码长度越低,从而总的平均编码长度能够尽可能的小,设真实分布为 \(p_{data}\),则
\[ \mathbf{E}_{x \sim p_{data}}\left[ \left\lceil \log \frac{1}{p_{\theta}(x)} \right\rceil \right] \approx \mathbf{E}_{x \sim p_{data}}\left[ \log \frac{1}{p_{\theta}(x)} \right] = - \mathbf{E}_{x \sim p_{data}} [\log p_{\theta}(x)] \]
就代表了在真实分布下的平均编码长度。最大化 likelihood 也就是最小化这个平均编码长度。