美文网首页
信息量,信息熵,交叉熵,KL散度和互信息

信息量,信息熵,交叉熵,KL散度和互信息

作者: reeuq | 来源:发表于2018-08-04 10:28 被阅读0次

参考https://blog.csdn.net/haolexiao/article/details/70142571

信息量

信息量表示一个信息所需要的编码长度。而一个信息的编码长度跟其出现的概率呈负相关,因为一个短编码的代价也是巨大的,因为会放弃所有以其为前缀的编码方式,比如字母”a”用单一个0作为编码的话,那么为了避免歧义,就不能有其他任何0开头的编码词了。所以一个词出现的越频繁,则其编码方式也就越短,同时付出的代价也大。
I = log(\frac{1}{p(x)}) = -log(p(x))

信息熵

信息熵代表一个分布的信息量,即信息量的均值,或者编码的平均长度
H(p) = \sum_x p(x)\log\left(\frac{1}{p(x)}\right) = -\sum_x p(x)\log\left(p(x)\right)

交叉熵 cross-entropy

交叉熵本质上可以看成,用一个猜测的分布的编码方式去编码其真实的分布,得到的平均编码长度或者信息量
H_p(q) = \sum_x p(x)\log\left(\frac{1}{q(x)}\right)
其中p(x)为真实分布,q(x)为猜测的分布

交叉熵 cross-entropy在机器学习领域的作用

交叉熵cross-entropy在机器学习领域中经常作为最后的损失函数使用
为什么要用cross-entropy呢,他本质上相当于衡量两个编码方式之间的差值,因为只有当猜测的分布越接近于真实分布,则其值越小(真实分布最小)。
比如根据自己模型得到的A的概率是80%,得到B的概率是20%,真实的分布是应该得到A,则意味着得到A的概率是100%,所以
L = -\sum_iy_ilog(p(x_i))+(1-y_i)log(1-p(x_i))

在LR中用cross-entropy比平方误差方法好在:
  1. 在LR中,如果用平方损失函数,则损失函数是一个非凸的,而用cross-entropy的话就是一个凸函数
  2. 用cross-entropy做LR求导的话,得到的导数公式如下
    \frac{\partial L}{\partial \theta_j} = -\sum_i(y_i-p(x_i))x_{ij}
    而用平方损失函数,其求导结果为
    \frac{\partial L}{\partial \theta_j} = -\sum_i(y_i-p(x_i))p'(x_i)
    平方损失函数的导数中会出现p^{'}(x_i),而sigmoid函数的导数会出现梯度消失的问题,因此用cross-entropy作为损失函数

KL散度

KL散度/KL距离是衡量两个分布的距离,KL距离一般用D(p||q)或者D_p(q)称之为p对q的相对熵
D_p(q) = H_p(q) - H(p) = \sum_x p(x)\log\left(\frac{p(x)}{q(x)}\right)

KL散度与cross-entropy的关系

D_p(q) = H_p(q) - H(p)

非负性证明

参考https://blog.csdn.net/yujianmin1990/article/details/71213601
直接证明D_p(q)\geq0较为麻烦,可以证明-D_p(q)\leq0
借助\ln x \leq x-1,其中x>0,当且仅当x=1时取得最值

联合信息熵和条件信息熵


下面几条我们要说的是联合分布中(即同一个分布中)两个变量相互影响的关系,上面说的KL和cross-entropy是两个不同分布之间的距离度量
联合信息熵:
H(X,Y) = \sum_{x,y} p(x,y) \log\left(\frac{1}{p(x,y)}\right)
条件信息熵:
H(X|Y) = \sum_y p(y) \sum_x p(x|y) \log\left(\frac{1}{p(x|y)}\right)= \sum_{x,y} p(x,y) \log\left(\frac{1}{p(x|y)}\right)
关系为:
H(Y|X) = H(X,Y) - H(X)

互信息

互信息就是一个联合分布中的两个信息的纠缠程度/或者叫相互影响那部分的信息量
I(X,Y)= \sum_{x \in X} \sum_{y \in Y} p(x, y) log_2 \frac{1}{\frac{p(x)p(y)}{p(x,y)}}
I(X,Y) = H(X) + H(Y) - H(X,Y)
I(X,Y) = H(Y) - H(Y|X)
决策树中的信息增益就是互信息,决策树是采用的上面第二种计算方法,即把分类的不同结果看成不同随机事件Y,然后把当前选择的特征看成X,则信息增益就是当前Y的信息熵减去已知X情况下的信息熵。

关系图如下:

相关文章

  • 信息熵相关知识总结

    前言 学习决策树时会接触到一些信息熵,条件熵和信息增益的知识,此外还有互信息,相对熵,交叉熵和互信息,KL散度等等...

  • 机器学习相关的数学知识

    知识点理解: 信息量->熵->相对熵(KL散度)->交叉熵->分类的loss 信息量:I(x0)=−log(p(x...

  • 交叉熵与KL散度

    老遇到交叉熵作为损失函数的情况,于是总结一下 KL散度 交叉熵从KL散度(相对熵)中引出,KL散度(Kullbac...

  • 信息量,信息熵,交叉熵,KL散度和互信息

    参考https://blog.csdn.net/haolexiao/article/details/7014257...

  • 信息量,熵,KL散度,交叉熵

    REFER:陈远. 信息论与编码(第三版). 电子工业出版社. p11徐彬. 实战深度学习算法. 电子工业出版社....

  • 信息量、熵、KL散度和交叉熵

    信息量: X是一个离散型随机变量,概率分布函数p(x)=Pr(X=x),事件X=x0的信息量为: 概率大的事情携带...

  • 面试

    最大似然 交叉熵 KL散度 相对熵 Information bottleneck

  • KL散度其实就是相对熵

    一直以为KL散度是什么新奇玩意,但是其实还是旧瓶装新酒 机器学习中的熵、条件熵、相对熵(KL散度)和交叉熵_冉茂松...

  • 信息熵/相对熵/交叉熵

    信息熵 信息熵也被称为熵,用来表示所有信息量的期望。 其中X是一个离散型随机变量。 相对熵 相对熵即KL散度。如果...

  • 信息熵+交叉熵+KL散度

    熵的本质是香农信息量,被用于描述一个系统中的不确定性。 在决策树算法中的信息熵: 在反向传播算法中衡量两个分布和差...

网友评论

      本文标题:信息量,信息熵,交叉熵,KL散度和互信息

      本文链接:https://www.haomeiwen.com/subject/gktuvftx.html