【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换一个国内的镜像源的,一般的我们可以将镜像换成淘宝的源,由于平时比较常用到的…

超级数据查看器 教程pdf 1-31集 百度网盘

百度网盘链接 提取码1234 通过百度网盘分享的文件:超级数据查看器 … 链接:https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 提取码:1234 复制这段内容打开「百度网盘APP 即可获取」

基于深度学习的物体材质预测

基于深度学习的物体材质预测 物体材质预测是计算机视觉中的一个重要任务,旨在通过分析图像或视频来识别和分类物体的材质类型(如金属、木材、塑料、布料等)。基于深度学习的方法在材质预测中取得了显著进展,能够高效地提取图像特…

[AI words] 突破瓶颈:如何将AI words网站构建时间缩短一半

在一个阳光明媚的早晨,我坐在电脑前,满怀期待地按下了“构建”按钮,准备生成我的新网站 AI words。这个网站的目标是为每个单词生成一个单独的页面,总共有5000个单词。可是,构建过程竟然需要整整14分钟!我心…

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

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文档中,而用 于定义表现形式…

Web前端行距代码:深入探索与实战应用

Web前端行距代码:深入探索与实战应用 在Web前端开发中,行距是一个至关重要的设计元素,它直接影响着网页的可读性和美观度。本文将围绕四个方面、五个方面、六个方面和七个方面,深入探讨Web前端行距代码的实现与应用。 一、四个方…

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

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

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

文章目录 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…

Flask-OAuthlib

Flask-OAuthlib库教程 Flask-OAuthlib 是一个为 Flask 应用提供 OAuth1 和 OAuth2 支持的库。它允许开发者轻松地集成第三方 OAuth 服务,或者构建自己的 OAuth 提供者服务。 官方文档链接 Flask-OAuthlib官方文档 架构概述 Flask-OAuthlib 的主要组件包括&…