【Python深度学习】——信息量|熵

【Python深度学习】——信息量|熵

  • 假设
  • 1. 信息量
    • 1.1 含义
    • 1.2 信息量的公式:
  • 2. 熵Entropy
    • 2. 含义
    • 2.2 熵的计算公式:
    • 2.3 熵的作用

假设

例子:掷硬币
假设我们有一个公平的硬币。这个硬币有两个面:正面(H)和反面(T),每次掷硬币出现正面或反面的概率都是 0.5

1. 信息量

1.1 含义

信息量用来表示一件事发生的难易程度
一件事越容易发生, 它的信息量就越小.

1.2 信息量的公式:

I ( x ) = − log ⁡ 2 P ( x ) \ I(x) = -\log_2 P(x) \  I(x)=log2P(x) 
其中,
I ( x ) \ I(x) \  I(x) 表示事件 ( x ) 的信息量, P ( x ) \ P(x)  P(x)表示事件 ( x ) 发生的概率
以2为底, 是转换到二进制下的表示复杂度.
此外, 事件独立时, 两个事件同时发生的信息量,等于两个事件的信息量相加.

I ( A B ) = − log ⁡ 2 1 P ( A B ) = − log ⁡ 2 1 P ( A ) ∗ P ( B ) = − ( log ⁡ 2 1 P ( A ) + log ⁡ 2 1 P ( B ) ) = I ( A ) + I ( B ) \ I(AB)= -\log_2 \frac{1}{P(AB)} = -\log_2 \frac{1}{P(A)*P(B)} = -(\log_2 \frac{1}{P(A)}+ \log_2 \frac{1}{P(B)}) =I(A) + I(B) \  I(AB)=log2P(AB)1=log2P(A)P(B)1=(log2P(A)1+log2P(B)1)=I(A)+I(B) 

对于假设中的例子, 出现正面的信息量为:
I ( H ) = − log ⁡ 2 P ( H ) = − log ⁡ 2 0.5 = 1 bit I(H) = -\log_2 P(H) = -\log_2 0.5 = 1 \text{ bit} I(H)=log2P(H)=log20.5=1 bit
同理反面也是
I ( T ) = − log ⁡ 2 P ( T ) = − log ⁡ 2 0.5 = 1 bit I(T) = -\log_2 P(T) = -\log_2 0.5 = 1 \text{ bit} I(T)=log2P(T)=log20.5=1 bit

2. 熵Entropy

2. 含义

熵可以理解为一个整体/一个系统所携带的信息量.
系统整体由所有可能发生的事件构成. 例如, 抛硬币的结果出现正面和反面就构成一个完整的系统.
熵的值就等于概率分布中所有信息量的期望.

2.2 熵的计算公式:

H ( x ) = − ∑ i P ( x i ) log ⁡ 2 P ( x i ) H(x) = - \sum_{i} P(x_i) \log_2 P(x_i) H(x)=iP(xi)log2P(xi)
对于假设中的例子, 熵的计算为:
H ( X ) = − [ P ( H ) log ⁡ 2 P ( H ) + P ( T ) log ⁡ 2 P ( T ) ] H(X) = -\left [P(H) \log_2 P(H) + P(T) \log_2 P(T) \right] H(X)=[P(H)log2P(H)+P(T)log2P(T)]
即,
H ( X ) = − [ 0.5 log ⁡ 2 0.5 + 0.5 log ⁡ 2 0.5 ] H(X) = -\left[ 0.5 \log_2 0.5 + 0.5 \log_2 0.5 \right] H(X)=[0.5log20.5+0.5log20.5]

H ( X ) = − [ 0.5 ⋅ ( − 1 ) + 0.5 ⋅ ( − 1 ) ] H(X) = -\left[ 0.5 \cdot (-1) + 0.5 \cdot (-1) \right] H(X)=[0.5(1)+0.5(1)]

H ( X ) = 1 H(X) = 1 H(X)=1

2.3 熵的作用

熵可以用来评估概率模型的不确定性程度——概率密度越均匀, 不确定性越高,即熵越高; 概率密度越聚拢, 不确定性越低, 熵越低.
如下图所示,左图为一个平均分布, 不确定性较高;
右图为一个正太分布, 不确定性较低.

请添加图片描述

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

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

相关文章

一. 做一个前后端分离的电商项目(技术栈 : springboot+mybatis-plus+vue) 的前期准备

前期准备 ---- 项目创建和配置 一.创建springboot项目二.项目前期准备工作1. 修改springboot和jdk版本号2.Web请求处理(1) 添加web依赖(2) 测试是否能够成功访问(3) 修改端口号(4) 创建数据库 3. 连接数据库(1) 添加依赖(2)配置application.properties文件(3)添加包扫描 Mapper…

Validation校验

文章目录 Validation校验作用依赖坐标UserController接收客户端注册用户请求的方法请求参数封装实体User的结构校验分组 Validation校验 作用 服务端接收前端传递的请求从参数的时候,可以对请求参数进行自动校验。 场景:通过postman向服务端发送一个注…

《检索技术核心20讲》进阶篇之LSM树

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243,文档形式记录笔记。 内容 磁盘和内存数据读取特点 工业界中数据量往往很庞大,比如数据无法全部加载进内存,无法支持索引的高效实时更新&…

视频格式转换avi格式怎么弄?分享视频转换方法

