【人工智能学习之信息论篇】

本文介绍了信息论的基础概念,包括信息量、熵和相对熵(KL散度)。信息量取决于事件发生的概率,概率越小,信息量越大。熵是系统不确定性的度量,而相对熵(KL散度)用于衡量两个概率分布的差异。交叉熵在机器学习中常作为损失函数,用于评估模型预测与真实分布的匹配程度。此外,文章还讨论了均方差损失函数和交叉熵损失函数在回归和分类任务中的应用。
摘要由CSDN通过智能技术生成

1. 信息量

1.1 信息量的引出

一个信息有多少信息量的关键是给你带来多少的确定性。(也可以简单的理解为就是惊喜程度)

信息是用不确定性的量度定义的。
事件出现的概率小,不确定性越多,信息量就大,反之则少。

分析以下两个例子给我们带来的信息量。
例1:比如说我是一个男生。
没有任何信息,因为这是确定的。
例2: 如果我们班上一个同学,买彩票中大奖啦。
对于班上其他同学而言,这个消息可能是一个惊喜,也可能是一个令人震惊的消息。因为中大奖的概率较低,大多数人可能没有预期到这样的事件会发生。

1.2 信息大小的衡量

信息论的基本想法是一个不太可能的事件居然发生了,要比一个非常可能的事件发生,能提供更多的信息。消息说:‘‘今天早上太阳升起’’ 信息量是如此之少以至于没有必要发送,但一条消息说:‘‘今天早上有日食’’ 信息量就很丰富。

我们通过这种基本想法来量化信息。

  • 非常可能发生的事件信息量要比较少,并且极端情况下,确保能够发生的事件应该没有信息量。
  • 较不可能发生的事件具有更高的信息量。
  • 独立事件应具有增量的信息。

例如,投掷的硬币两次正面朝上传递的信息量,应该是投掷一次硬币正面朝上的信息量的两倍。

为了满足上述三个性质,我们定义一个事件 x 信息量为
在这里插入图片描述
可以简单理解为: 一个事件由原来的不确定变得确定,它的难度越大,信息量也就越大。(与概率成反比)

2. 熵

2.1 熵的概念

在科普内容里面,都是说熵是对一个系统的混乱程度的度量。

信息是处理单个的输出。如果我们需要量化对整个系统中概率分布中的不确定性总量进行量化。
熵其实就是一个系统所有变量信息量的均值(期望),是衡量一个系统的稳定程度。
当一个系统越不稳定,或者事件发生的不确定性越高,它的熵就越高。
在这里插入图片描述
一个随机事件发生的概率越小,则发生后的信息量就越大。
一个随机事件的发生概率越大,则发生后的信息量也越小。

X是随机变量,而这个随机变量有各种可能的取值,比如x1, x2…等等,pi是当X = x1时候的概率。注意前面的负号,因为概率是小于1的值,所以求log之后就成了负数,为了保证信息熵为正,在前面加上了负号,负负得正。
备注: 熵其实并不神秘,和长度、体积、温度等一样都是用来做衡量使用。

3. 相对熵(KL散度)

3.1 相对熵的概念

相对熵:用于度量两个概率分布间的差异性信息

下图表示的是两个系统的概率分布,其中系统S代表的是真实的规律,系统O代表的是机器学习模型里面猜测的那个规律。
在这里插入图片描述
这两个不同的概率分布怎么去描述他们的差异。前面我们学习了熵,如果两个系统的概率分布相同,那系统的熵一定是相等的,如果这两个系统越接近,熵应该是越接近。
但是反过来,如果两个系统的熵相同。两个系统的概率分布一定相同吗?
并不一定,比如说我花了1万块钱学习知识和1万块充值游戏。虽然价格一样,但是差别很大。

熵相同但是概率分布不同
不能直接比较系统的熵。怎么办? 使用KL散度, 每一个事件xi对应的信息量 ,都拿来做了比较。如果每一个信息量相同,那么两个概率分布相同。
在这里插入图片描述
求和的是两个系统中同一个事件的信息量的差值,权重Ps(xi)是其中一个系统里这个事件的概率值
KL散度会在两个系统中挑选一个作为基准(这里使用的是S系统作为基准), 另一个系统与这个基准进行比较。
在这里插入图片描述
通过变形之后我们能够发现,KL散度可以被分成两部分,其中后面那个部分计算出来的就是系统S的熵,这部分与系统O无关。
系统S的熵已经确定的。真正决定KL散度其实是前面那部分,系统O的大小决定着KL散度的大小。
这部分内容被称为交叉熵。

3.2 交叉熵

通过前面的描述 我们在比较两个系统概率分布的距离。不需要去计算KL散度,只需要计算交叉熵即可。
使用交叉熵描述怎么描述?
当交叉熵的值大于系统S的熵时,我们的目标是寻找交叉熵最小的值
当交叉熵的值小于系统S的熵时,我们的目标是寻找交叉熵最大的值
经过大佬的证明, 交叉熵的值一定是会大于等于系统S的熵的, 因此只需要求出交叉熵最小值即可。
在这里插入图片描述

import numpy as np
def cross_entropy(x, y):
x = np.float_(x
  • 25
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值