交叉熵的理解--从数学角度分析

在机器学习中,我们经常需要计算相似度或者距离。比如:向量之间的相似度,典型的方法如余弦相似度,通过向量夹角的余弦值来刻画,那么对于概率分布之间的相似度或者距离该如何计算呢?

假设小鸟通过叽叽喳喳的方式交流

那么假设叽是0,喳是1,

那么小鸟通过不同的叽叽喳喳的方式进行交流,这个过程我们称为编码,为了让小鸟省点力气,我们希望叫声尽可能的少,也就是编码长度尽可能的短,由于需要传递分布下的每一个事件,所以体现为事件A和事件B的平均编码长度尽可能的短

写成函数期望的形式便是:

虽然互不相同的编码方式非常多,但是我们选择长度最短的编码,当事件编码长度为1我们就说这个事件包含了一个比特的信息量,当概率分布包含4个等可能的事件时,小鸟最少需要叫两声,才能做到不混淆每个事件,相应的编码长度就是2,同理8,3.

但是当分布中的4个事件不是等可能的,虽然可以依照前面的编码,平均编码长度就是3,或者可以用编码4个等可能事件的方式,平均编码长度就是2,编码长度与4个等可能的事件没什么区别,但是小鸟依然觉得很累,因为事件A的发生概率最大为1/2,也就是说小鸟会经常性的传递事件A,事件A的编码可以短一些,这样有利于平均编码长度最短。这样会导致意思不明朗,那么解决方法便是增加一位,在其他事件前面加0,短编码不要成为长编码的前缀。

原来编码:

A 1,B 01,C 00,D 10

增加后:
A 1,B 00,C 011,D 010

那么按照上面给的期望公式求出平均编码长度。这时比之前的编码长度更短。

这样看起来一个分布下平均最短编码长度是不断试出来的。(l代表长度)

用以下的函数进行求解最短编码长度(数字取对数并向上取整),横坐标代表有多少种可能性事件

我们将最短编码长度写成概率的函数,就更加清晰了,横坐标为p

最短编码长度还有另外一个名字叫做自信息,用来表示一个事件的信息量,信息量具有可加性,所以当两个独立的事件发生时,他们的联合概率是乘起来,而通过对数运算,信息量就体现为相加,信息量也是非负的,事件概率为1时,信息量就为0,这说明概率为1的最短编码长度也是0.编码长度为0说明事件一定会发生。

对于不是等概率的分布,可以按照信息量的计算公式来依次计算每个事件的信息量

一个概率的平均信息量或者叫信息量的期望其实也就是平均最短编码长度,也被叫做信息熵,所以说这个概率分布的信息熵是

但是在实际应用中,我们只能对分布进行估计,因为我们只能看到有限的事件,只能获取有限的样本。

比如现在只观察到了8个事件,其余事件并未观测到,我们根本不知道他们遵循什么样的分布。

我们假设这8个事件是从同一个分布独立采样而来的,从假设分布来看,每一个事件都有一个概率,但只根据现在的观测结果来看,每一个事件都还会有一个观测的发生概率。如果要对现在的事件进行编码,每个事件的自信息由假设分布(hypo大概的意思是对某个问题的一种先验(猜测),这种先验通过网络结构或者超参表达出来。)给出(求得编码长度),而每个事件的实际发生概率由观测分布(ABCDABCD)给出,这样就得到了另外一种形式。

以下这种形式便被叫作交叉熵:

由此可得交叉熵的取值要大于等于观测分布的信息熵

比如对于现在的观测结果,不再使用假设分布来编码,而是直接使用观测分布来编码,可得

更严格的证明来自吉布斯不等式,他证明在两个分布一致的情况下才能取到等号,这里不多赘述。

交叉熵本质上使用假设分布来编码观测分布,就需要额外的信息量,平均最短编码长度就要更长一些,交叉熵和观测分布的信息熵的差越小,也就是平均最短编码长度的差越小,代表着两个分布越一致,这两者的差被叫做KL散度,代表着这两个分布之间的差异大小,它在变分推断,模型压缩,一些生成式模型中都有使用,但是其也有一部分缺点,导致了一定程度的模型坍塌。

若我们要拉近两个分布的距离,在一般的固定数据的情况下,观测分布就是确定的,观测分布的信息熵就是一个常数,最小化kl散度就等于最小化交叉熵。

我们就从交叉熵的角度第三次重新看待线性回归,线性回归的目标值y都是不同的,所以目标值的观测分布是一个均匀分布,

那么交叉熵就是利用高斯分布去编码一个均匀分布,略去无关项就再次得到了均方误差。

那么线性二分类的交叉熵就是去用伯努利分布去编码一个真实的类别分布,就在此得到了对数损失。用交叉熵去理解线性回归会更加清晰损失函数哪些变量来自于假设分布。哪些变量来自真实分布。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值