一: 一些基本概念

1.1 信息量:特定事件所携带的信息多少

信息量衡量的是特定事件所携带的信息多少,其数学定义为:其中p(x)是事件x发生的概率。
在这里插入图片描述

核心思想:越罕见的事件,其携带的信息量越大;越常见的事件,其携带的信息量越小。

例如:

  • 如果某事件必然发生(p(x)=1),信息量为0,意味着观察到它不会带来任何新信息
    -如果某事件极其罕见(p(x)很小),信息量很大,观察到它提供了大量信息

1.2 惊奇度:观察到某事件时的"意外程度"

惊奇度表示观察到某事件时的"意外程度",其数学定义为:
₂

核心思想:越意外的事件惊奇度越高,越预期的事件惊奇度越低。

实际上,惊奇度和信息量是完全等价的数学表达式:

信息量强调的是事件所携带的信息内容
惊奇度强调的是事件发生的意外程度

1.3 熵 Entropy:度量随机变量的不确定性

信息论中的基本概念,用于度量随机变量(一个概率分布)的不确定性。

熵的概念可以从信息论角度推导:

  • 定义信息量: 对于概率为 p 的事件,其信息量为 I( p )=-log2 ( p)
  • 低概率事件携带更多信息(更"意外")
  • 高概率事件携带更少信息(更"预期")

1.3.1 定义:熵是平均信息量

熵是平均信息量:

对于离散随机变量X,其熵定义为:
在这里插入图片描述

对于一个特例,p(X=x₀)=1,即随机变量 X 确定性地取值为 x₀,我们可以如下推导:

所以,p(X=x₀)=1表示随机变量 X 是一个确定性变量,它总是取值为 x₀,没有任何不确定性。这种情况下:
– 随机变量没有任何随机性
– 系统处于完全确定的状态
– 我们可以100%确定 X 的值

熵为0正是反映了这种情况:当系统完全确定(无不确定性)时,熵达到最小值0,不需要任何额外信息就能预测其状态。

二元分布的熵与概率 p
  • 横轴是第一个事件发生的概率 p(第二个事件的概率就是 1-p)
  • 纵轴是对应的熵值
  • 这个图会呈现出一个倒U形曲线,
  • 在 p = 0.5 处达到最大值1比特。这是因为:
    当 p 接近 0 或 1 时,分布非常不平衡,一个事件几乎必然发生,另一个几乎不可能发生,这种情况下熵接近于0(表示低不确定性)
    当 p = 0.5 时,两个事件等可能发生,这是最不确定的情况,熵达到最大值1比特
三元分布belike:
  • 当分布均匀时(p1=p2=p3=1/3),熵达到最大值 log₂(3) ≈ 1.585 比特
  • 当一个概率接近1,其他接近0时,熵接近0
  • 当两个概率相等且较大,第三个较小时,熵介于log₂(2)和log₂(3)之间
  • 分布越不均匀,熵值越低,表示不确定性越小
    在这里插入图片描述
自由度解释:

三元分布有两个自由度时:
在一个有n个可能取值的概率分布中,因为所有概率之和必须等于1(∑p_i = 1),所以只有(n-1)个概率值可以自由选择。一旦确定了这(n-1)个值,最后一个值就被约束了。

例如:
二元分布:只有1个自由度。如果p₁ = 0.3,那么必然p₂ = 0.7
三元分布:有2个自由度。如果p₁ = 0.2,p₂ = 0.5,那么必然p₃ = 0.3

1.3.2 熵 Entropy和期望 Expectation

期望是随机变量的平均值或加权平均值,表示随机变量的"中心位置"。

对于离散随机变量 X,其期望定义为:
在这里插入图片描述
x 是随机变量 X 可能的取值、p(x) 是 X 取值为 x 的概率

对于连续随机变量 X,其期望定义为:
在这里插入图片描述
其中 f(x) 是 X 的概率密度函数。

推导过程

第一步:熵的标准定义
在这里插入图片描述
第二步:对数性质的应用
在这里插入图片描述
这一步是将负号移入对数内部,使用了对数的基本性质。

第三步:转换为期望形式
在这里插入图片描述
这一步表明熵是随机变量log(1/p(X))关于分布 p(x) 的期望。

