【机器学习】交叉熵损失函数
参考:
交叉熵损失函数
1、信息熵
1.1、信息论中的熵
在信息论中,熵的定义:无损编码事件信息的最小平均编码长度。
假设一个信息事件有 8 种可能的状态,且各状态等可能性,即可能性都是 。
我们需要多少位来编码 8 个值呢?
我们可以直接用二进制编码来解决整个问题:分别用二进制的 对应一种可能的状态。
在 个状态的二进制编码中,少于长度 的编码会出现歧义,大于 是没有必要的,也就是保证了这是最小的值。
由此,我们很容易得到,编码一个有 种可能状态的信息,所需的最小编码长度为:
那么平均最小编码长度,也就是熵的公式为:
1.2、广义熵的理解
在信息学之外,熵被解释为:混乱程度,不确定性,惊奇程度,不可预测性,信息量等。
如果熵比较大,表示整个状态越难以预测,愈加的混乱。
如果理解呢?
来看公式中的这一部分 ,我们知道 函数的值越接近 ,越向 靠拢。那么 就是越向 靠拢。
也就是说, 的概率越小, 的值越大。
如果一个事件有非常多的状态,且每一个状态发生的概率都很小,那么熵的值就会非常大,这就是上面提到的混乱程度,不确定性。
2、交叉熵
2.1、信息论中的交叉熵
交叉熵(Cross Entropy
)是 Shannon
信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。
信息论中,交叉熵是表示两个概率分布 ,其中 表示真实分布, 表示非真实分布,在相同的一组事件中,其中,用非真实分布 来表示某个事件发生所需要的平均比特数。从这个定义中,我们很难理解交叉熵的定义。下面举个例子来描述一下:
假设现在有一个样本集中两个概率分布 ,其中 为真实分布, 为非真实分布。假如,按照真实分布p来衡量识别一个样本所需要的编码长度的期望为:
但是,如果采用错误的分布 来表示来自真实分布 的平均编码长度,则应该是:
此时就将 称之为交叉熵。
2.2、交叉熵作为损失函数
交叉熵损失函数具有以下几个优点:
- 非负性:交叉熵损失函数的值总是非负的,这符合损失函数的基本要求。
- 凸函数:交叉熵损失函数是一个凸函数,这意味着在优化过程中可以避免陷入局部最小值,从而更容易找到全局最优解。
- 梯度明显:交叉熵损失函数的梯度在模型预测错误时较大,在预测正确时较小。这使得模型在训练过程中能够更快地调整参数,提高训练效率。
__EOF__
本文链接:https://www.cnblogs.com/hoppz/p/18130717.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了