熵、交叉熵、KL散度
这里写目录标题
- 熵
- KL散度
- 引入交叉熵。
- 交叉熵的二分类公式:
- 再次理解SoftMax函数
- 结束
熵
熵,是一个物理上的概念,表示一个系统的不确定性程度,或者表示一个系统的混乱程序。
下边是信息熵的演示:
信息熵的公式如下:
H ( x ) = − ∑ i = 1 ) n p ( x i ) l o g p ( x i ) H(x)=-\sum_{i=1)}^{n}p(x_i)logp(x_i) H(x)=−∑i=1)np(xi)logp(xi)
其中 P ( x ) 表示随机变量 x 的概率函数 P(x)表示随机变量x的概率函数 P(x)表示随机变量x的概率函数看数值可知道班花A的头脑更加混乱,那么多个帅哥,不知选择哪一个,不像班花B只需要选择第一个大帅哥即可。
KL散度
KL散度就是相对熵,相对熵就是KL散度
KL散度 = 相对熵,相对熵 = KL散度。
KL 散度:是两个概率分布间差异的非对称性度量。
怎么理解这句话呢?
KL散度其实是用来衡量同一个随机变量的两个不同分布之间的距离。
KL散度的公式如下:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) l o g ( p ( x i ) q ( x i ) ) D_{KL}(p||q) =\sum_{i=1}^{n}p(x_i)log(\frac{p(x_i)}{q(x_i)}) DKL(p∣∣q)=∑i=1np(xi)log(q(xi)p(xi))
在这补充一下 条件概率:
条件概率公式如下:
P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A)=\frac{P(AB)}{P(A)} P(B∣A)=P(A)P(AB)
理解:就是说,在A发生的条件下呢,AB也同时 发生。
上述公式也可写成:
P ( B ∣ A ) = P ( A , B ) P ( A ) P(B|A)=\frac{P(A,B)}{P(A)} P(B∣A)=P(A)P(A,B)
KL散度的特性:
特点1:非对称性。
即D_KL(p||q) 不等于D_KL(q||p)
只有当p 和q的概率分布完全一样时才会相等。
特点2:非负性。
DKL的值永远大于0
只有当p 和q的概率分布完全一样时才会等于0.
看看b站老表老师的例子,笑着理解。哈哈哈

KL散度公式的变形:

引入交叉熵。
交叉熵公式如下:
H ( P , Q ) = − ∑ i = 1 n p ( x i ) l o g q ( x i ) H(P,Q) = -\sum_{i=1}^{n} p(x_i)logq(x_i) H(P,Q)=−∑i=1np(xi)logq(xi) 经过简单变形:
=> H ( P , Q ) = ∑ i = 1 n p ( x i ) l o g ( 1 q ( x i ) ) H(P,Q) = \sum_{i=1}^{n} p(x_i)log(\frac{1}{q(x_i)}) H(P,Q)=∑i=1np(xi)log(q(xi)1)
其中 p ( x i ) 是真实分布的概率, q ( x i ) 是预测的概率 p(x_i)是真实分布的概率,q(x_i)是预测的概率 p(xi)是真实分布的概率,q(xi)是预测的概率
同样看下b站老师的例子,笑着理解吧!

观测交叉熵的数值可知:
1、预测越准确,交叉熵越小。
2、交叉熵只跟真是标签的预测概率值有关。
所以你就能推断出交叉熵的最简公式:
C r o s s E n t r o p y ( p , q ) = − l o g q ( c i ) Cross_Entropy(p,q)=-logq(c_i) CrossEntropy(p,q)=−logq(ci)
交叉熵的二分类公式:
H ( P , Q ) = − ∑ i = 1 n p ( x i ) l o g ( q ( x i ) ) H(P,Q)=-\sum_{i=1}^{n}p(x_i)log(q(x_i)) H(P,Q)=−∑i=1np(xi)log(q(xi))
= − p ( x 1 ) l o g q ( x 1 ) + p ( x 2 ) l o g q ( x 2 ) =-p(x_1)logq(x_1)+p(x_2)logq(x_2) =−p(x1)logq(x1)+p(x2)logq(x2)
= − p l o g q + ( 1 − p ) l o g ( 1 − q ) =-plogq+(1-p)log(1-q) =−plogq+(1−p)log(1−q)
= − ( p l o g q − ( 1 − p ) l o g ( 1 − q ) ) =-(plogq-(1-p)log(1-q)) =−(plogq−(1−p)log(1−q))
怎么推到第四步的呢?
p ( x 1 ) + p ( x 2 ) = 1 ,我们假设 p(x_1)+p(x_2)=1,我们假设 p(x1)+p(x2)=1,我们假设 p ( x 1 ) = p ,那么 p ( x 2 ) = 1 − p p(x_1) = p,那么p(x_2) = 1-p p(x1)=p,那么p(x2)=1−p
同理:
q ( x 1 ) + q ( x 2 ) = 1 ,我们假设 q(x_1)+q(x_2)=1,我们假设 q(x1)+q(x2)=1,我们假设 q ( x 1 ) = q ,那么 q ( x 2 ) = 1 − q q(x_1) = q,那么q(x_2) = 1-q q(x1)=q,那么q(x2)=1−q
继续看b站老师的例子,帮助理解。

