熵、信息熵、交叉熵、相对熵、条件熵、互信息、条件熵的贝叶斯规则
熵
每条消息都含有信息。“信息熵”是“熵”的别名,用来衡量消息的不确定程度。
宽泛来讲,即消息所传达的信息的模糊程度,消息越模糊,其熵越高。
形象的说,熵是从 根据模糊消息—>得到精确信息 所需要花费的最小代价。
熵=信息量(的期望)=不确定性的多少。熵值是信息量的一个度量。
某种意义上说,熵就是最优策略。
《数学之美》中这样描述:
变量的不确定性越高,熵也就越大,要把它搞清楚,所需要的信息量也就越高。
维基百科中对“熵”的定义:
在信息论中,熵是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里,“消息”代表来自分布或数据流中的事件、样本或特征。(熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大。)来自信源的另一个特征是样本的概率分布。这里的想法是,比较不可能发生的事情,当它发生了,会提供更多的信息。由于一些其他的原因,把信息(熵)定义为概率分布的对数的相反数是有道理的。事件的概率分布和每个事件的信息量构成了一个随机变量,这个随机变量的均值(即期望)就是这个分布产生的信息量的平均值(即熵)。熵的单位通常为比特,但也用Sh、nat、Hart计量,取决于定义用到对数的底。
给定一个样本集
这里对数
比如,在 “总决赛后,猜测32支实力相当的球队谁是冠军” 问题中,采用2分法,只需要问5次就可得知冠军是谁,即
但如果32支球队实力有强有弱,则第一次猜测时可不用将32支球队等分成2组,可将实力强劲的几支队伍分到一组,如此一来也许猜测3~4次就可得知冠军是谁。因此,当夺冠概率不等时,“谁是冠军”的信息量(熵)小于5。事实上,准确信息量应为:
其中
交叉熵
如果用猜测的概率分布
这里
例如,给定一个集合(A, B, C, D) ,真实的概率分别是(0.5, 0.5, 0, 0),其熵为:
即用1位编码即可表示这个集合 (例如编码为0表示A,编码为1表示B;C和D出现概率为0,不为其赋予编码)。
对集合(A, B, C, D) 出现的概率,如果猜测的概率分布为(0.25, 0.25, 0.25, 0.25), 则交叉熵为:
即用两位编码才可表示这个集合(例如编码为00表示A,编码为01表示B,编码为10表示C,编码为11表示D)。
可以证明,
交叉熵可在神经网络(机器学习)中作为损失函数,
交叉熵代价函数
简单来说,“交叉熵代价函数”是替代“均方误差代价函数”的存在。“均方误差代价函数”的缺点是在某些情况下(下文会介绍什么情况下),学习速率很慢。为了搞清问题的来源,我们来考虑一下神经元的学习方式:通过计算代价函数的偏导
这里
注意到
当神经元输出(右端)接近1时,曲线变得非常平缓,
如何来避免这种减速呢?可以用不同的代价函数比如交叉熵(cross-entropy)代价函数来替代平方代价函数。为了理解交叉熵,我们假设要训练一个拥有多个输入变量的神经元:输入
神经元的输出为
这里
它告诉我们权重的学习速率可以被
相对熵
英文名为Relative Entropy, 或Kullback-Leibler Divergence(KL散度)。目的是为了衡量两个函数或者概率分布的差异性。其公式为:
也许上面的公式不好理解,那相对熵的另一种写法是:相对熵=交叉熵-熵:
相对熵一定大于等于0。可以这样理解相对熵:一个估计的概率分布与实际的概率分布的差距。当相对熵正趋向于0时,可以认为估计的概率分布就是实际的概率分布。
《数学之美》给出了相对熵的三个结论:
- 对于两个完全相同的函数,它们的相对熵等于零。
- 相对熵越大,两个函数差异越大;反之,相对熵越小,两个函数差异越小。
- 对于概率分布或者概率密度函数,如果取值均大于零,相对熵可以度量两个随机分布的差异性。
条件熵
维基百科:
条件熵描述了在已知第二个随机变量
X 的值的前提下,随机变量Y 的信息熵还有多少。同其它的信息熵一样,条件熵也用Sh、nat、Hart等信息单位表示。基于X 条件的Y 的信息熵,用H(Y|X) 表示。
对于两个随机变量
即Y的不确定性就这么大。若我们还知道X和Y一起出现的联合概率分布
和条件概率分布
根据下一节介绍的非负互信息
互信息
两个随机事件
互信息与条件熵和熵之间有这样的关系:
证明如下图,来自维基百科:
互信息就是两个事件X和Y相关性的量化度量。就是了解其中一个
条件熵的贝叶斯规则
证明.
参考文章:
《数学之美》第六章
https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s1.html
https://zh.wikipedia.org/wiki/%E6%9D%A1%E4%BB%B6%E7%86%B5
https://www.zhihu.com/question/41252833