1.信息量
信息量与事件发生的概率成反比。
如:
事件1:明天太阳正常升起。该事件发生的概率P=1,因此信息量为0。
事件2:天气预报说明天要下雨。本来我们不知道明天天气,但是通过这句话消除了部分不确定性,因此它具有一定的信息量。
信息量的计算:
。
2.信息熵
信息熵是所有信息量的期望。
事件序号 | 事件 | 概率 | 信息量 |
---|---|---|---|
1 | 明天下雨 | 0.6 | -log(0.6) |
2 | 明天不下雨 | 0.4 | -log(0.4) |
3.相对熵(KL熵)
衡量同一变量在不同概率分布上的差异。比如随机变量X在测试集上的概率分布为,验证集上的概率分布为
,相对熵计算公式为:
例如机器学习的分类问题:
事件序号 | 事件 | 预测概率 | 实际情况 |
---|---|---|---|
1 | 明天下雨 | 0.6 | 1 |
2 | 明天不下雨 | 0.4 | 0 |
4.交叉熵
拆分KL散度公式:
-
=
即信息熵,后者为交叉熵。KL散度=信息熵-交叉熵。交叉熵公式为:
在机器学习训练网络时,输入数据与标签常常已经确定,那么真实概率分布P(x) 也就确定下来了,所以信息熵在这里就是一个常量
。
由于KL散度的值表示真实概率分布P(x) 与预测概率分布Q(x) 之间的差异
,值越小表示预测的结果越好,所以需要最小化KL散度,而交叉熵等于KL散度加上一个常量(信息熵),且公式相比KL散度更加容易计算,所以在机器学习中常常使用交叉熵损失函数来计算loss就行了。
事件序号 | 事件 | 预测概率 | 实际情况 |
---|---|---|---|
1 | 明天下雨 | 0.6 | 1 |
2 | 明天不下雨 | 0.4 | 0 |
交叉熵在分类问题中常常与softmax是标配,softmax将输出的结果进行处理,使其多个分类的预测值和为1,再通过交叉熵来计算损失。
参考:https://blog.csdn.net/b1055077005/article/details/100152102
网友评论