京公网安备 11010802034615号
经营许可证编号:京B2-20210330
前面小编给大家简单介绍过损失函数,今天给大家继续分享交叉熵损失函数,直接来看干货吧。
一、交叉熵损失函数概念
交叉熵损失函数CrossEntropy Loss,是分类问题中经常使用的一种损失函数。公式为:
接下来了解一下交叉熵:交叉熵Cross Entropy,是Shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。在信息论中,交叉熵是表示两个概率分布p,q,其中p表示真实分布,q表示非真实分布,在相同的一组事件中,其中,用非真实分布q来表示某个事件发生所需要的平均比特数。
交叉熵的计算方式如下:
交叉熵可在机器学习中作为损失函数,p代表真实标记的分布,q则代表训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是:使用sigmoid函数在梯度下降时,可以避免均方误差损失函数学习速率下降的问题,这是因为学习速率是能够被输出的误差所控制的。
二、交叉熵损失函原理
一般我们学习交叉熵损失函数是在二元分类情况下,就比如逻辑回归「Logistic Regression」、神经网络「Neural Network」等,其真实样本的标签为 [0.1],分别表示负类和正类。模型的最后通常会经过一个 Sigmoid 函数,输出一个概率值,这个概率值反映了预测为正类的可能性:概率越大,可能性越大。
其中s是模型上一层的输出,sigmoid函数有这样的特点:s = 0 时,g(s) = 0.5; s >> 0 时,g ≈ 1.s << 0 时,g ≈ 0.显然,g(s) 将前一级的线性输出映射到[0. 1]之间的数值概率上,这里g(s)就是交叉熵公式中的模型预测输出。
预测输出也就是, Sigmoid 函数的输出,表示当前样本标签为 1 的概率:
y^=P(y=1|x)
那么,当前样本标签为 0 的概率就可以表示为:
1−y^=P(y=0|x)
从极大似然性的角度考虑,将上面两种情况进行整合:
也就是:
当真实样本标签 y = 0 时,上面式子第一项就为 1.概率等式转化为:
P(y=0|x)=1−y^
当真实样本标签 y = 1 时,上面式子第二项就为 1.概率等式转化为:
P(y=1|x)=y^
这两种情况下的概率表达式跟原来的完全相同,只是将两种情况进行了整合。
接下来我们重点看一下整合之后的概率表达式,概率 P(y|x) 越大越好。因为 log 运算并不会影响函数本身的单调性,所以 将log 函数引入P(y|x)。于是就有:
log P(y|x)=log(y^y⋅(1−y^)1−y)=ylog y^+(1−y)log(1−y^)
log P(y|x) 越大越好,反过来说也就是,只需要 log P(y|x) 的负值 -log P(y|x) 越小就可以了。引入损失函数,而且使得 Loss = -log P(y|x)即可。那么就能得到损失函数为:
如果是计算N个样本的总损失函数的情况,则只需要将N个Loss叠加起来
三、交叉熵损失函数的优缺点分析
1.使用逻辑函数得到概率,并结合交叉熵当损失函数时,当模型效果差的时,学习速度较快,模型效果好时,学习速度会变慢。
2.采用了类间竞争机制,比较擅长于学习类间的信息,但是只关心对于正确标签预测概率的准确性,而忽略了其他非正确标签的差异,从而导致学习到的特征比较散。
以上就是小编今天跟大家分享的关于交叉熵损失函数概念和原理的相关介绍,希望对于大家有所帮助。
相信读完上文,你对算法已经有了全面认识。若想进一步探索机器学习的前沿知识,强烈推荐机器学习之半监督学习课程。
学习入口:https://edu.cda.cn/goods/show/3826?targetId=6730&preview=0
涵盖核心算法,结合多领域实战案例,还会持续更新,无论是新手入门还是高手进阶都很合适。赶紧点击链接开启学习吧!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在Python Pandas数据分析中,DataFrame是承载结构化数据的核心载体,数据清洗、数据修正、条件赋值、字段更新等实操场景,都离不 ...
2026-09-09 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-09-09卡方检验(Chi-Square Test)是统计学中针对分类数据的经典显著性检验方法,核心用于判断两个离散分类变量是否相互独立、数据实 ...
2026-09-09CDA数据分析师 出品 作者:李诗怡 1. 销售漏斗阶段判断 题目:销售漏斗模型中,通过广告、社交媒体等方式触达品牌信息(如浏览品 ...
2026-09-07在Python数据分析中,Pandas库的DataFrame是最核心、最常用的结构化数据表对象,类似于Excel的二维表格,具备规整的行列结构、字 ...
2026-09-07在数据分析、经营复盘、业绩预测与经济统计工作中,平均增速(平均增长率)是衡量数据长期变化趋势、业务发展快慢的核心指标。不 ...
2026-09-07 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-09-07随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01