直观解读Kullback-Leibler Divergence (KL 散度)的数学概念

KL散度(KL divergence) KL散度(KL divergence) 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。 KL散度是两个概率分布P和Q差别的非对称性的度量,用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典... 阅读详情
AI摘要

本文介绍了KL散度作为衡量两个概率分布相似性的指标,通过太空蠕虫牙齿数量的例子,解释了如何用均匀分布和二项分布建模真实数据,并通过计算KL散度确定哪种分布更接近真实分布。结果显示,虽然二项分布含有更多信息,但在这种情况下均匀分布的匹配程度更高。,

机器学习是当前最重要的技术发展方向之一。近日,悉尼大学博士生 Thushan Ganegedara 开始撰写一个系列博客文章,旨在为机器学习初学者介绍一些基本概念。本文是该系列的第一篇文章,介绍了 KL 散度(KL divergence)的基本数学概念和初级应用。作者已将相关代码发布在 GitHub 上。

代码:exercises_thushv_dot_com/kl_divergence.ipynb at master · thushv89/exercises_thushv_dot_com · GitHub

基础概念

首先让我们确立一些基本规则。我们将会定义一些我们需要了解的概念。

分布(distribution)

分布可能指代不同的东西,比如数据分布或概率分布。我们这里所涉及的是概率分布。假设你在一张纸上画了两根轴(即 X 和 Y),我可以将一个分布想成是落在这两根轴之间的一条线。其中 X 表示你有兴趣获取概率的不同值。Y 表示观察 X 轴上的值时所得到的概率。即 y=p(x)。下图即是某个分布的可视化。

这是一个连续概率分布。比如,我们可以将 X 轴看作是人的身高,Y 轴是找到对应身高的人的概率。

如果你想得到离散的概率分布,你可以将这条线分成固定长度的片段并以某种方式将这些片段水平化。然后就能根据这条线的每个片段创建边缘互相连接的矩形。这就能得到一个离散概率分布。

事件(event)

对于离散概率分布而言,事件是指观察到 X 取某个值(比如 X=1)的情况。我们将事件 X=1 的概率记为 P(X=1)。在连续空间中,你可以将其看作是一个取值范围(比如 0.95<X<1.05)。注意,事件的定义并不局限于在 X 轴上取值。但是我们后面只会考虑这种情况。

回到 KL 散度

从这里开始,我将使用来自这篇博文的示例:https://www.countbayesie.com/blog/2017/5/9/kullback-leibler-divergence-explained。这是一篇很好的 KL 散度介绍文章,但我觉得其中某些复杂的解释可以更详细的阐述。好了,让我们继续吧。

或者这篇文章的总结:

机器学习:Kullback-Leibler Divergence (KL 散度)_kullbackleibler divergence_Matrix_11的博客-优快云博客

KL 散度,这是一个用来衡量两个概率分布的相似性的一个度量指标。我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样本,我们会对数据的整体做一个近似的估计,而数据整体本身有一个真实的分布(我们可能永远无法知道),那么近似估计的概率分布和数据整体真实的概率分布的相似度,或者说差异程度,可以用 KL 散度来表示。
 

我们想要解决的问题

上述博文中所解决的核心问题是这样的:假设我们是一组正在广袤无垠的太空中进行研究的科学家。我们发现了一些太空蠕虫,这些太空蠕虫的牙齿数量各不相同。现在我们需要将这些信息发回地球。但从太空向地球发送信息的成本很高,所以我们需要用尽量少的数据表达这些信息。我们有个好方法:我们不发送单个数值,而是绘制一张图表,其中 X 轴表示所观察到的不同牙齿数量(0,1,2…),Y 轴是看到的太空蠕虫具有 x 颗牙齿的概率(即具有 x 颗牙齿的蠕虫数量/蠕虫总数量)。这样,我们就将观察结果转换成了分布。

发送分布比发送每只蠕虫的信息更高效。但我们还能进一步压缩数据大小。我们可以用一个已知的分布来表示这个分布(比如均匀分布、二项分布、正态分布)。举个例子,假如我们用均匀分布来表示真实分布,我们只需要发送两段数据就能恢复真实数据;均匀概率和蠕虫数量。但我们怎样才能知道哪种分布能更好地解释真实分布呢?这就是 KL 散度的用武之地。

直观解释:KL 散度是一种衡量两个分布(比如两条线)之间的匹配程度的方法。

让我们对示例进行一点修改

