机器学习笔记:各种熵

本文概述了机器学习中熵的概念,包括信息量、信息熵、条件熵、相对熵(KL散度)和交叉熵,以及JS散度。介绍了这些熵在描述分布关系、不确定性以及损失函数中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在机器学习中通常会使用各种熵来描述分布与分布之间的关系,如条件熵和交叉熵等,也有直接优化熵的模型,如最大熵模型。
这篇文章简单总结一下之前见到过的一些熵相关的概念。


信息量

定义

假设有离散随机变量 X X X 满足分布 P ( X = x i ) = p i P(X = x_{i}) = p_{i} P(X=xi)=pi , 定义事件 X = x i X = x_{i} X=xi的信息量为
I ( x i ) = − l o g ( p i ) I(x_{i}) = -log(p_{i}) I(xi)=log(pi)

性质

取值范围在 [0, +∞) 区间内
顾名思义,一个事件的信息量可以直观的理解为事件发生给人带来的信息多少。由定义可以看出当事件发生概率越小时,信息量越大。


信息熵

定义

信息熵用于描述随机变量 X X X ,定义信息熵为信息量的期望值
H ( X ) = E x ∼ P [ I ( x ) ] = − ∑ i = 1 n p i l o g ( p i ) H(X) = E_{x \sim P}[I(x)] = -\sum_{i = 1}^{n}{p_{i} log(p_{i})} H(X)=ExP[I(x)]=i=1npilog(pi)

性质

取值范围在 [0, log(n)] 区间内
信息熵描述了随机变量的不确定性,当所有事件等可能地发生时,信息熵取得最大值
同样的可以定义联合分布 P ( X , Y ) P(X, Y) P(X,Y) 和条件分布 P ( X ∣ Y = y i ) P(X | Y = y_{i}) P(XY=yi) 的信息熵


条件熵

定义

假设有离散随机变量 X X X Y Y Y 满足联合分布 P ( X = x i , Y = y i ) = p i j P(X = x_{i}, Y = y_{i}) = p_{ij} P(X=xi,Y=yi)=pij ,记边缘分布 P ( X = x i ) = p i P(X = x_{i}) = p_{i} P(X=xi)=pi ,定义条件熵为
H ( Y ∣ X ) = − ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X) = -\sum_{i = 1}^{n}{p_{i}H(Y | X = x_{i})} H(YX)=i=1npiH(YX=xi)

性质

可以证明 H ( Y ∣ X ) = H ( X , Y ) − H ( X ) H(Y|X) = H(X, Y) - H(X) H(YX)=H(X,Y)H(X)
H ( Y ∣ X ) = − ∑ x p ( x ) H ( Y ∣ X = x ) = − ∑ x p ( x ) ∑ y p ( y ∣ x ) l o g ( p ( y ∣ x ) ) = − ∑ x ∑ y p ( x , y ) l o g ( p ( y ∣ x ) ) = − ∑ x ∑ y p ( x , y ) [ l o g ( p ( y ∣ x ) p ( x ) ) − l o g ( p ( x ) ) ] = − ∑ x ∑ y p ( x , y ) l o g ( p ( y ∣ x ) p ( x ) ) + ∑ x ∑ y p ( x , y ) l o g ( p ( x ) ) = − ∑ x ∑ y p ( x , y ) l o g ( p ( y ∣ x ) p ( x ) ) + ∑ x p ( x ) l o g ( p ( x ) ) = H ( X , Y ) − H ( X ) H(Y|X) = -\sum_{x}{p(x) H(Y|X=x)} \\ = -\sum_{x}{p(x) \sum_{y}{p(y|x) log(p(y|x))}} \\ = -\sum_{x}{\sum_{y}{p(x, y) log(p(y|x))}} \\ = -\sum_{x}{\sum_{y}{p(x, y) [log(p(y|x) p(x)) - log(p(x))]}} \\ = -\sum_{x}{\sum_{y}{p(x, y) log(p(y|x) p(x))}} + \sum_{x}{\sum_{y}{p(x, y) log(p(x))}} \\ = -\sum_{x}{\sum_{y}{p(x, y) log(p(y|x) p(x))}} + \sum_{x}{p(x) log(p(x))} \\ = H(X, Y) - H(X) H(YX)=xp(x)H(YX=x)=xp(x)yp(yx)log(p(yx))=xyp(x,y)log(p(yx))=xyp(x,y)[log(p(yx)p(x))log(p(x))]=xyp(x,y)log(p(yx)p(x))+xyp(x,y)log(p(x))=xyp(x,y)log(p(yx)p(x))+xp(x)log(p(x))=H(X,Y)H(X)
条件熵描述了在 X X X 已知的情况下, Y Y Y 的信息熵


相对熵

定义

相对熵又称KL散度(KL divergence)。假设有离散的随机变量 X X X ,和定义在 X X X 上的两个分布 P ( X = x i ) = p i P(X = x_{i}) = p_{i} P(X=xi)=pi Q ( X = x i ) = q i Q(X = x_{i}) = q_{i} Q(X=xi)=qi ,定义相对熵为
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p i l o g ( p i q i ) D_{KL}(p || q) = \sum_{i = 1}^{n}{p_{i} log(\frac{p_{i}}{q_{i}})} DKL(pq)=i=1npilog(qipi)

性质

KL散度通常用来描述两个分布之间的差异或距离。当两个分布越接近,则KL散度越小,因此在GAN的论文中,KL散度被用来衡量生成器生成的样本分布与真实样本分布之间的差异。
但是KL散度却不满足距离的对称性,即 D K L ( p ∣ ∣ q ) ≠ D K L ( q ∣ ∣ p ) D_{KL}(p || q) \neq D_{KL}(q || p) DKL(pq)=DKL(qp)


交叉熵

定义

假设有离散的随机变量 X X X ,和定义在 X X X 上的两个分布 P ( X = x i ) = p i P(X = x_{i}) = p_{i} P(X=xi)=pi Q ( X = x i ) = q i Q(X = x_{i}) = q_{i} Q(X=xi)=qi ,定义交叉熵为
H ( p , q ) = − ∑ i = 1 n p i l o g ( q i ) H(p, q) = -\sum_{i = 1}^{n}{p_{i} log(q_{i})} H(p,q)=i=1npilog(qi)

性质

可以证明 H ( p , q ) = H ( p ) − D K L ( p ∣ ∣ q ) H(p, q) = H(p) - D_{KL}(p || q) H(p,q)=H(p)DKL(pq)
注意交叉熵是定义在一个随机变量的两个分布上的,和信息熵 H ( X , Y ) H(X, Y) H(X,Y) 有区别
交叉熵定义了使用分布 Q Q Q 拟合分布 P P P 时的损失,在机器学习中使用的交叉熵损失函数就是将预测分布和真实数据分布的交叉熵来作为损失函数的


JS散度

定义

JS散度修正了KL散度部队称的特点,定义为
J S D ( p ∣ ∣ q ) = 1 2 D K L ( p ∣ ∣ p + q 2 ) + 1 2 D K L ( q ∣ ∣ p + q 2 ) JSD(p || q) = \frac{1}{2} D_{KL}(p || \frac{p + q}{2}) + \frac{1}{2} D_{KL}(q || \frac{p + q}{2}) JSD(pq)=21DKL(p2p+q)+21DKL(q2p+q)

性质

解决了KL散度不对称的特点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值