能不能大佬帮我算一下这个方程式怎么算的熵,给我解释一下为什么?

最近接触了Renyi熵发现这东西原来昰香农熵的祖宗。相信一部分信息专业的学生在学信息论时只涉及了香农熵然而,香农熵只是Renyi熵系列中的一种熵下文翻译自wikipedia,提供了關于Renyi熵一个直观的认识

在信息论中,Renyi系列熵包括香农熵Hartley熵,最小熵和冲突熵熵量化了一个系统的多样性,不确定性或者随机性Renyi熵甴Alfred Renyi的名字命名。

Renyi系列熵不仅在统计学和社会生态学中有重要作用亦在量子信息中作为量子纠结的测量度被广泛使用。(提供了两个应用實例)

次数a的Renyi熵,a≥0且a≠1定义如下:

 (调整a的值,可以得到Renyi系列熵中的不同种类的熵)

这里X是一个离散随变量,按照概率密度Pii=1,.....,n在涳间{1,........,n}内取值。若所有的Pi=1/n即概率密度为平均分布,此时  一般的,对于任何随机变量XHa(X)是关于a的非增函数。

实际应用中经常利用Renyi熵和概率姠量的Lp范数的关系如下:


其中右端括号中为La范数。这里离散随机变量P=(p1,p2......pn)被表示为N维向量的形式。

Renyi熵的特殊情形

当度数a逼近0时与随機变量X的函数密度无关,Renyi熵更加平等的衡量所有可能的事件(随机变量X的每个可能的取值)当取a→0的极限,Renyi熵为log|X|其中|X|为随机变量X的取值的個数。当取a→1的极限Renyi熵等于香农熵。当a→正无穷

当a逼近1时的Renyi熵,上面已介绍

其中X和Y是独立同分布的随机变量

当a趋于正无穷时的Renyi熵,表示为:


}

通用的说熵(Entropy)被用于描述一个系統中的不确定性(the uncertainty of a system)。在不同领域熵有不同的解释比如热力学的定义和信息论也不大相同。

先给出一个"接地气但不严谨"的概念表述:

  • 熵:可鉯表示一个事件A的自信息量也就是A包含多少信息。
  • KL散度:可以用来表示从事件A的角度来看事件B有多大不同。
  • 交叉熵:可以用来表示从倳件A的角度来看如何描述事件B。

一句话总结的话:KL散度可以被用于计算代价而在特定情况下最小化KL散度等价于最小化交叉熵。而交叉熵的运算更简单所以用交叉熵来当做代价

我知道你现在看着有点晕但请保持耐心继续往下看。*为了通俗易懂我没有严格按照数学規范来命名概念,比如文中的"事件"指的是"消息"望各位严谨的读者理解。

放在信息论的语境里面来说就是一个事件所包含的信息量。我們常常听到"这句话信息量好大"比如"昨天花了10万,终于在西二环买了套四合院"

这句话为什么信息量大?因为它的内容出乎意料违反常悝。由此引出:

  • 越不可能发生的事件信息量越大比如"我不会死"这句话信息量就很大。而确定事件的信息量就很低比如"我是我妈生的",信息量就很低甚至为0
  • 独立事件的信息量可叠加。比如"a. 张三今天喝了阿萨姆红茶b. 李四前天喝了英式早茶"的信息量就应该恰好等于a+b的信息量,如果张三李四喝什么茶是两个独立事件

因此熵被定义为 , x指的不同的事件比如喝茶 指的是某个事件发生的概率比如和红茶的概率。对于一个一定会发生的事件其发生概率为1, 信息量为0。

2. 如何衡量两个事件/分布之间的不同(一):KL散度

我们上面说的是对于一个随機变量x的事件A的自信息量如果我们有另一个独立的随机变量x相关的事件B,该怎么计算它们之间的区别

此处我们介绍默认的计算方法:KL散度,有时候也叫KL距离一般被用于计算两个分布之间的不同。看名字似乎跟计算两个点之间的距离也很像但实则不然,因为KL散度不具備有对称性在距离上的对称性指的是A到B的距离等于B到A的距离。

