信息论(11):链式法则-证明

先来看一个具体的例子,为了简化起见,我们取 n = 2:X_1 = 一枚均匀硬币的结果(正面或反面),X_2 = 另一枚均匀硬币的结果(正面或反面)。

我们有联合概率表 P(x_1, x_2):x_1 x_2 P(x_1, x_2),正面 正面 0.25,正面 反面 0.25,反面 正面 0.25,反面 反面 0.25。

我们想要:

首先,注意到 P(x_1) 与 x_2 无关:P(正面) = 0.5, P(反面) = 0.5。所以 log P(x_1)是:

求和式如下

\begin{align*}

&-\sum_{x_1, x_2} P(x_1, x_2) \log P(x_1) \\

&= -[P(H,H) \log P(H) + P(H,T) \log P(H) + P(T,H) \log P(T) + P(T,T) \log P(T)] \\

&= -[0.25 \log 0.5 + 0.25 \log 0.5 + 0.25 \log 0.5 + 0.25 \log 0.5]

\end{align*}

分组x_1。当 x_1 = H 时,我们有两项: 。当 x_1 = T 时,我们有两项:

提取公因式 \log P(x_1),得到

对 x_2 求和,P(H,H) + P(H,T) 的值是多少?P(H,H) + P(H,T) = 0.25 + 0.25 = 0.5

但这恰恰是 P(H) 。因为:

类似地:

最后,化简

\begin{align*}

&-\sum_{x_1, x_2} P(x_1, x_2) \log P(x_1) \\

&= -[\log P(H) \cdot P(H) + \log P(T) \cdot P(T)] \\

&= -\sum_{x_1} P(x_1) \log P(x_1) \\

&= H(X_1)

\end{align*}

一般原理如下。对于任何第 k 项 ,该项仅取决于 x_1, ..., x_k。当我们对 x_{k+1}, ..., x_n 求和时: ,我们正在"积分掉"或"边缘化掉"不需要的变量。

结果恰好等于条件熵的定义:

想象一下,你有一个由更小的立方体(联合分布)组成的三维块。如果你只关心第一个坐标 x_1,你可以沿着其他维度压缩这个块,将所有具有相同 x_1 的立方体相加。你得到的是它在 x_1 轴上的投影,这就是 P(x_1)。对数 log P(x_1) 就像一个权重,它只取决于你位于 x_1 的哪个"切片"中。因此,当你对整个块求和时,你可以先在每个切片内求和,然后再应用权重。

为什么这个公式如此简洁?因为概率分布在其定义域内求和为 1。更准确地说:对于固定的 x_1,联合分布对 x_2, ... , x_n 的求和恰好等于 P(x_1)。这就像通过"积分掉"其他维度,将多维空间压缩到一维空间一样。

(csdn的公式真难用( ;´Д`))

相关推荐
炽烈小老头12 小时前
【每天学习一点算法 2025/12/22】将有序数组转换为二叉搜索树
学习·算法
呱呱巨基13 小时前
Linux 进程控制
linux·c++·笔记·学习
jghhh0113 小时前
POCS(凸集投影)算法解决部分k空间数据缺失导致吉布斯伪影
算法
罗湖老棍子13 小时前
最小函数值(minval)(信息学奥赛一本通- P1370)
数据结构·c++·算法··优先队列·
LYFlied13 小时前
【每日算法】LeetCode 4. 寻找两个正序数组的中位数
算法·leetcode·面试·职场和发展
长安er13 小时前
LeetCode 62/64/5/1143多维动态规划核心题型总结
算法·leetcode·mybatis·动态规划
LYFlied13 小时前
【每日算法】LeetCode 208. 实现 Trie (前缀树)
数据结构·算法·leetcode·面试·职场和发展
阿恩.77013 小时前
前沿科技计算机国际期刊征稿:电子、AI与网络计算
人工智能·经验分享·笔记·计算机网络·考研·云计算
代码游侠13 小时前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法
学编程就要猛14 小时前
算法:3.快乐数
java·算法