熵、KL散度、交叉熵

绪论

最近在做实验的时候,发现机器有些基本知识真的很重要,所以就把机器学习的内容重新整理一下,本文仅从机器学习的角度来讲解熵、KL散度和交叉熵。且本文的公式都是以离散的形式来写的,方便理解

简单来说熵就是描述系统的不确定性的,就是说,一个事件越确定,那么它的熵就越小,越不确定熵就越大。熵的定义为: H ( x ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) H(x) = -\sum_{i=1} ^n p(x_i)\log p(x_i) H(x)=i=1np(xi)logp(xi)例如:抛一枚硬币,有两种情况,正反各有 1 2 \frac{1}{2} 21 的概率,熵为: H ( x ) = − 1 2 log ⁡ ( 1 2 ) − 1 2 log ⁡ ( 1 2 ) H(x) = -\frac{1}{2}\log(\frac{1}{2})-\frac{1}{2}\log(\frac{1}{2}) H(x)=21log(21)21log(21)

KL散度

这里先忘掉前面的知识,简单来说,KL散度是描述两个分布之间的差异,比如说,我们现在有两个分布,现在想看这两个分布之间的差异,有很多种衡量的方式,计算距离等等,KL散度也是一种衡量方式,而且实践证明它比较好用,仅此而已。定义为: D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) q ( x i ) D_{KL}(p||q)=\sum_{i=1}^n p(x_i)\log \frac{p(x_i)}{q(x_i)} DKL(pq)=i=1np(xi)logq(xi)p(xi)其中P和Q为两个不同的分布。在实际中,一般p为真实分布,q为近似分布,一般的任务是需要让q来接近于真实分布。另外KL散度不是距离,它不是对称的,即 D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(pq)不等于 D K L ( q ∣ ∣ p ) D_{KL}(q||p) DKL(qp)

交叉熵

交叉熵跟KL散度很相似,先上公式: H ( p , q ) = − ∑ i = 1 n p ( x i ) log ⁡ q ( x i ) = H ( p ) + D K L ( p ∣ ∣ q ) H(p, q)=-\sum_{i=1}^np(x_i)\log q(x_i) = H(p)+D_{KL}(p||q) H(p,q)=i=1np(xi)logq(xi)=H(p)+DKL(pq)从公式中可以看出,交叉熵相比KL散度就是多了一项 H ( p ) H(p) H(p)如果P为真实分布的话,那么 H ( p ) H(p) H(p)为常数,此时,KL散度和交叉熵是等价的。那为什么我们一般用交叉熵做损失函数而不用KL散度呢?因为交叉熵的计算比KL散度要简单很多

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值