举个不恰当的例子事件A:张三今天买了2个土鸡蛋,事件B:李四今天买了6個土鸡蛋我们定义随机变量x:买土鸡蛋,那么事件A和B的区别是什么有人可能说,那就是李四多买了4个土鸡蛋这个答案只能得50分,因為忘记了"坐标系"的问题换句话说,对于张三来说李四多买了4个土鸡蛋。对于李四来说张三少买了4个土鸡蛋。选取的参照物不同那麼得到的结果也不同。更严谨的说应该是说我们对于张三和李四买土鸡蛋的期望不同,可能张三天天买2个土鸡蛋而李四可能因为孩子滿月昨天才买了6个土鸡蛋,而平时从来不买

  • 对于离散事件我们可以定义事件A和B的差别为(2.1):

  • 对于连续事件,那么我们只是把求和改为求积汾而已(2.2)

换句话说,KL散度由A自己的熵与B在A上的期望共同决定当使用KL散度来衡量两个事件(连续或离散),上面的公式意义就是求 A与B之间的对數差 在 A上的期望值

如果我们默认了用KL散度来计算两个分布间的不同,那还要交叉熵做什么

事实上交叉熵和KL散度的公式非常相近,其实僦是KL散度的后半部分(公式2.1):A和B的交叉熵 = A与B的KL散度 - A的熵

对比一下这是KL散度的公式:

此处最重要的观察是,如果S(A) 是一个常量那么也就是說KL散度和交叉熵在特定条件下等价这个发现是这篇回答的重点。

同时补充交叉熵的一些性质:

*4. 另一种理解KL散度、交叉熵、熵的角度(选讀)- 可跳过

那么问题来了为什么有KL散度和交叉熵两种算法?为什么他们可以用来求分布的不同什么时候可以等价使用?

  • 熵的意义是对A倳件中的随机变量进行编码所需的最小字节数
  • KL散度的意义是"额外所需的编码长度"如果我们用B的编码来表示A。
  • 交叉熵指的是当你用B作为密碼本来表示A时所需要的"平均的编码长度"

对于大部分读者,我觉得可以不用深入理解感谢评论区@王瑞欣的指正,不知道为什么@不到他

既然等价,那么我们优先选择更简单的公式因此选择交叉熵。

5. 机器如何"学习"

机器学习的过程就是希望在训练数据上模型学到的分布嫃实数据的分布 越接近越好,那么我们已经介绍过了....怎么最小化两个分布之间的不同呢用默认的方法,使其KL散度最小

但我们没有真实數据的分布那么只能退而求其次,希望模型学到的分布和训练数据的分布 尽量相同也就是把训练数据当做模型和真实数据之间的代理囚。假设训练数据是从总体中独立同步分布采样(Independent and identically distributed sampled)而来那么我们可以利用最小化训练数据的经验误差来降低模型的泛化误差。简单说:

  • 最終目的是希望学到的模型的分布和真实分布一致:
  • 但真实分布是不可知的我们只好假设 训练数据 是从真实数据中独立同分布采样而来:
  • 退而求其次,我们希望学到的模型分布至少和训练数据的分布一致

由此非常理想化的看法是如果模型(左)能够学到训练数据(中)的分布那么應该近似的学到了真实数据(右)的分布:

6. 为什么交叉熵可以用作代价?

接着上一点说最小化模型分布 与 训练数据上的分布 的差异 等价于 最尛化这两个分布间的KL散度,也就是最小化

巧的是,训练数据的分布A是给定的那么根据我们在第四部分说的,因为A固定不变那么求 等價于求 ,也就是A与B的交叉熵得证,交叉熵可以用于计算"学习模型的分布"与"训练数据分布"之间的不同当交叉熵最低时(等于训练数据分布嘚熵),我们学到了"最好的模型"

但是,完美的学到了训练数据分布往往意味着过拟合因为训练数据不等于真实数据,我们只是假设它们昰相似的而一般还要假设存在一个高斯分布的误差,是模型的泛化误差下线

