我们先从逻辑回归的角度推导一下交叉熵(cross entropy)损失函数。

从逻辑回归到交叉熵损失函数

这部分参考自 cs229-note1 part2。

为了根据给定的

预测
(0或1),令假设函数为

其中,

是sigmoid函数,表达式为

进一步,我们假设有

我们可以看到在

中,
是模型参数,
则是为了将最后的值限制在0、1之间,进而将其作为概率。

接下来,通过一个小技巧(-),将(1)式中的两个概率写到一起,即

我们可以看到,无论

的取值是0还是1,(2)式都与(1)等价。于是,得到似然函数

得到对数似然函数

于是代价函数
,其中
为样本的总数。

为什么不直接一点

通过上面的推导,我们得到了交叉熵损失函数的表达式

其中,

本质上,我们的目的是希望

尽可能接近
,(3)式在
时取最小值,那么为什么我们不直接,直接取平方损失函数呢?

假设在逻辑回归中使用平方损失函数,那么有

求导得

其中,

上面的推导中用到了sigmoid函数的性质:

从(5)式中可以看出,当

时,
;可以看出,当
的值趋近于0或1时,
趋近于0,即导致了梯度消失。所以,平方损失函数在这里不适用。

那交叉熵损失函数就可以避免这个问题吗?我们求导试试看,

我们发现,

刚好被消去,梯度消失的问题得到了避免。

多分类中的交叉熵损失函数

在多分类中,我们不再使用sigmoid函数,而是使用softmax函数生成一个概率分布。

相应的交叉熵损失函数为

其中

的时候,

这便是唉pytorch文章中所描述的,交叉熵时logsoftmax和nllloss的结合。

交叉熵损失函数分类_交叉熵损失函数相关推荐

  1. 交叉熵损失函数分类_逻辑回归(Logistic Regression)二分类原理,交叉熵损失函数及python numpy实现...

    本文目录: 1. sigmoid function (logistic function) 2. 逻辑回归二分类模型 3. 神经网络做二分类问题 4. python实现神经网络做二分类问题 ----- ...

  2. 交叉熵损失函数优缺点_交叉熵损失函数的优点(转载)

    第一篇: 利用一些饱和激活函数的如sigmoid激活时,假如利用均方误差损失,那么损失函数向最后一层的权重传递梯度时,梯度公式为 可见梯度与最后一层的激活函数的导数成正比,因此,如果起始输出值比较大, ...

  3. 平均符号熵的计算公式_交叉熵(Cross Entropy)从原理到代码解读

    交叉熵(Cross Entropy)是Shannon(香浓)信息论中的一个概念,在深度学习领域中解决分类问题时常用它作为损失函数. 原理部分:要想搞懂交叉熵需要先清楚一些概念,顺序如下:==1.自信息 ...

  4. yolov3损失函数改进_基于改进损失函数的YOLOv3网络

    目标检测具有广阔的发展前景和巨大的商业价值, 已经成为国内外相关从业者的研究热点, 在智能安防.自动驾驶等领域具有广泛应用. 经典的目标检测方法有Dalal于2005年提出的基于HOG特征的检测方法[ ...

  5. 交叉验证python代码_交叉验证以及python代码实现

    这篇文章介绍的内容是关交叉验证以及python代码实现 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 模型选择的两种方法:正则化(典型方法).交叉验证. 这里介绍交叉验证及其pyth ...

  6. 交叉熵损失函数公式_交叉熵损失函数对其参数求导

    1.Sigmoid 二分类交叉熵 交叉熵公式: 其中y是laebl:0 或1. hθ(xi)是经过sigmoid得到的预测概率.θ为网络的参数, m为样本数. hθ()函数如下所示, J(θ) 对参数 ...

  7. 交叉熵损失函数优缺点_交叉熵损失函数

    交叉熵代价函数(Cross-entropy cost function)是用来衡量人工神经网络(ANN)的预测值与实际值的一种方式.与二次代价函数相比,它能更有效地促进ANN的训练.在介绍交叉熵代价函 ...

  8. 交叉驰豫的影响因素_交叉滚子轴承系列吉林薄壁交叉滚子轴承用途博盈

    大家是否会鉴别交叉滚子轴承质量的好坏呢,下面我们起讨论如何挑选好的轴承. 1.先看交叉滚子轴承钢的使用材质,轴承是自己业的炼钢厂生产出来的,在硬度和精密上都高于假冒的FAG轴承. 2.采用高投入标记设 ...

  9. 交叉熵损失函数优缺点_【损失函数】常见的损失函数(loss function)总结

    阅读大概需要7分钟 跟随小博主,每天进步一丢丢 机器学习算法与自然语言处理出品 @公众号原创专栏作者 yyHaker 单位 | 哈工大SCIR实验室 损失函数用来评价模型的预测值和真实值不一样的程度, ...

最新文章

  1. 【骚气的动效】无限循环往下往复淡入淡出运动,通常用于向下箭头,提示用户可以往下滚动或者点击展开
  2. C++知识点30——使用C++标准库(关联容器map及其初始化,赋值,查找,添加,删除与迭代器失效)
  3. 怎么更新鸿蒙系统mate10,能不能升级鸿蒙系统?
  4. Android Things揭开面纱
  5. python xml转换键值对_Python 提取dict转换为xml/json/table并输出
  6. 半岛电视台员工遭iOS iMessage app零点击0day 漏洞利用攻击
  7. MySQL 这三道必问面试题,你都会吗?
  8. 大数据挑战:敢不敢不要加入人的判断?
  9. 设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面) 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票
  10. 开启本地网易云api接口后端服务器
  11. qq在线客服html代码,QQ在线客服JS代码,自适应漂浮在网页右侧
  12. 你真的懂网络安全行业吗?
  13. 磁盘阵列数据恢复_raid5硬盘离线数据恢复步骤_HP-lefthand存储详解
  14. Extjs实现角色权限流控制,对fieldset,checkbox的动态控制
  15. Windows10电脑进行拨号连接时,无法共享热点?如何解决?多次尝试后,终于解决了。
  16. 翻译管理协作翻译平台-crowdin
  17. 娃娃机共享扫码平台开发
  18. RK3588平台开发系列讲解(Display篇)开机视频的设置
  19. 美国的互联网上网费现状
  20. 发展教育数字化,开创教育新局面

热门文章

  1. 二叉树节点间的最大距离
  2. tensorflow就该这么学--4(识别手写数字)
  3. 深度学习核心技术精讲100篇(七十七)-主流推荐引擎技术及优缺点分析
  4. Linux疑难杂症解决方案100篇(十九)-什么是TCP协议中的“三次握手,四次挥手”?带你深入探讨下
  5. 微信黑科技-推荐系统,一文带你看懂为什么微信推荐这么快?
  6. 用Tableau画3D模型之二(提高篇)
  7. 深度学习,究竟该如何学?
  8. tf.train.MomentumOptimizer()优化器
  9. LeetCode-滑动窗口-3. 无重复字符的最长子串
  10. Cracer渗透视频课程学习笔记——漏洞分析