交叉熵的简单理解:真实分布与非真实分布的交叉,完全对应,熵为0

news2024/11/25 4:46:54

目录

交叉熵的简单理解:真实分布与非真实分布的交叉,完全对应,熵为0


交叉熵的简单理解:真实分布与非真实分布的交叉,完全对应,熵为0

 

这个式子就是熵的表达式. 简单来说, 其意义就是在最优化策略下, 猜到颜色所需要的问题的个数。熵代表的是随机变量或整个系统的不确定性,熵越大,随机变量或系统的不确定性就越大。

现在已经了解了熵是什么, 那么, 下面解释交叉熵(cross entropy) 的含义.对于第二个例子, 如果仍然使用第一个例子中的策略, 如下图:

1/8 的概率, 硬币是橘色, 需要两个问题, 1/2 的概率是蓝色, 仍然需要两个问题, 也就是说,认为小球的分布为(1/4,1/4,1/4,1/4),这个分布就是非真实分布。平均来说, 需要的问题数是 1/8×2+1/8×2+1/4×2+1/2×2=2。 因此, 在例子二中使用例子一的策略是一个比较差的策略. 其中2是这个方案中的交叉熵。而最优方案的交叉熵是1.75。

给定一个策略, 交叉熵就是在该策略下猜中颜色所需要的问题的期望值。更普遍的说,交叉熵用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出成本的大小。

交叉的字面意思在于:真实分布与非真实分布的交叉给定一个方案, 越优的策略, 最终的交叉熵越低。具有最低的交叉熵的策略就是最优化策略,也就是上面定义的熵。因此, 在机器学习中, 我们需要最小化交叉熵。完全对应,熵为0

其中, p 是真正的概率, 例如例子二中, 橘色和绿色是 1/8, 红色是 1/4, 蓝色是 1/2。p^是错误地假设了的概率, 例如, 在例子二中我们错误地假设了所有的颜色的概率都是 1/4。p和 p^ 可能有点容易混淆. 记住一点, log是用来计算在 你的策略下猜中所需要的问题数, 因此, log中需要的是你的预测概率p^。在决策树中, 如果建立的树不是最优的, 结果就是对于输出的概率分布的假设是错误地, 导致的直接结果就是交叉熵很高。交叉熵不仅仅应用在决策树中, 在其他的分类问题中也有应用。

分类问题

在二分类问题中, 标签 y 是 1 的似然是对于标签 y 的预测 y^, 同样的, 标签是 0 的似然是 1y^. 我们需要最大化似然函数, 而且, 由于二分类问题的特殊性, 根据伯努力分布(Bernoulli distribution),可以把似然函数写成

当 y=1 的时候, 第二项为 1, 因此, 优化的是 y^

当 y=0 的时候, 第一项为 1, 优化的是 1y^.对上面的似然函数取对数, 结果是:

最大化似然函数, 就是对上面表达式取负然后最小化。也是交叉熵的表达式。 交叉熵有时候也被称为对数损失函数。注意与上边例子区别是多了个负号,上边例子是消除不确定性需要付出的成本;而现在这个加了负号的交叉熵,则是最终的目标函数。

 

举例来说, 假设我有 3 枚硬币, 正正反, 记为 1,1,0. 预测结果是 0.8, 0.9, 0.3, 那么, 交叉熵的均值是:

1/3(1×log0.8+1×log0.9+(10)×log(10.3))

假设有一个完美的算法, 直接预测出了 1,1,0, 那么交叉熵的结果就是 0.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/937338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哪些自主品牌「霸榜」30万元向上战场?硬派越野/MPV再助力

占乘用车市场不到20%份额的30万元以上价位,一直以来都是合资品牌的天下。现在,三家中国本土自主品牌已经率先突围。 高工智能汽车研究院监测数据显示,2023年1-7月,理想、比亚迪、蔚来进入30万元以上价位新车交付量TOP10&#xff…

c++系列之指针

今天不是做题系列,是知识系列啦。 说到指针,我们初学这一定会气的牙痒痒把,笔者也是,这么我好久而不得呀,今天来让我们聊聊指针。 其一 首先,我们明确的知道,假如我们开一个变量,…

Android studio 软件git使用

在 test 分支添加的方法 , 现在切换到 master分支 总共 2 个分支 , 当前的分支是 test 出现了 先试一下 force checkout , 尝试之后发现 , 你更改没有带过来 , 以为哪个类在master分支没有 , 所以这边也没有 , 切回分支 test 发现之前的跟改没有 , 这样即可以找回 继续切换…

SE5 - BM1684 人工智能边缘开发板入门指南 -- 模型转换、交叉编译、yolov5、目标追踪