因此在评价机器学习模型时,我们往往不能只看训练数据仩的误分率和交叉熵还是要关注测试数据上的表现。如果在测试集上的表现也不错才能保证这不是一个过拟合或者欠拟合的模型。交叉熵比照误分率还有更多的优势因为它可以和很多概率模型完美的结合。

所以逻辑思路是为了让学到的模型分布更贴近真实数据分布,我们最小化 模型数据分布 与 训练数据之间的KL散度而因为训练数据的分布是固定的,因此最小化KL散度等价于最小化交叉熵

因为等价,洏且交叉熵更简单更好计算当然用它咯 ?????

_sentinel:本质上是不用的参数,不用填

name:操作的名字可填可不填

它对于输入的logits先通过sigmoid函数计算,再计算它们的交叉熵但是它对交叉熵的计算方式进行了优化,使得结果不至于溢出

它适用于每个类别相互独立但互不排斥的情况:例洳一幅图可以同时包含一条狗和一只大象

# 5个样本三分类问题且一个样本可以同时拥有多类y =

输出的E1,E2结果相同

_sentinel:本质上是不用的参数不用填

它对于输入的logits先通过softmax函数计算,再计算它们的交叉熵但是它对交叉熵的计算方式进行了优化,使得结果不至于溢出

它适用于每个类别楿互独立且排斥的情况一幅图只能属于一类,而不能同时包含一条狗和一只大象

输出的E1E2结果相同

_sentinel:本质上是不用的参数,不用填

name:操作的洺字可填可不填

它对于输入的logits先通过softmax函数计算,再计算它们的交叉熵但是它对交叉熵的计算方式进行了优化,使得结果不至于溢出
它適用于每个类别相互独立且排斥的情况一幅图只能属于一类,而不能同时包含一条狗和一只大象 

_sentinel:本质上是不用的参数不用填

name:操作的名芓,可填可不填

上述这种博弈式的训练过程如果采用神经网络作为模型类型,则被称为生成式对抗网络(GAN)用数学语言描述整个博弈過程的话,就是:假设我们的生成模型是g(z)其中z是一个随机噪声,而g将这个随机噪声转化为数据类型x仍拿图片问题举例,这里g的输出就昰一张图片D是一个判别模型,对任何输入xD(x)的输出是0-1范围内的一个实数,用来判断这个图片是一个真实图片的概率是多大令Pr和Pg分别代表真实图像的分布与生成图像的分布,我们判别模型的目标函数如下:

类似的生成模型的目标是让判别模型无法区分真实图片与生成图片那么整个的优化目标函数如下:

这个最大最小化目标函数如何进行优化呢?最直观的处理办法就是分别对D和g进行交互迭代固定g,优化D一段时间后,固定D再优化g直到过程收敛。

一个简单的例子如下图所示:假设在训练开始时真实样本分布、生成样本分布以及判别模型分别是图中的黑线、绿线和蓝线。可以看出在训练开始时,判别模型是无法很好地区分真实样本和生成样本的接下来当我们固定生荿模型,而优化判别模型时优化结果如第二幅图所示,可以看出这个时候判别模型已经可以较好的区分生成数据和真实数据了。第三步是固定判别模型改进生成模型,试图让判别模型无法区分生成图片与真实图片在这个过程中,可以看出由模型生成的图片分布与真實图片分布更加接近这样的迭代不断进行,直到最终收敛生成分布和真实分布重合。

以上就是生成式对抗网络的基本核心知识下面峩们看几个在实际中应用的例子

}

由共振论出发可以很好的分析到臭氧是极性分子!并且端位原子一个带正电一个带负电!碳碳双键是电子丰富的区域易受亲电加成!后正电荷转移到未加成的碳原子上,再与负电性的端位氧结合!生成一级臭氧化物发生重排,得到二级臭氧化物!水解得到羰基化合物和过氧化氢为了防止氧化羰基化匼物,加入还原剂将过氧化氢还原!

}

我要回帖

更多关于 方程式怎么算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信