熵是随机变量 X的"惊奇度"log2(1/p(X))的平均值。
1/p(x) 越大(即概率越小),惊奇度越高,贡献的信息量也越大。

熵是平均信息量 。换句话说,熵是对随机变量不确定性的平均度量,数学上就是信息量的期望(期望值)

1.4 相对熵(KL散度)

KL散度的定义:
对于未知概率分布p(x),我们用q(x)去逼近p(x),并定义相对熵或称KL散度。
在这里插入图片描述

1.5 交叉熵 Cross Entropy:度量两个概率分布之间的差异

交叉熵定义:用于度量两个概率分布之间的差异
在这里插入图片描述
所以可以得到
在这里插入图片描述

这个公式可以从编码理论角度理解:

  • H( p) - 使用最优编码方案(基于真实分布p)对来自分布p的数据进行编码所需的平均比特数
  • H(p,q) - 使用基于估计分布q的编码方案对来自真实分布p的数据进行编码所需的平均比特数
  • D(p||q) - 使用分布q的编码方案(而非最优编码方案p)所导致的额外编码成本

因此,这个公式表明:交叉熵 = 最优编码长度 + 使用错误分布造成的额外成本

二:从机器学习训练角度理解交叉熵与KL散度

2.1 模型训练目标:

有监督学习中:H( p) 是固定的,等价于最小化 D(p||q)

目标:最小化 p 和 q 之间的差异

在有监督学习中:
H( p)是固定的(取决于真实数据分布)
我们试图最小化H(p,q)(交叉熵损失)
等价于最小化D(p||q)(KL散度)

p(x) 是数据的真实分布(由标签定义)
q(x) 是模型预测的分布(模型输出)
我们的目标是最小化 p 和 q 之间的差异

2.2 为什么使用交叉熵作为损失函数

最小化交叉熵等价于最大化对数似然

当我们使用交叉熵 H(p,q) 作为损失函数时:
我们实际上是在最小化 D(p||q),因为 H( p) 是固定的
最小化交叉熵等价于最大化对数似然(log-likelihood)
交叉熵容易计算,且梯度性质好

梯度下降最小化交叉熵,D(p||q)→0时,q→p

当我们通过梯度下降最小化交叉熵时:
我们在寻找能够使模型分布q最接近真实分布p的参数
在训练过程中,D(p||q)逐渐减小
理想情况下,当D(p||q)→0时,q→p,模型完美拟合数据

  • 训练开始时:
    q分布与p分布差异大,D(p||q)值高, 交叉熵损失值大
  • 训练进行中:
    模型更新使q逐渐接近p, D(p||q)逐渐减小, 交叉熵损失逐渐降低

过拟合与正则化

如果模型过度专注于使训练数据的D(p||q)→0,可能会导致过拟合
正则化技术可以理解为对模型分布q施加额外约束,防止其过度拟合训练数据的p

2.3 具体例子

2.3.1 多分类问题

p 是one-hot编码的真实标签 [0,1,0,0,…]
q 是模型输出的softmax概率 [0.1,0.7,0.05,…]
交叉熵损失: H(p,q) = -∑p(x)log q(x)
因为p是one-hot编码,这简化为: -log q(正确类别)

2.3.2 在语言模型训练中

p是下一个token的真实分布
q是模型预测的下一个token的概率分布
最小化H(p,q)使模型预测分布尽可能接近真实分布

这种框架不仅解释了为什么交叉熵是首选损失函数,还帮助我们理解模型训练的本质:让模型分布逐渐接近数据真实分布的过程。
它帮助我们让模型分布q尽可能接近真实分布p,当q完全匹配p时,KL散度为0,交叉熵达到理论最小值H§ 。

2.4 最大似然估计 MLE

最大似然估计是统计学习的核心原理,
MLE的本质:找到一组参数使模型生成观测数据的概率最大

基本概念
我们从真实但未知的数据分布 p_data(x) 中采样得到数据集

每个样本 x_i 都是独立同分布(i.i.d.)的
目标是估计模型参数 θ,使得模型分布Pmodel (x; θ)最接近真实分布

2.4.1 推导过程解析:MLE与交叉熵

