熵(Entropy)
- 随机变量的分布是,那么的熵或是度量随机变量本身不确定性(uncertainty)的。比如有个状态的离散变量的熵为:
熵的期望形式:
实例:
# K=5
p = [0.25, 0.25, 0.2, 0.15, 0.15]
p = torch.as_tensor(p)
entropy = -torch.sum(p * torch.log2(p))
entropy.item() # 2.285475254058838
以2为基底则称这些单元为bits;以e为基底则称这些单元为nats。可以明确,均匀分布的熵是最大的,比如投硬币,没有哪一面的出现占据更大的可能。
相反,最小熵(为零)的分布是任何把所有质量放在一个状态的函数。这样的分布没有不确定性。
特例,对于二元随机变量,记,那么,熵的公式为:
这叫做二元熵函数。
KL散度(KL divergence)
- KL散度又称为相对熵(relative entropy),是度量两个分布与之间的不相似度(dissimilarity)的。
分解分子分母得到:
其中,称为交叉熵(cross entropy):
交叉熵的期望形式:
KL散度的期望形式:
交叉熵可以看做模型生成数据服从分布,拟合真实数据分布时,所需的平均比特数(bits);
从这个角度出发,熵可以看做,即该模型生成数据分布期望使用的比特数;
那么KL散度就是用分布(模型的)而不是真实数据分布,编码真实数据所需的平均额外比特数。
-
, KL is only equal to zero iff
证明: - 要用到的公式 Jensen’s inequality:对任意凸函数有:
互信息(Mutual information)
- 考虑度量两个随机变量与之间的关系,一般会计算(相关系数),但是更普遍的方法是确定联合分布(joint)与边缘分布乘积(marginal)之间的相似性,这个相似的大小就是互信息:
从定义看出互信息是大于等于0的,只有随机变量与相互独立的时候才会等于0。
互信息与相关系数的关联(connection between MI and correlation coefcients)
todo
参考:
《perspective ML》
demystifying-kl-divergence