一文读懂熵、交叉熵、交叉熵损失函数

一、熵

不同的人对熵有不同的解释(混乱程度,不确定性,信息量),在信息论里,熵是指无损编码事件信息的最小平均编码长度

例如现在出去玩有四个游乐园(迪士尼、环球影城、长隆、方特)可供选择,每种选择的概率都是1/4,我们要用二进制编码这四种情况发送给朋友,和朋友商量去哪玩,那在不丢失信息的情况下最小编码长度是多少呢?

答案是迪士尼(00)、环球影城(01)、长隆(10)、方特(11),最小编码长度是两位。那如果是八个游乐园可供选择呢,最小编码长度就是三位。

假设某一事件有N种可能性,每种可能性的概率P是1/N,则无损编码最小长度计算公式为

{log_{2}}N=-{log_{2}}\frac{1}{N}=-{log_{2}}P

无损编码平均最小长度计算公式,即熵为

Entropy=-\sum_{i}P(i)log_{2}P(i)

因此,熵越大,平均最小编码长度越大,其事件的情况越多,不确定性/混乱程度越大。

二、交叉熵

上节提到的是离散变量的熵的公式,连续变量的熵的公式如下

Entropy=-\int P(x)log_{2}P(x)dx=E_{X\sim P}[-log_{2}P(x)]

熵是服从某一特定概率分布事件的理论最小平均编码长度,只要我们知道了任何事件的概率分布,我们就可以计算它的熵。那如果我们不知道事件的概率分布,又想计算熵,该怎么做呢?此时对熵做一个估计,熵的估计的过程自然而然地引出了交叉熵。

实际我们只有估计的概率分布Q,则估计的熵是

Entropy=-\int Q(x)log_{2}Q(x)dx=E_{X\sim Q}[-log_{2}Q(x)]

估计的概率分布Q影响了期望和编码长度,所以得到的结果很可能错得离谱,我们需要对比我们的编码长度和理论上的最小编码长度(熵)。因此使用P计算平均编码长度,实际编码长度基于Q计算,这个计算结果就是P和Q的交叉熵。

CrossEntropy=E_{X\sim P}[-log_{2}Q(x)]

Entropy=E_{X\sim P}[-log_{2}P(x)]

因此,交叉熵大于等于熵。

三、交叉熵损失函数

在二分类中,交叉熵可以对比模型的预测结果和数据的真实标签,随着预测越来越准确,交叉熵的值越来越小,如果预测完全正确,交叉熵的值就为0。因此,训练二分类模型时,可以使用交叉熵作为损失函数。

L=-P(true)log_{2}P(pre)-(1-P(true))log_{2}(1-P(pre))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
(Entropy) 是信息论中的一个概念,用来衡量随机变量的不确定性。在机器学习中,我们通常使用交叉 (Cross-Entropy) 作为损失函数,用来衡量模型预测结果与实际结果之间的差异。 以下是一些关于交叉的基本概念和公式。 ## (Entropy) 是一个概率分布的度量,它表示随机变量的不确定性。对于一个离散的随机变量 $X$,其的数学定义为: $$H(X)=-\sum_{x\in X}p(x)\log_2p(x)$$ 其中,$p(x)$ 表示随机变量 $X$ 取值为 $x$ 的概率,$\log_2$ 表示以 2 为底的对数。 可以看出,当 $p(x)$ 的分布越均匀(即所有 $x$ 的概率都相等)时,的值最大,达到 $H(X)=\log_2|X|$;当 $p(x)$ 的分布越集中在某些特定的取值上时,的值越小。 ## 交叉 (Cross-Entropy) 交叉是用来衡量模型预测结果与实际结果之间的差异的一种损失函数。对于一个离散的随机变量 $Y$,其真实分布为 $p(Y)$,模型预测的分布为 $q(Y)$,则交叉的数学定义为: $$H(p,q)=-\sum_{y\in Y}p(y)\log_2q(y)$$ 可以看出,当模型的预测结果与真实结果越接近时,交叉的值越小。 ## 交叉在机器学习中的应用 在机器学习中,我们通常使用交叉作为分类模型的损失函数。对于一个分类问题,我们需要将输入 $x$ 分类到 $k$ 个类别中的一个,并且每个类别都对应一个概率值 $p_i$,表示输入 $x$ 属于第 $i$ 个类别的概率。设模型的预测结果为 $q_1,q_2,...,q_k$,表示输入 $x$ 属于每个类别的概率预测值,则其交叉的数学定义为: $$H(p,q)=-\sum_{i=1}^kp_i\log_2q_i$$ 我们的目标是最小化交叉,使得模型的预测结果尽可能接近真实结果,从而提高模型的准确率。 以上就是关于交叉的基本概念和公式,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值