######好好好######MSE与CE的区别?数学推导 本质理解

本文详细解析了MSE(均方误差)和CE(交叉熵)在神经网络训练中的区别与应用场景。通过对比分析,阐述了为何在分类问题中CE更优于MSE,尤其是在防止梯度消失方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

面试官先问了几个简单问题,精灵自然轻松答出来了。终于面试官问到了MSE和CE的区别。

面试官:MSE和CE你熟悉吗?

精灵:熟悉,MSE就是mean square error,CE就是cross entropy。

面试官:没错,是这样的,训练神经网络时,你经常用哪一个?

精灵:如果是回归问题,用MSE,如果是分类问题,一般用CE。(这是一个小坑,先要区分问题是分类还是回归,面试官故意模糊这一点,就是考察精灵是否清楚这样的细节)

面试官:为什么呢?

精灵:因为MSE容易发生梯度消失问题,而CE则不会。

面试官:为什么呢?

精灵:以分类问题为例,假设我们的类别数量是T,最后一层使用softmax。对一条样本(x,c)而言,其label为c。在神经网络softmax之前那一层,共有T个神经元,让我们将目光投向第c个神经元,如下图所示:

 

不管是用MSE还是CE,我们都是希望y_c越大越好,其他与其并列的神经元越小输出值越好。

如果是MSE,这条样本的误差是:

 

我们来分析这个误差对于参数w的梯度。上式中一共有T项,我们不妨先取出其中一项,比如第一项来分析:

 

这里,我省略了其中的推导过程,相信面试官您也能理解。观察这个式子,我们发现了一个尴尬的问题,我们是想调整参数w从而增大这一项,使它尽可能接近于1:

 

可当这一项接近于0时,上面的梯度也将接近于0,因为该值就是梯度的一个因子。这就是gradient vannishing。

如果是用CE,则不会出现这个问题,用CE,其损失为:

 

同样我们求该损失对w的梯度:

 

此时,我们发现,该梯度就不会发生gradient vanishing了。因为消去了导致梯度错误消失的因子。

可见,因为我们最后做了softmax,所以用CE会比MSE好。

面试官:不错!分析的很到位!就你了,明天来公司上班吧!

精灵:好嘞!



作者:milter
链接:https://www.jianshu.com/p/5d13bcd9d990
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值