为了能够检查数值的正确性,让我们将概率值修改成对人类更友好的值(相比于上述博文中的值)。我们进行如下假设:假设有 100 只蠕虫,各种牙齿数的蠕虫的数量统计结果如下。

0 颗牙齿:2(概率:p_0 = 0.02)

1 颗牙齿:3(概率:p_1 = 0.03)

2 颗牙齿:5(概率:p_2 = 0.05)

3 颗牙齿:14(概率:p_3 = 0.14

4 颗牙齿:16(概率:p_4 = 0.16)

5 颗牙齿:15(概率:p_5 = 0.15)

6 颗牙齿:12(概率:p_6 = 0.12)

7 颗牙齿:8(概率:p_7 = 0.08)

8 颗牙齿:10(概率:p_8 = 0.1)

9 颗牙齿:8(概率:p_9 = 0.08)

10 颗牙齿:7(概率:p_10 = 0.07)

快速做一次完整性检查!确保蠕虫总数为 100,且概率总和为 1.0.

  • 蠕虫总数 = 2+3+5+14+16+15+12+8+10+8+7 = 100

  • 概率总和 = 0.02+0.03+0.05+0.14+0.16+0.15+0.12+0.08+0.1+0.08+0.07 = 1.0

可视化结果为:

尝试 1:使用均匀分布建模

我们首先使用均匀分布来建模该分布。均匀分布只有一个参数:均匀概率;即给定事件发生的概率。

均匀分布和我们的真实分布对比:

先不讨论这个结果,我们再用另一种分布来建模真实分布。

尝试 2:使用二项分布建模

你可能计算过抛硬币正面或背面向上的概率,这就是一种二项分布概率。我们可以将同样的概念延展到我们的问题上。对于有两个可能输出的硬币,我们假设硬币正面向上的概率为 p,并且进行了 n 次尝试,那么其中成功 k 次的概率为:

公式解读

这里说明一下二项分布中每一项的含义。第一项是 p^k。我们想成功 k 次,其中单次成功的概率为 p;那么成功 k 次的概率为 p^k。另外要记得我们进行了 n 次尝试。因此,其中失败的次数为 n-k,对应失败的概率为 (1-p)。所以成功 k 次的概率即为联合概率

。到此还未结束。在 n 次尝试中,k 次成功会有不同的排列方式。在数量为 n 的空间中 k 个元素的不同排列数量为将所有这些项相乘就得到了成功 k 次的二项概率。

二项分布的均值和方差

我们还可以定义二项分布的均值和方差,如下:

均值= np

方差= np(1-p)

均值是什么意思?均值是指你进行 n 次尝试时的期望(平均)成功次数。如果每次尝试成功的概率为 p,那么可以说 n 次尝试的成功次数为 np。

方差又是什么意思?它表示真实的成功尝试次数偏离均值的程度。为了理解方差,让我们假设 n=1,那么等式就成了「方差= p(1-p)」。那么当 p=0.5 时(正面和背面向上的概率一样),方差最大;当 p=1 或 p=0 时(只能得到正面或背面中的一种),方差最小。

回来继续建模

现在我们已经理解了二项分布,接下来回到我们之前的问题。首先让我们计算蠕虫的牙齿的期望数量:

有了均值,我们可以计算 p 的值:

均值 = np

5.44 = 10p

p = 0.544

注意,这里的 n 是指在蠕虫中观察到的最大牙齿数。你可能会问我们为什么不把蠕虫总数(即 100)或总事件数(即 11)设为 n。我们很快就将看到原因。有了这些数据,我们可以按如下方式定义任意牙齿数的概率。

鉴于牙齿数的取值最大为 10,那么看见 k 颗牙齿的概率是多少(这里看见一颗牙齿即为一次成功尝试)?

从抛硬币的角度看,这就类似于:

假设我抛 10 次硬币,观察到 k 次正面向上的概率是多少?

从形式上讲,我们可以计算所有不同 k 值的概率

。其中 k 是我们希望观察到的牙齿数量。是第 k 个牙齿数量位置(即 0 颗牙齿、1 颗牙齿……)的二项概率。所以,计算结果如下:

我们的真实分布和二项分布的比较如下:

 总结已有情况

现在回头看看我们已经完成的工作。首先,我们理解了我们想要解决的问题。我们的问题是将特定类型的太空蠕虫的牙齿数据统计用尽量小的数据量发回地球。为此,我们想到用某个已知分布来表示真实的蠕虫统计数据,这样我们就可以只发送该分布的参数,而无需发送真实统计数据。我们检查了两种类型的分布,得到了以下结果。

  • 均匀分布——概率为 0.0909

  • 二项分布——n=10、p=0.544,k 取值在 0 到 10 之间。

让我们在同一个地方可视化这三个分布: 

我们如何定量地确定哪个分布更好?

经过这些计算之后,我们需要一种衡量每个近似分布与真实分布之间匹配程度的方法。这很重要,这样当我们发送信息时,我们才无需担忧「我是否选择对了?」毕竟太空蠕虫关乎我们每个人的生命。

这就是 KL 散度的用武之地。KL 散度在形式上定义如下:

其中 q(x) 是近似分布,p(x) 是我们想要用 q(x) 匹配的真实分布。直观地说,这衡量的是给定任意分布偏离真实分布的程度。如果两个分布完全匹配,那么

,否则它的取值应该是在 0 到无穷大(inf)之间。KL 散度越小,真实分布与近似分布之间的匹配就越好。

KL 散度的直观解释

让我们看看 KL 散度各个部分的含义。首先看看

项。如果 q(x_i) 大于 p(x_i) 会怎样呢?此时这个项的值为负,因为小于 1 的值的对数为负。另一方面,如果 q(x_i) 总是小于 p(x_i),那么该项的值为正。如果 p(x_i)=q(x_i) 则该项的值为 0。然后,为了使这个值为期望值,你要用 p(x_i) 来给这个对数项加权。也就是说,p(x_i) 有更高概率的匹配区域比低 p(x_i) 概率的匹配区域更加重要。

直观而言,优先正确匹配近似分布中真正高可能性的事件是有实际价值的。从数学上讲,这能让你自动忽略落在真实分布的支集(支集(support)是指分布使用的 X 轴的全长度)之外的分布区域。另外,这还能避免计算 log(0) 的情况——如果你试图计算落在真实分布的支集之外的任意区域的这个对数项,就可能出现这种情况。

计算 KL 散度

我们计算一下上面两个近似分布与真实分布之间的 KL 散度。首先来看均匀分布:

再看看二项分布:

玩一玩 KL 散度

现在,我们来玩一玩 KL 散度。首先我们会先看看当二元分布的成功概率变化时 KL 散度的变化情况。不幸的是,我们不能使用均匀分布做同样的事,因为 n 固定时均匀分布的概率不会变化。 

可以看到,当我们远离我们的选择(红点)时,KL 散度会快速增大。实际上,如果你显示输出我们的选择周围小 Δ 数量的 KL 散度值,你会看到我们选择的成功概率的 KL 散度最小。

现在让我们看看

和的行为方式。如下图所示:

 看起来有一个区域中的

和之间有最小的距离。让我们绘出两条线之间的差异(虚线),并且放大我们的概率选择所在的区域。

 看起来我们的概率选择也位于非常接近

和有最低差异的区域(但并不是最低差异的区域)。但这仍然是一个很有意思的发现。我不确定出现这种情况的原因是什么。如果有人知道,欢迎讨论。

结论

现在我们有些可靠的结果了。尽管均匀分布看起来很简单且信息不多而二项分布带有更有差别的信息,但实际上均匀分布与真实分布之间的匹配程度比二项分布的匹配程度更高。说老实话,这个结果实际上让我有点惊讶。因为我之前预计二项分布能更好地建模这个真实分布。因此,这个实验也能告诉我们:不要只相信自己的直觉!

变分贝叶斯估计:KL散度及变分自由能 这可以通过最小化KL散度来找到最优的变分分布,从而近似真实的后验分布。它是变分推断中的一个目标函数,通过最小化变分自由能,可以找到一个近似分布,使其尽可能接近真实的后验分布。变分自由能与最大化证据下界是等价的,因为最大化 ELBO 的过程等价于最小化其负值,即最小化变分自由能,且通常通过迭代的方式进行。通过最小化变分自由能,我们在近似分布的选择中取得了折中,同时考虑了与真实后验的接近度和模型对观测数据的拟合。其中,Q 是我们希望找到的近似分布,P 是真实的后验分布,X 是观测数据,Z 是未知的潜在变量。 阅读详情

相关推荐

KL散度:从信息论到机器学习的核心度量工具

在机器学习和信息论中,衡量两个概率分布之间的差异是一个基础且关键的问题。从信息熵和交叉熵的概念出发,KL散度(Kullback-Leibler散度)作为一种非对称的度量,量化了用一个分布近似另一个分布时所产生的平均信息损失。其技术价值在于,它不仅是理解信息论原理的桥梁,更在工程实践中作为核心的损失函数或正则化项被广泛应用。例如,在变分自编码器(VAE)中,KL散度损失项用于约束隐变量分布,促进隐空间的连续性和解纠缠表示;在强化学习的策略优化中,它则用于限制策略更新的幅度以保持训练稳定。理解KL散度的计算、不

402

Kullback-Leibler散度(KL散度)

2.使用KL散度测量丢失的信息。

m0_55196097的博客 1万+

t-SNE降维算法:高维数据可视化原理、实战与调参指南

高维数据可视化是机器学习和数据分析中的核心挑战,旨在将复杂的高维数据结构映射到人类可直观理解的二维或三维空间。其核心原理在于通过概率分布匹配来保持数据的局部相似性,而非直接保留原始距离。t-SNE算法通过在高维空间使用高斯分布定义邻居概率,在低维空间使用t分布定义相似性,并最小化两者间的KL散度,有效解决了高维数据投影中的“拥挤问题”。这项技术的价值在于为探索性数据分析、模型诊断和结果呈现提供了强大工具,能清晰揭示数据中的聚类结构,例如在图像识别、自然语言处理和生物信息学中区分不同类别或识别细胞亚型。掌握t

weixin_34414650的博客 387

KL散度(Kullback-Leibler Divergence,KLD)

对于两个离散概率分布。

weixin_44012667的博客 1万+

KL变换+PCA+关系

KL变换+PCA+关系 KL变换和KL散度的关系? In mathematical statistics, the Kullback–Leiblerdivergence(also calledrelative entropy) is a measure of how one probability distribution is different from a second, reference probability distribution. KL 散度是一种衡量两个概率分布...

data+scenario+science+insight 678

欧姆龙PLC EIP通讯配置方法

欧姆龙EIP通讯配置方法

weixin_59671695的博客 6137

机器学习:Kullback-Leibler Divergence (KL 散度)

今天,我们介绍机器学习里非常常用的一个概念,KL 散度,这是一个用来衡量两个概率分布的相似性的一个度量指标。我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样本,我们会对数据的整体做一个近似的估计,而数据整体本身有一个真实的分布(我们可能永远无法知道),那么近似估计的概率分布和数据整体真实的概率分布的相似度,或者...

Matrix-11 5万+

Jetson Nano官方镜像下载&烧录

在NVIDIA Jetson Nano开发者套件上安装NVIDIA官方Ubuntu镜像

weixin_44222088的博客 8851

KL散度(Kullback-Leibler Divergence)

KL散度的概念来源于概率论和信息论中。KL散度又被称为:相对熵、互熵、鉴别信息、Kullback熵、散度(即KL散度的简写)。在机器学习、深度学习领域中,KL散度被广泛运用于变分自编码器中(,简称VAE)、EM算法、GAN网络中。KL散度的定义是建立在熵(Entropy)的基础上的。此处以离散随机变量为例,先给出熵的定义,再给定KL散度定义。

AJJFLY的博客 1905

ipsec 加密流程(一):ipsec策略匹配

《openswan》专栏系列文章主要是记录openswan源码学习过程中的笔记。 Author: Toney Email: vip_13031075266@163.com Date: 2020.11.22 Copyright: 未经同意不得转载!!! Version:2.6.51.5 Reference:https://download.openswan.org/openswan/ 1. ipsec策略匹配流程(ipsec_tunnel_start_xmit) 注:open...

遇见你是我最美丽的意外 9122

Vue2项目实战:vue2-org-tree实现动态组织架构图

本文详细介绍了如何在Vue2项目中使用vue2-org-tree组件实现动态、可交互的组织架构图。内容涵盖从快速安装、基础渲染到核心功能实战,包括水平布局、节点展开折叠、响应式数据绑定、深度自定义节点内容以及事件处理。同时提供了性能优化、样式覆盖等避坑指南,并通过一个完整的企业级Demo展示了如何打造功能丰富的架构图,助力高效开发后台管理系统。

weixin_28040125的博客 522

MXNet Gluon KLDivLoss 实战:Kullback-Leibler 散度损失的原理、用法与源码剖析

本文围绕 Apache MXNet Gluon 中的 `KLDivLoss`(KL 散度损失)展开:先讲清 KL 散度的数学含义与其非对称性,再通过可运行示例演示 `from_logits=True / False` 两种调用模式的完整用法,随后深入 `python/mxnet/gluon/loss.py` 源码,剖析其公式实现、1e-12 数值稳定项、加权与聚合逻辑,最后给出“支持域不一致导致

gitblog_00136的博客 1184

Android布局基础与UI设计入门:打造精美应用界面

恭喜你!现在你已经掌握了Android UI开发的基础知识,包括各种布局类型、常用控件的使用以及一些UI优化技巧。这些知识将帮助你设计出既美观又实用的Android应用界面。

m0_65382359的博客 2056

KL散度实战指南:模型分布偏移诊断与监控

KL散度是衡量两个概率分布差异的核心信息论工具,其本质是量化‘用Q描述P所需额外信息量’,具有方向性、非对称性和语义敏感性。相比欧氏距离或JS散度,它天然适配机器学习中的模型监控场景——聚焦真实分布P(线上数据)与模型输出Q(预测/训练分布)之间的认知偏差。该指标广泛应用于模型漂移检测、预测校准优化和特征敏感性分析,在推荐系统、医疗AI、金融风控等工业级应用中承担‘分布听诊器’角色。本文结合真实产线案例与可复现代码,详解如何将KL散度从理论公式转化为调试直觉与工程决策依据。

wgyyh 423

Windows上MSYS2的安装和使用

MSYS2这个工具我是越用越喜欢,很多东西放在Linux上如鱼得水但是放在Windows上就没那么好用,比如ffmpeg,opencv等直接引用就行了,这个工具真的很省事。接下来带你们看看它的妙用。1、好好研究确实妙用无穷。

jiexijihe945的博客 4142

PentAGI自动渗透测试平台搭建与使用

但是PentAGI的缺陷也比较明显,一个是自动化程度高带来过程的介入困难,整个渗透的过程都交给AI自动决策,无法进行人工调整,耗时较长;从上述过程来看PentAGI似乎是一个比较“可用”的AI自动化渗透测试平台,但是在继续等待测试的过程中,PentAGI的一些缺点也暴露了出来,一个是测试的过程非常漫长,因为PentAGI是使用配置大模型API key的方式全自动运行,支持openai、deepseek等主流LLM大模型,过程中不需要人工介入,会不断自动调整,所以比较依赖于大模型本身的响应速度。

墨痕诉清风的博客 2407

从信息量到KL散度:手撕公式,理解Transformer损失函数本质

在信息论中,信息量是度量事件不确定性的基本单位,定义为事件概率的负对数,其核心在于满足独立可加性。基于信息量的期望,我们得到信息熵,它衡量了整个概率分布的不确定性,并代表了数据最优编码的平均长度。当使用一个分布(如模型预测)去编码另一个分布(如真实数据)时,所需的平均编码长度即为交叉熵,它衡量了因使用“错误”编码方案而产生的信息损耗。交叉熵与信息熵的差值,即KL散度,精确量化了两个概率分布之间的差异。这一系列概念构成了机器学习中损失函数的核心数学基础,尤其在Transformer模型、自回归语言模型和生成式

weixin_30616969的博客 365

Claude Code 错误解决方案: Request Timed Out 超时 原因、配置与解决方案

Claude Code 抛出 Request Timed Out 不仅可 能是网络问题,更大概率是 API 高负载或超大响应导致。本文从 默认超时机制出发,拆解三种根因场景,给出 API_TIMEOUT_MS 环境变量调优与任务拆分策略,帮助开发者在保证稳定性的同时 避免误判网络故障。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 899

从信息熵到KL散度:深入理解Transformer损失函数的核心数学原理

在机器学习和深度学习领域,损失函数是模型优化的核心驱动力。从信息论基础概念切入,信息熵量化了概率分布的不确定性,而交叉熵则衡量了使用一个分布去编码另一个分布所产生的平均信息量。其技术价值在于为模型提供了明确的优化目标,即最小化预测分布与真实分布之间的差异。这一原理在工程实践中直接对应了分类任务的标准训练流程。KL散度作为交叉熵与信息熵的差值,纯粹地度量了两个概率分布之间的差异,具有非负性和不对称性等重要性质。在Transformer等复杂模型的训练中,最小化交叉熵损失的本质就是最小化KL散度,这一思想也自然

weixin_33868027的博客 340

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

KL散度:从信息论到机器学习实战的核心分布差异度量

在机器学习和深度学习中,量化概率分布之间的差异是核心问题。信息论为此提供了基础工具,其中信息熵衡量了分布的不确定性,而交叉熵则衡量了用错误分布编码真实数据所需的平均成本。KL散度(Kullback-Leibler Divergence)正是这两者的差值,它精确度量了用一个分布近似另一个分布时所产生的额外信息损失。这一原理在工程实践中具有极高价值,因为它不仅为模型优化提供了理论指导,还直接催生了多种关键技术。例如,在变分自编码器中,KL散度作为正则项约束隐变量分布;在知识蒸馏里,它度量学生网络对教师网络输出的

weixin_34355559的博客 431

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

剪枝效果如何验证?Agents-A1-OptiQ-4bit-REAP-19B基准测试与KL散度0.077背后的数据解读

**Agents-A1-OptiQ-4bit-REAP-19B** 是一个基于 MLX 框架的 MoE 大模型专家剪枝(Expert Pruning)产物:它在父模型 Agents-A1-OptiQ-4bit 的基础上删掉了 50% 的路由专家,体积从 21.5 GB 压缩到 **12.3 GB**,参数量从 35.1B 降到 18.8B,而每 token 的活跃参数保持不变。剪枝后模型到底"坏没

gitblog_00020的博客 833

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

OpenCV 直方图比较实战:用 compareHist 与六种度量衡量的图像匹配度

本文以 OpenCV 官方直方图比较教程 [histogram_comparison.markdown](https://link.gitcode.com/i/82b3820c4976daadae8eb2935c02d58e) 为主体,讲解如何通过 `cv::compareHist` / `cv.compareHist` 计算两张图片直方图的匹配数值,并系统对比 OpenCV 提供的 6 种比较度

gitblog_00014的博客 348

t-SNE原理与实战:用概率翻译高维邻居关系

t-SNE是一种基于概率建模的非线性降维技术,核心在于将高维空间中复杂的局部相似性转化为低维可视化的结构保真表达。它不追求全局几何一致性,而是通过自适应困惑度构建点对邻居的概率分布,并以KL散度优化t分布下的二维映射,从而实现对‘谁跟谁最像’这一语义关系的忠实转译。相比PCA等线性方法,t-SNE更擅长揭示聚类模式、发现异常子群和支撑业务决策,广泛应用于用户分群、单细胞测序、故障诊断等需直观理解高维数据内在结构的场景。其关键参数如困惑度、学习率与初始化方式,直接决定可视化结果的可解释性与鲁棒性。

weixin_34248023的博客 338

从信息熵到交叉熵损失:PyTorch分类任务的核心原理与实践

在机器学习分类任务中,损失函数是模型优化的核心驱动力。从信息论基础出发,信息熵量化了系统的不确定性,而KL散度则衡量了两个概率分布之间的差异。交叉熵作为KL散度的关键组成部分,天然适合衡量模型预测分布与真实分布的距离,因此成为分类任务中最常用的损失函数。在工程实践中,PyTorch的交叉熵损失函数通过整合Softmax与对数运算,确保了数值稳定性,并支持权重调整、标签平滑等实用技巧,广泛应用于图像分类、自然语言处理等场景。理解其背后的信息论原理,能帮助开发者更有效地调试模型、处理类别不平衡问题,并避免常见的

weixin_34401479的博客 371

t-SNE数据可视化原理与实战:从高维探查到业务洞察

t-SNE(t-分布随机邻域嵌入)是一种面向局部结构保持的非线性降维技术,核心原理是通过高斯分布建模高维相似性、以重尾t分布缓解低维拥挤问题,并用KL散度优化概率分布对齐。其技术价值在于将抽象的高维数据关系转化为人类可感知的空间聚类模式,显著优于PCA在探索性数据分析(EDA)、聚类验证和异常诊断中的表现。典型应用场景包括模型可解释性分析、客户分群可行性验证、医疗影像特征诊断及工业传感器异常定位。本文结合MNIST实操、Perplexity调参规律与标准化预处理要点,系统解析如何让t-SNE真正服务于Dat

Ferrerooo 成长 626
上一篇: ES教程:从入门到入土
下一篇: Spark中如何把dataFrame(dataSet).show()的结果集成到 log4j中输出
Code_LT
博客等级 码龄10年 307粉丝 182原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值