熵:就是描述信息的不确定的程度,统计学中,对事件的发生情况可以通过概率P定量的描述出来,熵也是一种统计学定量描述,是对信息的不确定程度的描述,这种描述也是通过“概率P”来描述的。
对于某个事件的信息熵的计算公式如下:
式中X代表事件,事件X的发生存在n中可能性,当我们知道每一种可能性情况下的发生概率值时,就能通过上式子计算得到信息熵值。
【例子】
序号 | 事件 | 概率p | 信息量I |
---|---|---|---|
A | 电脑正常开机 | 0.7 | -log(p(A))=0.36 |
B | 电脑无法开机 | 0.2 | -log(p(B))=1.61 |
C | 电脑爆炸了 | 0.1 | -log(p(C))=2.30 |
则根据以上信息熵值进行计算得到信息熵值为:
【总结】
信息熵是信息论中用于度量信息量的一个概念。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。信息熵在信号分析领域有着非常重要的用途,由于其可以定量表示信号的有序或无序程度,在信号编码、信号处理、以及深度学习中运用广泛。
相对熵(KL散度):描述两个概率分布P和Q差异的一种方法。
【基本描述】
如上图概率分布p(x)和q(x)是描述同一个目标问题的,但是这两个描述的结果是存在差别的,而相对熵可以进行这种差别的定量描述,其计算公式如下:
其中n为事件的可能性,相对熵的值越小,表示q分布和p分布越接近。
【例子】
假如一个字符发射器,随机发出0和1两种字符,真实发出概率分布为A,但实际不知道A的具体分布。现在通过观察,得到概率分布B与C。各个分布的具体情况如下:
由K-L散度计算公式可以得到:
【总结】
相对熵对一个事件的两种不同分布情况差异的估计,在实际运用中如果一种分布为正确分布另一种分布为我们训练得到的分布,则可以进行目标函数的相关优化。
交叉熵:主要度量两个概率分布间的差异性信息。
【基本描述】
交叉熵的计算公式见下:
上面公式和相对熵有一定的渊源,相对熵进行化简能得到交叉熵:
如此就得到交叉熵和信息熵以及相对熵之间的数学关系式子。相对熵=信息熵+交叉熵
【例子】
机器学习中,交叉熵函数一般作为损失函数,因为评价预测值和样本值之间的差异时,利用KL散度也可以,但是由于交叉熵加上信息熵可以得出KL散度,所以在优化过程中我们也只需要关注交叉熵就行,简化复杂度。
* | 猫 | 青蛙 | 老鼠 |
---|---|---|---|
Label | 0 | 1 | 0 |
Pred | 0.3 | 0.6 | 0.1 |
加入有一个样本,样本中有猫、青蛙、老鼠,经过训练模型,得到的预测模型,对batch其中一个为青蛙的样本进行预测,我们得到其为猫的概率为0.3,为青蛙的概率为0.6,为老鼠的概率为0.1.那么就有其交叉熵:
则整个batch的损失函数就是:
【总结】
交叉熵作为常用的loss在深度学习及机器学习的拟和中运用非常常见。
条件熵:定义为X给定条件下,Y的条件概率分布的熵对X的数学期望。就是表示在已知随机变量X的条件下随机变量Y的不确定性