交叉熵为什么可以作为分类的损失函数?

MSE和交叉熵为什么选择交叉熵作为分类的损失函数?
面试中遇到好多次了,来个大佬让我背一遍答案,谢谢!!!
#面试题目#
全部评论
MSE + sigmoid、交叉熵 + sigmoid配套。后者计算少1个sigmoid的导数项,梯度等于预测值和真实值差值乘以x,计算更方便,而且差值越大代表梯度越大,更新越快,符合物理意义;前者sigmoid导数取值范围为[0,1],计算复杂,而且可能出现梯度消失
3 回复 分享
发布于 2020-08-22 16:51
交叉熵实际上是对输入数据的概率按照 p_i ^ y_i 的形式做了一个极大似然估计,取个log就是交叉熵的形式了。 而 mse 是假定误差服从高斯分布,简单来说是对 exp(|y - y'|**2) 进行极大似然估计,取个log得到平方损失的形式。
3 回复 分享
发布于 2020-08-22 17:18
他们对于y的假设分布都不一样吧。。 交叉熵损失不是-loglikelyhood么,二分类问题的假设不是y服从伯努利分布么,那求极大似然不就可以推导出来CE了么。
点赞 回复 分享
发布于 2020-08-22 20:28
其中一点是:你使用mse对分类任务时,梯度更新的时候是会涉及到sigmoid的计算,而你用交叉熵的话求梯度更新只涉及到真实值,预测值和x,计算就会实现简单方便
点赞 回复 分享
发布于 2020-08-22 16:43
从梯度来理解
点赞 回复 分享
发布于 2020-08-22 16:42
mse是假设误差服从高斯分布。。
点赞 回复 分享
发布于 2020-08-22 16:40
理论上。实际上
点赞 回复 分享
发布于 2020-08-22 16:39

相关推荐

05-15 19:04
门头沟学院 Java
2025.5.1450min,手撕+和项目相关的场景题拷打只录了自己的声音,具体的问题记不清了,没有大模型相关问题面试官太好了,全程面带微笑,直接叫我的名字面试官先进行自我介绍,然后介绍部门,确认个人信息。自我介绍。面试官说一面已经考察过算法了,二面编码就不考察很多算法了,考察解决实际问题的能力,以及开放性问题,没有正确答案,说自己的思路就行,不会的就跟他说换一个,有很多题可以问。1. 手撕代码,没要求运行,是给定一些日期区间,有起始时间和终止时间,求重叠的时间段。面试官非常详细的介绍了这个题目的背景,商家在确定酒店价格的时候不能选择重复的时间段。题目中要求时间复杂度是O(n)2. 敏感词过滤怎么实现的3. 目前互联网中要屏蔽的敏感词很多,还有什么时间复杂度更低的算法4. 有些人会在敏感词中间插入一些字符,这样该怎么判断敏感词5. Kafka如何保证消息的可靠性6. 用户点赞失败后如何解决7. Redis中如何8. 出现过缓存穿透吗,如何解决9. 用户登录凭证怎么做的10. 多种身份的用户怎么实现鉴权11. 出了一个场景,像知乎盐选,冲了会员才能看一些内容,管理员也能将用户设置成非会员,如何实现这个功能(这边简单回答了之后,还是追问了一些)12. 用户会员过期了怎么办(到时间会员过期,或是管理员让这个用户会员过期)13. Redis集群有一个节点挂了,怎么办14. 所有的节点都不可用了怎么办15. 这时候描述一下大量请求到服务端到数据库的这个过程是怎样的16. 说了限流和熔断,追问服务器端要怎么做,数据库端要怎么做17. Redis中某个请求很多的Key(上万)怎么分担压力(分片)反问,最后评价说有知识广度,编码思路也挺好的(不知道是不是安慰的话)技术细节方面,平时可以多考虑下提高性能,确定性能评估方案——————————这三天面了5场,快虚脱了,许愿能有一个好结果
美团二面2150人在聊 查看17道真题和解析
点赞 评论 收藏
分享
评论
4
20
分享

创作者周榜

更多
牛客网
牛客企业服务