在这里插入图片描述这一步是对目标函数(也就是似然函数)取对数。这样做的原因是:

  • 对数是单调递增函数,所以最大化一个函数和最大化这个函数的对数是等价的,不会改变最大值对应的参数θ
  • 将乘积转换为求和,计算上更加方便,特别是当我们需要计算导数时
  • 避免数值计算中的下溢问题。直接计算很多小概率的乘积容易导致数值变得极小,超出计算机的表示范围

在这里插入图片描述

当我们将 p_model(x; θ) 记为 q(x),将 p_data(x) 记为 p(x) 时:
在这里插入图片描述
这最后一步正是最小化交叉熵

2.4.2 MLE的与交叉熵的等价性,

最小化交叉熵也等价于最小化KL散度
  • MLE的本质
    找到一组参数使模型生成观测数据的概率最大
  • 与交叉熵的等价性:
    最大化似然等价于最小化真实分布与模型分布之间的交叉熵
  • 与KL散度的关系:
    由于H(p,q) = H§ + D(p||q),而H§是常数,最小化交叉熵也等价于最小化KL散度
  • 实际应用:
    这就是为什么在神经网络等模型训练中,我们使用交叉熵作为损失函数 - 它直接对应于最大似然估计原则

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

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

相关文章

VBA 64位API声明语句第012讲

跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高…

深入理解Java中String.intern()方法:从原理到并发控制实践

深入理解 Java 中 String.intern () 方法:从原理到并发控制实践 在 Java 开发中,String.intern()方法是一个看似简单却蕴含深意的 API。它在字符串常量池管理、内存优化以及并发控制等场景中有着关键作用。本文将从底层原理出发,结合实际案例…

在Linux中创建LVGL应用

在Linux中创建LVGL应用 简介 上一篇文章介绍了在imx6上开发UI的流程 . 这篇接上文, 介绍具体的开发步骤。 1. 创建项目主目录 mkdir my_lvgl_project cd my_lvgl_project2. 初始化 Git 仓库 (可选但推荐) git init echo "# My Project with Dependencies&…

大模型对比评测:Qwen2.5 VS Gemini 2.0谁更能打?

一、背景与选型关键 在 AI 应用落地的时代,“AI大模型选型对比”成为关键环节。选择合适的模型要综合考量性能、上下文长度、推理能力、中文/编程支持、成本等多维度指标。 本文重点比较 Gemini2.0Flash-Lite (Preview)、Gemini2.0Flash &a…

转置卷积解释与示例计算

文章目录转置卷积的三种等价实现方法:原理、公式与等价性分析数学定义与核心公式方法一:零填充翻转核卷积(数学定义方法)原理与公式等价性说明方法二:直接位置映射(pytorch框架高效实现)原理与公…

关于车位引导及汽车乘梯解决方案的专业性、系统性、可落地性强的综合设计方案与技术实现说明,旨在为现代智慧停车楼提供高效、安全、智能的停车体验。

一、系统概述随着城市土地资源日益紧张,立体停车、自动化停车成为发展趋势。本方案围绕“车位引导系统 汽车乘梯系统”构建智慧停车核心体系,结合地磁/视频/超声波检测、AI识别、语音交互、电梯自动调度等先进技术,实现车辆入场、引导、停泊…

【相机】曝光时间长-->拖影

