数学基础之——熵与散度的灵魂摆渡(解析大全)(一)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 数学基础之——熵与散度的灵魂摆渡(解析大全)(一)

1、什么是熵


   Entropy来源于希腊语,原意:内向,即:一个系统不受外部干扰时往内部稳定状态发展的特性。定义的其实是一个热力学的系统变化的趋势。

   1923年,德国科学家普朗克来中国讲学用到entropy这个词,胡刚复教授看到这个公式,创造了“熵”字,因为“火”和热量有关,定义式又是热量比温度,相当自洽。


   信息论中,熵是接受的每条消息中包含的信息的平均值。又被称为信息熵、信源熵、平均自信息量。可以被理解为不确定性的度量,熵越大,信源的分布越随机。1948年,由克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也叫做:香农熵。


   在生态学中,熵表示生物多样性的指标。


广义的定义:熵是描述一个系统的无序程度的变量;同样的表述还有,熵是系统混乱度的度量,一切自发的不可逆过程都是从有序到无序的变化过程,向熵增的方向进行。


2、信息熵的定义


   香农信息熵是对数据分布的不确定性进行度量:假设X是来自分布χ的随机样本,对每个样本的概率常见的标记有P(xi)=P(X=xi)=pxi,那么信息量I(X)为:

而信息熵的定义是其在概率上的期望,即:

对于信息熵的含义的两种解释由来如下:

(1)期望编码长度解释:基于信道编码理论,按概率分布对采样信息的二进制编码的计算期望;

(2)不确定性公理化解释:是满足不确定性公理的唯一数学形式。


3、基于熵的度量


3.1、交叉熵

   在信息论中,交叉熵是表示两个概率分布P、Q,其中P表示真实分布,Q表示非真实分布,在相同的一组事件中,其中,用非真实分布Q来表示某个事件发生所需要的平均比特数。

   交叉熵主要用于度量两个概率分布间的差异性信息。定义如下:

   交叉熵可在神经网络(机器学习)中作为损失函数,P表示真实标记的分布,Q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量P与Q的相似性。交叉熵作为损失函数还有一个好处是使用Sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。


   在特征工程中,可以用来衡量两个随机变量之间的相似度。


   在语言模型中(NLP)中,由于真实的分布P是未知的,在语言模型中,模型是通过训练集得到的,交叉熵就是衡量这个模型在测试集上的正确率。


3.2、相对熵

   在香农熵的基础上,可以很容易得到相对熵(Relative Entropy,RE)的定义:

   可以这样理解:给定Q分布,想知道P分布情况,于是就用P的编码长度减去Q的编码长度在P的分布下的期望作为一种衡量。


   相对熵可以衡量两个随机分布之间的距离,当两个随机分布相同时,它们的相对熵为零,当两个随机分布的差别增大时,它们的相对熵也会增大。所以相对熵可以用于比较文本的相似度,先统计出词的频率,然后计算相对熵。另外,在多指标系统评估中,指标权重分配是一个重点和难点,也通过相对熵可以处理。


3.3、KL散度

   由于相对熵恒小于0,且散度定义要其必须为负,所以在相对熵的前面加一个负号就得到了需要的散度,即KL散度:

2439c1d6cae9bc75b923a54530d2eec3.png

   在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即DKL,由于KL散度中的前一部分−H(P(i))不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中直接用用交叉熵做loss,评估模型。


   给定Q分布,P分布于Q分布的KL散度即Q的编码长度于P的编码长度之差(中括号里面的部分)在P上面的期望。下图1可以看到编码长度之差可能有正有负,然后按P的概率密度积分就是编码长度之差的期望了。

90984f01730199ce8d63e0692d35720c.jpg

P和Q的影响:

       如果想要DKL小,

       那么P大的地方,Q一定要大

       那么P小的地方,Q对DKL的影响不大

       如果想要DKL大

       那么P大的地方,Q对DKL影响不大

       那么P小的地方,Q一定要小

KL散度不对称导致的问题:

情况1:当P→0且Q→1时,  Pxln(P/Q)→0 , 对DKL的贡献为0;

情况2:当P→1且Q→0时,  Pxln(P/Q)→+∞ , 对DKL的贡献为+∞;进步一这里可以解释为什么我们通常选择正态分布而不是均匀分布;

均匀分布:只要两个均分分布不是完全相同,必然出现P≠0,Q=0的情况,导致DKL→+∞;

正态分布:所有概率密度都是非负的,所以不会出现上述情况;

换而言之, PQ之间的KL散度可能导致惩罚或者梯度差距极大。


3.4、JS散度

   JS散度实际就是KL散度的一个扩展,被用来推导GAN:

f644482f50f32149d3a3744a954a0caa.png

需要注意:JS散度是对称的;JS散度有界,范围是 [0,log2]


KL散度和JS散度度量的时候有一个问题:如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。

相关文章
|
1月前
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
61 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
1月前
|
机器学习/深度学习 算法 C语言
【Python】Math--数学函数(详细附解析~)
【Python】Math--数学函数(详细附解析~)
|
1月前
|
存储 Java 开发者
【编程基础知识】 计算机中的数学魔法:二进制加减运算全解析
本文深入解析了计算机中二进制加减运算的原理,涵盖原码、反码和补码的概念及应用,结合具体示例,帮助读者理解计算机底层数学运算机制,适合Java开发者学习。
43 0
|
3月前
|
人工智能 算法
AI 0基础学习,数学名词解析
AI 0基础学习,数学名词解析
24 2
|
5月前
|
数据可视化 算法 大数据
深入解析高斯过程:数学理论、重要概念和直观可视化全解
这篇文章探讨了高斯过程作为解决小数据问题的工具,介绍了多元高斯分布的基础和其边缘及条件分布的性质。文章通过线性回归与维度诅咒的问题引出高斯过程,展示如何使用高斯过程克服参数爆炸的问题。作者通过数学公式和可视化解释了高斯过程的理论,并使用Python的GPy库展示了在一维和多维数据上的高斯过程回归应用。高斯过程在数据稀疏时提供了一种有效的方法,但计算成本限制了其在大数据集上的应用。
250 1
|
6月前
|
机器学习/深度学习 存储 算法
卷积神经网络(CNN)的数学原理解析
卷积神经网络(CNN)的数学原理解析
198 1
卷积神经网络(CNN)的数学原理解析
|
6月前
|
机器学习/深度学习 人工智能 数据可视化
号称能打败MLP的KAN到底行不行?数学核心原理全面解析
Kolmogorov-Arnold Networks (KANs) 是一种新型神经网络架构,挑战了多层感知器(mlp)的基础,通过在权重而非节点上使用可学习的激活函数(如b样条),提高了准确性和可解释性。KANs利用Kolmogorov-Arnold表示定理,将复杂函数分解为简单函数的组合,简化了神经网络的近似过程。与mlp相比,KAN在参数量较少的情况下能达到类似或更好的性能,并能直观地可视化,增强了模型的可解释性。尽管仍需更多研究验证其优势,KAN为深度学习领域带来了新的思路。
2394 5
|
6月前
|
算法 测试技术 C#
【分类讨论】【解析几何】【 数学】【推荐】1330. 翻转子数组得到最大的数组值
【分类讨论】【解析几何】【 数学】【推荐】1330. 翻转子数组得到最大的数组值
|
4天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
16 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
67 0

推荐镜像

更多