交叉熵损失函数到底是什么原理?

1,128 阅读2分钟
原文链接: mp.weixin.qq.com

【推荐系统与机器学习导读】我们在用各种机器学习框架的时候会经常用 Cross Entropy 交叉熵损失函数, 那么在机器学习中什么是熵? 交叉熵是怎么来的? 本文带你了解关于熵的基础知识

信息量

一条信息的信息量大小与不确定性有很大关系, 一句话如果需要很多外部信息才能确定, 我们就称这句话信息量比较大, 比如你听 "西双版纳下雪了", 那你就需要看天气预报, 问当地人查证(应为云南很少下雪), 如果你说"人一天要吃三顿饭", 那么这条信息的信息量就小, 因为这条信息比较确定

那我们将事件 x0  的信息量定义如下, 其中 p(x0)表示事件的发生概率, 可以看到如果事件100%发生, 则信息量为0

坐标图为

信息量是对单个时间来说的, 但实际情况一件事有多重可能, 比如骰子可能有6种情况, 那么熵就是表示所有可能事件所产生的信息量期望

相对熵

相对熵又叫做KL散度, 用于衡量同一组随机变量x的两个分布 p(x) 与 q(x) 的差异, 在机器学习中, p(x) 常用于表示样本的真实分布, q(x)表示预测的分布, 机器学习就是不断的学习去让 q(x)来准确的拟合真实分布

相对熵越小, 表明两个分布越接近, 一个太空蠕虫的例子: https://www.jianshu.com/p/7b7c0777f74d

交叉熵

我们将相对熵变形

前半部分就是 p(x) 的熵, 为一个常量, 后半部分就是我们的交叉熵

进而交叉熵越小, 真实分布于预测分布越发一致, 也就是说效果越好

在我们上一篇文章中, 逻辑回归的损失函数定为

由于逻辑回归是一个伯努利分布, 你会发现 逻辑回归的损失函数, 本质上就是 交叉熵