曝光时间长 → 运动目标在快门开启期间持续移动 → 同一像素记录多个位置的能量 → 图像出现“拖影”(运动模糊)。🔍 具体原因卷帘快门(Rolling Shutter)效应 RealSense 的 RGB 传感器(如 IMX 系列&#xf…

day36 力扣1049.最后一块石头的重量II 力扣494.目标和 力扣474.一和零

最后一块石头的重量II有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如下&#…

Java内存模型(Java Memory Model,JMM)

​​ JMM​​ 是Java虚拟机&#xff08;JVM&#xff09;规范中定义的一组规则和规范&#xff0c;用于描述多线程环境下&#xff0c;Java程序中变量的访问和修改行为&#xff0c;尤其是在并发编程中如何保证内存可见性、原子性和有序性。JMM 是 Java 并发编程的基石&…

【swoole Windows 开发(swoole-cli 开发 hyperf)】

先前swoole在Windows平台的开发体验极差&#xff0c;如果在Windows开发swoole的东西可以用docker或者虚拟机&#xff0c;远程开发&#xff0c;体验比较好的是直接Mac或者Linux系统开发。但是作为window平台的钉子户表示我穷。swoole之前已经推出了cygwin64编译成winwods版本的方…

兴达餐饮 酒店 进销存管理系统软件

兴达餐饮 酒店 进销存管理系统软件

Seal Report:一款免费开源的报表工具

Seal Report 是一款基于 C# 语言开发的开源报表工具&#xff0c;可以从各种数据库或 NoSQL 数据源中生成日常报告&#xff0c;并且执行复杂的计划任务。 功能特性 免费开源&#xff1a;源代码托管在 GitHub 上&#xff0c;用户可以自由使用、修改、甚至集成到自己的系统中&…

WebRTC 多媒体 SDP 示例与解析

webRTC中的SDP的Bundlle可能包含一个或者多个媒体块&#xff08;媒体描述, 源码对应类ContentInfo&#xff09;&#xff0c;从 m 开始到下一个 m 行&#xff08;或 SDP 结束&#xff09;之间的所有属性&#xff08;包括 a&#xff09;都属于同一个媒体块&#xff08;media sect…

SpringBoot 启动富文本文字更改

正常来说 SpringBoot启动时候&#xff0c;展示的文字是这个 、 主播这边想要换一个样式&#xff0c;换一个自己自定义的文字 这边换成了自己的博客名字 具体实现操作如下 在项目目录 resources下创建一个名字为banner.txt的文本&#xff0c;这是SpringBoot启动的时候寻找的…

基于结构熵权-云模型的铸铁浴缸生产工艺安全评价

一、评价模型核心思想 结构熵权法 解决传统熵权法忽略指标间结构关系的问题,通过指标层次网络计算权重。 步骤: 构建工艺安全评价指标体系(树状/网络结构) 计算同级指标间的影响度矩阵 引入修正熵权:wj=1−Ej∑(1−Ek)结构影响因子w_j = \frac{1 - E_j}{\sum (1 - E_k)} \…

[Linux]从零开始的vs code交叉调试arm Linux程序教程

一、前言 最近的项目中需要集成rknn的视觉识别&#xff0c;在这之前我并且没有将rknn集成到自己项目的经验。这里我需要在rknn原本demo的基础上我还需要集成自己的业务代码。但是又有一个问题&#xff0c;原本rknn我们都是使用交叉编译编译到开发板上的&#xff0c;并且我们还要…

视频号私信自动化回复插件

给自己的浏览器插件又增加了视频号斯信的自动化回复搜索&#xff1a;程序员老狼主体逻辑就是&#xff0c;不停的点击打招呼和斯信那个tab切换查看有无小红点&#xff0c;有小红点的会话&#xff0c;就点击。查看有无打招呼&#xff0c;有打招呼就点击&#xff0c;抓取昵称和内容…

Web前端实现银河粒子流动特效的3种技术方案对比与实践

文章目录 前端实现银河粒子流动特效的技术原理与实践 引言:银河粒子特效的技术背景与现状 技术发展历史 当前技术现状 技术原理与实现方案 思维导图:银河粒子特效技术架构 1. CSS3实现方案 基础实现代码 性能优化技巧 2. Canvas 2D实现方案 基础实现代码 Canvas高级优化技术 …

Linux:告别Jammy,拥抱Noble!WSL Ubuntu 22.04 到 24.04 LTS 终极升级指南

大家好&#xff01;如果大家和我一样&#xff0c;是Windows Subsystem for Linux (WSL) 的忠实用户&#xff0c;那么大家一定对Ubuntu在其中的表现印象深刻。我们中的许多人可能还在使用稳定可靠的Ubuntu 22.04 LTS (Jammy Jellyfish)。但现在&#xff0c;一个更令人兴奋的时代…

江协科技STM32 11-1 SPI通信协议

本节课我们将继续学习下一个通信协议&#xff0c;SPI。SPI通信和我们刚刚学习过的I2C通信差不多。两个协议的设计目的都一样都是实现主控芯片和各种外挂芯片之间的数据交流&#xff0c;有了数据交流的能力&#xff0c;我们的主控芯片就可以挂载并操纵各式各样的外部芯片&#x…