交叉熵——我们如何评估差异

前言

机器学习的本质是信息论。在信息论中,首先我们引入了信息熵的概念。认为一切信息都是一个概率分布。所谓信息熵,就是这段信息的不确定性,即是信息量。如果一段信息,我无论怎么解读都正确,就没有信息量。如果一个信息,我正确解读的概率极低,就包含了极大信息量。这个信息量即是一段信息的不确定性即是“信息熵”。

信息熵

事件的概率分布和每个事件的信息量构成了一个随机变量,这个随机变量的均值(即期望)就是这个分布产生的信息量的平均值(即熵)

举个例子:

在某音乐APP中,当用户听歌时,遇到喜欢的歌可能会点喜欢按钮。但我们并不能保证用户100%是因为喜欢这首歌才点喜欢按钮的。

那么,用户点击喜欢这件事,到底给我们带来了多少信息呢?

我们对用户的心理作如下假设:1/2是真的喜欢,1/4是随便点的,1/4不喜欢

image.png

此时,用户点击了喜欢,如果让一个程序员来猜测,用户的真实想法。他总共需要猜多少次呢?

在这样的情况下,程序员会先猜,用户是不是真的喜欢?有1/2的概率直接就猜对了,一次成功。也有1/2的概率不成功,那么有1/4的概率,再猜一次,能猜中用户是随便点的,另外1/4的概率再猜一次,确认用户不喜欢。

image.png

猜完两次,这个信息就是100%确定的啦。我们对猜测次数的期望做一下计算,它就是这个概率分布的信息熵。

信息熵为:

1/2 1 + 1/4 2 + 1/4 * 2 = 1.5

先猜是不是喜欢,再猜是不是随便点的。1/2概率一次猜中真的喜欢,1/4的概率两次猜中随便点的,1/4的概率两次猜中不喜欢。

仔细想想,机器学习是不是就是在做着这个猜测的工作?

交叉熵

有了信息熵,就会有新的问题。那么,一段信息的概率分布是A。而我用概率分布B去计算信息熵时,即是交叉熵。交叉熵,一定大于信息熵,可以理解为信息熵是交叉熵的理想情况。

在上面的例子中,1/2是真的喜欢,1/4是随便点的,1/4不喜欢如果只是我们认为的概率分布是:

实际上用户的真实想法是:1/4是真的喜欢,1/2是随便点的,1/4不喜欢

image.png

会发生什么呢?

我们会进行错误的验证流程:

image.png

我们的猜测次数的期望会变成:

1/2 2 + 1/4 1 + 1/4 * 2 = 1.75

这个数字高于了我们前面计算的1.5。因为我们对用户的想法有了错误的判断。

高于信息熵了,说明我心中的概率分布是错误的。

交叉熵的意义在于,用这样一套模型来表示,我心中的概率分布与实际的概率分布相差有多远。用这样的一个量,来定义我预估事情的错误程度(loss)。

它的定义为:

其中y'是真实概率。y是我们计算的概率。

应用

在多元分类问题中,交叉熵常被用作,损失函数。比如在mnist问题中,我们的真实概率其实只有0和1。

假设,手写的数字为1。

那么我们的真实概率分布应为0, 1, 0, 0, 0, 0, 0, 0, 0, 0

而我们的预测概率分布可能为0.05, 0.55, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05

此时,交叉熵即为

-1 * log(0.55)

如果我们的预测概率分布与真实概率分布一致,那么交叉熵应为:

1 * log(1) = 0

符合预期。

因此,我们即可以用交叉熵的大小,来估评我们预测的不准确度。

tensorflow中,交叉熵的计算为:

cross_entropy = -tf.reduce_sum(y_*tf.log(y))

以上就是交叉熵的基本介绍,如有问题,欢迎指正。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

神经网络通俗指南:一文看懂神经网络工作原理

【新智元导读】 本文带来对深度神经网络的通俗介绍,附动图展示。 现在谈人工智能已经绕不开“神经网络”这个词了。人造神经网络粗线条地模拟人脑,使得计算机能够从数据...

3275
来自专栏Soul Joy Hub

《基于深度学习的线上农产品销量预测模型研究》阅读笔记

http://blog.csdn.net/u011239443/article/details/78135388 ICM模型 文中提出的 model- Impe...

3034
来自专栏大数据智能实战

基于tensorflow的视觉问答系统构建

视觉问答(Visual Question Answering,VQA),是多模态数据挖掘的前沿应用之一,里面涉及计算机视觉和自然语言处理的学习任务。VQA系统需...

2377
来自专栏AI科技评论

开发 | 聊聊数据挖掘竞赛中的套路与深度学习的局限

AI 科技评论按:本文原作者兔子老大,原载于其知乎专栏——MLの玄学姿势。转载已获得授权。 前言 刚好在暑假通过参加 kaggle 的 Zillow Prize...

3565
来自专栏大数据挖掘DT机器学习

用TensorFlow实现文本分析模型,做个聊天机器人

不错的学习聊天机器人的资源,不知道小伙伴们有没有去学习呢。 自己动手做聊天机器人教程 http://www.shareditor.com/blogshow...

3765
来自专栏算法channel

机器学习:不得不知的概念(1)

主要推送关于对算法的思考以及应用的消息。培养思维能力,注重过程,挖掘背后的原理,刨根问底。本着严谨和准确的态度,目标是撰写实用和启发性的文章,欢迎您的关注。 人...

3339
来自专栏机器之心

学界 | 价值传播网络,在更复杂的动态环境中进行规划的方法

规划是许多领域人工智能体的关键组成部分。然而,经典规划算法的局限性在于,对于每种可能的规划实例,人们都需要知道如何为其搜索最优(或至少合理的)方案。环境动态和状...

541
来自专栏专知

【推荐系统论文笔记】DKN: 基于深度知识感知的新闻推荐网络(WWW2018 )

【导读】传统的新闻推荐算法仅仅从语义层对新闻进行表示学习,而忽略了新闻本身包含的知识层面的信息。本文将知识图谱实体嵌入与神经网络相结合,将新闻的语义表示和知识表...

3788
来自专栏AI科技评论

学界 | AAAI 18论文解读:基于强化学习的时间行为检测自适应模型

AI 科技评论按:互联网上以视频形式呈现的内容在日益增多,对视频内容进行高效及时的审核也变得越来越迫切。因此,视频中的行为检测技术也是当下热点研究任务之一。本文...

3066
来自专栏PPV课数据科学社区

【译】从文本挖掘和机器学习中洞悉数据

版权申明 作者:Murat Yazici 原文链接:http://www.ibmbigdatahub.com/b ... rning 翻译:星星 ...

2699

扫码关注云+社区