视频格式转换avi格式怎么弄?AVI作为一种广泛支持的视频格式,能够在多种设备和播放器上顺畅播放,确保我们的视频内容能够无障碍地分享给朋友或上传至各大平台。其次,AVI格式通常具有较好的兼容性,能够避免格式转换过程中…

修改yarn、npm、pnpm为国内镜像源

国内由于网络的原因,使用官方的npm、yarn、pnpm访问下载依赖库会很慢,有时候还会出现无法访问的情况,这时候就需要我们给npm、yarn、pnpm换一个国内的镜像源的,一般的我们可以将镜像换成淘宝的源,由于平时比较常用到的…

用飞书写博客,并自动部署

feishu-vitepress 用飞书写博客,并自动部署 目前的静态博客如vitepress,主要是用markdown来写内容。markdown虽然可读性比较好,但是在文章中贴图片有点麻烦,需要先保存图片到asset目录下,再在markdown中写图片地址。 平时工作主要…

优化查询性能:DolphinDB 时间类型数据比较规则详解

在数据库中,时间是一种常见的数据类型。在处理时间数据时,比较操作是非常常见的需求。然而,在不同的场景下,对时间类型数据进行比较时应用的规则不同。本文将从 DolphinDB 支持的时间类型开始,由浅入深分别介绍时间类型…

47.PyCharm P版突然无法启动

目录 1.启动cmd.exe,进到pycharm\bin目录,启动.\pycharm.bat,如果正常,就像下面这个样子,如果不正常,则会报错, 2.用记事本打开pycharm.bat文件,加上以下代码后 今晨,无…

《C++ Primer》导学系列:第 3 章 - 字符串、向量和数组

3.1 命名空间的使用 概述 命名空间是C中的一种机制,用于组织代码并避免名字冲突。通过使用命名空间,可以将全局作用域中的标识符组织到逻辑分组中,从而提高代码的可读性和可维护性。命名空间在大型项目中尤为重要,因为它们可以防…

关于C#导出Word时报错“{00020970-0000-0000-C000-000000000046}加载类型库/DLL 时出错”的解决办法

之前还运行正常的程序,突然发现导出Word的时候会报错,报错内容: System.InvalidCastException:“Unable to cast COM object of type ‘Microsoft.Office.Interop.Word.ApplicationClass’ to interface type ‘Microsoft.Office.Interop.Wor…

ubuntu18.04 配置 mid360并测试fast_lio

1.在买到Mid360之后,我们可以看到mid360延伸出来了三组线。 第一组线是电源线,包含了红色线正极,和黑色线负极。一般可以用来接9-27v的电源,推荐接12v的电源转换器,或者接14.4v的电源转换器。 第二组线是信号线&#x…

CSS概述

CSS是一种样式表语言,用于为HTML文档控制外观,定义布局。例如, CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面 。 ● 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用 于定义表现形式…

本学期嵌入式期末考试的综合项目,我是这么出题的

时间过得真快,临近期末,又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师,今年给学生出的题目有一点点难度,最后的综合项目要求如下所示,各位学生朋友和教师同行可以评论一下难度如何,单片…

【推荐算法】召回模型总结

文章目录 1、传统召回算法2、向量化召回统一建模架构2.1、如何定义正样本2.2、重点关注负样本2.3、召回生成Embedding:要求用户、物料解耦2.4、如何定义优化目标2.4.1、Softmax Loss、NCE Loss、NEG Loss2.4.2、Sampled Softmax Loss2.4.3、Pairwise Loss 3、Word2V…

量化交易入门——盘口

今天接着上一期讲解开盘定势的种类,在讲之前,科普一下“盘口五档”的成交知识。 每个炒股软件上,都会有某只个股的成交信息,在其中会出现一个五档的行情列表,里面列出了买家和卖家各五个价格及其对应的数量。这五档价…

Docker 基础使用(5)Compose

文章目录 Docker Compose 基础认识Docker Compose 基础语法Docker Compose 基础指令Docker Compose 使用实例 Docker 基础使用(0)基础认识 Docker 基础使用(1)使用流程概览 Docker 基础使用(2)镜像与容器 Docker 基础使用(3)存储卷…

【教程】使用立创EDA打开JSON格式的PCB及原理图

这里写目录标题 一、将PCB和原理图放同一文件夹二、打开嘉立创EDA并导入.zip文件三、选择.zip文件并选择 “导入文件并提取库” 一、将PCB和原理图放同一文件夹 并打包成.zip文件 二、打开嘉立创EDA并导入.zip文件 嘉立创 我这里用的网页端,客户端下载页面拉到…

FreeRTOS简单内核实现6 优先级

文章目录 0、思考与回答0.1、思考一 1、就绪链表1.1、创建1.2、初始化1.3、添加任务1.3.1、prvAddNewTaskToReadyList( )1.3.2、prvAddTaskToReadyList( ) 1.4、寻找最高优先级任务 2、修改内核程序2.1、TCB2.2、xTaskCreateStatic( )2.3、prvInitialiseNewTask( )2.4、vTaskSt…

[Qt的学习日常]--常用控件1

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、什么是控…

运算符与表达式

运算符和表达式是C语言编程的基础构建块,它们共同构成了C语言程序的核心逻辑和计算。理解和掌握运算符和表达式的相关知识,对于编写高效、易读的C语言代码至关重要。 一、运算符概述 运算符是C语言中用于执行各种操作的符号,它们可以对变量、…