继续观摩老师的PPT:

再次理解SoftMax函数
按照老师的话来说:
softMax就是将数字转换成概率的大杀器,进行数据归一化的大杀器。
结束
对于该为b站老师的视频,我感觉讲的非常好哇,很适合小白入门,可惜后续没再更新,不知在哪还能找到勒
相关文章:
熵、交叉熵、KL散度
这里写目录标题 熵KL散度引入交叉熵。交叉熵的二分类公式: 再次理解SoftMax函数结束 熵 熵,是一个物理上的概念,表示一个系统的不确定性程度,或者表示一个系统的混乱程序。 下边是信息熵的演示: 信息熵的公式如下&…...
THS配置keepalive(yjm)
启动完THS管理控制台和THS后,登录控制台,进入实例管理》节点管理,可以分别使用界面配置和编辑配置设置长连接。 1、界面配置 点击界面配置》集群设置,启用长连接,设置长连接数、最大请求数和超时时间。 2、编辑配置 …...
新加坡裸机云多IP服务器特性
新加坡裸机云多IP服务器是一种高性能、稳定性强,且具备多IP地址特性的服务器。它主要适用于需要高度计算性能、网络连接稳定和高安全性的业务场景,如跨境外贸等。下面将详细探讨该类型服务器的特性,rak部落为您整理发布新加坡裸机云多IP服务器…...
深入理解ADB:Android调试桥详解与使用指南
🍎个人博客:个人主页 🏆个人专栏:Android ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 1. 什么是ADB? ADB的基本原理: 2. ADB的安装与配置 安装ADB工具集: 配置ADB环境变量&am…...
PACS-医学影像信息管理系统,全影像科室PACS源码,内置包括MPR、CMPR、VR等三维处理功能
PACS系统可以覆盖医院现有放射、CT、MR、核医学、超声、内镜、病理、心电等绝大部分DICOM和非DICOM检查设备,支持从科室级、全院机、集团医院级乃至到区域PACS的平滑扩展,能够与医院HIS、集成平台的有效集成和融合,帮助医院实现了全院医学影像…...
无人机搭载无人机反制设备可行性分析
一、引言 随着无人机技术的飞速发展,无人机在各个领域的应用越来越广泛。然而,无人机的不当使用也可能带来安全隐患和隐私问题。因此,无人机反制设备应运而生,用于对非法或危险无人机进行干扰和控制。本文将对无人机搭载无人机反…...
MATLAB绘制方波、锯齿波、三角波、正弦波和余弦波、
一、引言 MATLAB是一种具有很强的数值计算和数据可视化软件,提供了许多内置函数来简化数学运算和图形的快速生成。在MATLAB中,你可以使用多种方法来快速绘制正弦波、方波和三角波。以下是一些基本的示例,展示了如何使用MATLAB的命令来实现正弦…...
【通信协议-RTCM】MSM语句(2) - RINEXMSM7语句总结(重要!自动化开发计算卫星状态常用)
注释: 在工作中主要负责的是RTCM-MSM7语句相关开发工作,所以主要介绍的就是MSM7语句相关内容 1. 相位校准参考信号 2. MSM1、MSM2、MSM3、MSM4、MSM5、MSM6和MSM7的消息头内容 DATA FIELDDF NUMBERDATA TYPENO. OF BITSNOTES Message Number - 消息编…...
ios CCUIFont.m
// // CCUIFont.h // CCFC // //#import <Foundation/Foundation.h>// 创建字体对象 #define CREATE_FONT(fontSize) [UIFont systemFontOfSize:(fontSize)]interface UIFont(cc) (void)logAllFonts;end // // CCUIFont.m // CCFC // //#import "CCUIFont.h&…...
调度子系统在特定时间执行
时序逻辑调度器设计模式允许您安排Simulink子系统在指定时间执行。以下模型说明了这种设计模式。 时序逻辑调度器图表包含以下逻辑: 时序逻辑调度器的关键行为 时序逻辑调度器图表包含两个状态,它们以不同的速率调度函数调用子系统A1、A2和A3的执行&…...
【QAC】Dashboard服务端如何配置
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决Dashboard服务端如何配置的问题。 2、 问题场景 客户想使用Dashboard,Dashboard服务端如何配置。 3、软硬件环境 1、软件版本:HelixQAC23.04 2、机器环境:Windows 64bit 3…...
深入理解Linux网络(四):TCP接收阻塞
TCP socket 接收函数 recv 发出 recvfrom 系统调用。 进⼊系统调⽤后,⽤户进程就进⼊到了内核态,通过执⾏⼀系列的内核协议层函数,然后到 socket 对象的接收队列中查看是否有数据,没有的话就把⾃⼰添加到 socket 对应的等待队列⾥…...
【iOS】内存五大分区
目录 堆(Heap)是什么五大分区栈区堆区全局/静态区常量区(即.rodata)代码区(.text) 函数栈堆和栈的区别和联系图解 OC语言是C语言的超集,所以先了解C语言的内存模型的内存管理会有很大帮助。C语言…...
Jupyter Notebook: 是一个强大的交互式计算
文章目录 引言Jupyter Notebook的原理基础使用安装与启动单元格(Cell)操作快捷键 高级使用魔术命令Markdown支持可视化版本控制 优缺点优点缺点 官网链接结论 引言 Jupyter Notebook是一个强大的交互式计算环境,特别适用于数据科学、机器学习…...
【C#学习笔记】变量、变量类型
在C#中,变量是存储数据的容器,每个变量都有其特定的数据类型,这决定了变量可以存储的数据类型和大小。以下是关于C#中变量的由浅入深的详细解释,并附带代码示例和解释: 基础概念 定义: 变量是存储数据的容…...
题解:T480718 eating
eating 题目背景 从前有个荣光的王国,小 A 是里面的国王,今天他要赐予他的子民以仓廪。 题目描述 在一条街上有 n n n 个饭店。小 A 站在这条街的最左端。 第 i i i 个饭店离这条街最左端的距离是 a i a_i ai,它所售卖的菜品的美味…...
MATLAB中matfile用法
目录 语法 说明 示例 创建 MAT 文件对象 启用对 MAT 文件的写访问权限 加载整个变量 将整个变量保存至现有 MAT 文件 加载和保存部分变量 确定变量大小 参数说明 局限性 提示 matfile的功能是访问和更改 MAT 文件中的变量,而不必将文件加载到内存中。 …...
Spring之Spring Bean的生命周期
Spring Bean的生命周期 通过BeanDefinition获取bean的定义信息调用构造函数实例化beanBean的依赖注入处理Aware接口(BeanNameAware、BeanFactoryAware、ApplicationContextAware)Bean的后置处理器BeanPostProcessor-前置初始化方法(Initiali…...
OSINT 开源情报中的地理定位方法
了解 OSINT 中的地理定位技术、如何获取地理位置数据以及如何将地理定位用于各种调查场景。 OSINT 中的地理定位基础知识 OSINT 代表开源情报,指的是从免费公共来源合法收集的有关个人或组织的信息。这包括在互联网上以及书籍、公共图书馆报告、报纸文章、新闻稿、…...
Java面试题系列 - 第17天
Java中的代理模式与动态代理 背景说明:代理模式是一种结构型设计模式,用于在客户端和目标对象之间提供一个代理或占位符。在Java中,动态代理技术允许在运行时创建代理对象,这在AOP(面向切面编程)和RPC&…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

看数值可知道班花A的头脑更加混乱,那么多个帅哥,不知选择哪一个,不像班花B只需要选择第一个大帅哥即可。