介绍 我们属于SoC模式,即我们在x86主机上基于tpu-nntc和libsophon完成模型的编译量化与程序的交叉编译,部署时将编译好的程序拷贝至SoC平台(1684开发板/SE微服务器/SM模组)中执行。 注:以下都是在Ubuntu20.04系统上操…

element-plus指定el-date-picker的弹出框位置

此处记录一下,通过popper-options指定popper出现的位置

Presto之Driver个数

一. 前言 在Presto的Stage Performace中,每个Operator中都会有Driver个数的显示,如下图所示。本文主要介绍Presto中是如何决定Driver的个数的。 二. Driver个数 在Presto中,一个pipeline中启动多少个Driver,是由此Pipeline处理的S…

tidb数据库5.4.3和6.5.3版本性能测试对比

作者: qizhining 原文来源: https://tidb.net/blog/5454621f 一、测试需求: 基于历史原因,我们的业务数据库一直使用5.4.3,最近由于研发提出需求:需要升级到6.5.3版本,基于版本不同&#x…

sql:SQL优化知识点记录(四)

(1)explain之ref介绍 type下的ref是非唯一性索引扫描具体的一个值 ref属性 例如:ti表先加载,const是常量 t1.other_column是个t1表常量 test.t1.ID:test库t1表的ID字段 t1表引用了shared库的t2表的col1字段&#x…

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.黑寡妇优化BP神经网络2.1 BP神经网络参数设置2.2 黑寡妇算法应用 4.测试结果:5.Matlab代…

JUC常用并发工具类

JUC常用并发工具类 1、什么是JUC? JUC 就是 java.util.concurrent 包,这个包俗称 JUC,里面都是解决并发问题的一些东西,该包的位置位于 java 下 面的 rt.jar 包下面。 2、4大常用并发工具类 2.1 CountDownLatch CountDownLatch&#x…

设计模式之九:迭代器与组合模式

有许多方法可以把对象堆起来成为一个集合(Collection),比如放入数组、堆栈或散列表中。若用户直接从这些数据结构中取出对象,则需要知道具体是存在什么数据结构中(如栈就用peek,数组[])。迭代器…

WebGL矩阵变换

目录 变换矩阵:旋转 变换矩阵:平移 44的旋转矩阵 示例代码: gl.uniformMatrix4fv()规范 平移:相同的策略 变换矩阵:缩放 变换矩阵:旋转 对于简单的变换,你可以使用…

【坑】Vue中带有__ob__: Observer的数组无法遍历的问题

控制台可以打印出数据但是渲染不出结构 解决办法: setTimeout(() > {Bus.$emit(shareRes, this.result.filter(item > item.id id)) }, 500)替换 Bus.$emit(shareRes, this.result.filter(item > item.id id))总结 解决和总结 好像和__ob__.Observe无…

电路原理分析2:应急照明灯电路

k是线圈,1-2(常开)和2-3(常闭)是2个触点。 1、220v交流电正常供电时,变压器触头位置提供12v的电压,这个时候,v2二极管是导通状态,所以线圈k吸合,这个时候1-2…

基于Java+SpringBoot+Vue前后端分离社区医院管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad, UltraEdit 等等呀, 觉得既不方便又不熟悉. 关键是很多的操作…

探索Java的ReentrantLock:实现并发锁的强大力量

前言: 👏作者简介:我是笑霸final,一名热爱技术的在校学生。 📝个人主页:个人主页1 || 笑霸final的主页2 📕系列专栏:java系列 📧如果文章知识点有错误的地方,…

单例模式:保证一个类仅有一个实例

单例模式:保证一个类仅有一个实例 欢迎来到设计模式系列的第二篇文章!在上一篇中,我们已经对设计模式有了初步的了解,今天让我们深入研究第一个模式——单例模式。 什么是单例模式? 在软件开发中,我们经…

pyinstaller打包openvino 2021.4.2

打包准备 1. 测试环境准备 conda create -n opinstall python3.7 -y conda activate opinstall pip install openvino2021.4.2 pip install pyinstaller PyCharm新建openvino_install,选择虚拟环境opinstall,编写测试代码 app.py import numpy as n…

mysql基础下

文章目录 1.创建表和管理表1. 一条数据存储的过程2.MySQL中的数据类型3.创建表4.修改表5.重命名表6.删除表7.清空表 2.数据处理1. 插入数据2.更新数据3. 删除数据4. 将查询结果插入到表中 3. 约束1.约束概述2.非空约束3.唯一性约束4. 主键(PRIMARY KEY)约…