交叉熵的对比二次方损失

https://blog.csdn.net/u012162613/article/details/44239919

这篇没看懂

https://blog.csdn.net/u014313009/article/details/51043064

分类问题中,预测结果是(或可以转化成)输入样本属于n个不同分类的对应概率。比如对于一个4分类问题,期望输出应该为 g0=[0,1,0,0] ,实际输出为 g1=[0.2,0.4,0.4,0] ,计算g1与g0之间的差异所使用的方法,就是损失函数,分类问题中常用损失函数是交叉熵。

交叉熵(cross entropy)描述的是两个概率分布之间的距离,距离越小表示这两个概率越相近,越大表示两个概率差异越大。对于两个概率分布 p 和 q ,使用 q 来表示 p 的交叉熵为:

由公式可以看出来,p 与 q 之间的交叉熵 和 q 与 p 之间的交叉熵不是等价的。上式表示的物理意义是使用概率分布 q 来表示概率分布 p 的困难程序,q 是预测值,p 是期望值。

神经网络的输出,也就是前向传播的输出可以通过Softmax回归变成概率分布,之后就可以使用交叉熵函数计算损失了。

交叉熵一般会跟Softmax一起使用,在tf中对这两个函数做了封装,就是 tf.nn.softmax_cross_entropy_with_logits 函数,可以直接计算神经网络的交叉熵损失。

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(y, y_)

其中 y 是网络的输出,y_ 是期望输出。

针对分类任务中,正确答案往往只有一个的情况,tf提供了更加高效的 tf.nn.sparse_softmax_cross_entropy_with_logits 函数来求交叉熵损失。

均方误差

与分类任务对应的是回归问题,回归问题的任务是预测一个具体的数值,例如雨量预测、股价预测等。回归问题的网络输出一般只有一个节点,这个节点就是预测值。这种情况下就不方便使用交叉熵函数求损失函数了。

回归问题中常用的损失函数式均方误差(MSE,mean squared error),定义如下:

均方误差的含义是求一个batch中n个样本的n个输出与期望输出的差的平方的平均值。

tf中实现均方误差的函数为:

mse = tf.reduce_mean(tf.square(y_ - y))

在有些特定场合,需要根据情况自定义损失函数,例如对于非常重要场所的安检工作,把一个正常物品错识别为危险品和把一个危险品错识别为正常品的损失显然是不一样的,宁可错判成危险品,不能漏判一个危险品,所以就要在定义损失函数的时候就要区别对待,对漏判加一个较大的比例系数。在tf中可以通过以下函数自定义:

loss = tf.reduce_sum(tf.select(tf.greater(v1,v2),loss1,loss2))

https://blog.csdn.net/dcrmg/article/details/80010342

2021-01-16交叉熵损失函数比均方误差损失函数优点在哪里相关推荐

  1. 2021,至过去一年(2021.01.16 22:07:52)

    过去的一年,算是逆流而上的一年.经历了裁员离职,重新找工作的路. 总结一下在新的公司度过了一年 .总体来说对自身的发展路线确定下来.业务+技术的发展路线. 在项目中,主要在写后端,对接第三方系统,开发 ...

  2. 机器学习入门(08)— 损失函数作用和分类(均方误差、交叉熵误差)

    神经网络的学习中的"学习"是指从训练数据中自动获取最优权重参数的过程. 为了使神经网络能进行学习,将导入损失函数这一指标.而学习的目的就是以该损失函数为基准,找出能使它的值达到最小 ...

  3. 【TensorFlow】TensorFlow从浅入深系列之六 -- 教你深入理解经典损失函数(交叉熵、均方误差)

    本文是<TensorFlow从浅入深>系列之第6篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维导 ...

  4. 神经网络的学习(训练):损失函数(均方误差、交叉熵误差)

    1 神经网络学习(训练)步骤: 初始化权值和偏置参数--1 从总训练集抽取一批数据--2 前向传播计算损失.反向传播由损失计算各参数的梯度--3 利用梯度更新参数--4 重复1.2.3 2 神经网络: ...

  5. LESSON 10.110.210.3 SSE与二分类交叉熵损失函数二分类交叉熵损失函数的pytorch实现多分类交叉熵损失函数

    在之前的课程中,我们已经完成了从0建立深层神经网络,并完成正向传播的全过程.本节课开始,我们将以分类深层神经网络为例,为大家展示神经网络的学习和训练过程.在介绍PyTorch的基本工具AutoGrad ...

  6. 【TensorFlow系列二】经典损失函数(交叉熵、均方差)

    ↑ 点击上方[计算机视觉联盟]关注我们 1.交叉熵 交叉熵是分类问题中使用比较广的一种损失函数,刻画了两个概率分布之间的距离. 给定两个概率分布p和q,通过q来表示p的交叉熵为: 交叉熵刻画的是两个概 ...

  7. 常用损失函数:交叉熵损失

    目录 什么是损失函数 均方误差与交叉熵 为什么要使用交叉熵 交叉熵与KL散度之间的关系 参考文献 什么是损失函数 对于损失函数网上已经有充分的解释:"机器学习中所有的算法都需要最大化或最小化 ...

  8. 均方误差越大越好_直观理解为什么分类问题用交叉熵损失而不用均方误差损失?...

    交叉熵损失与均方误差损失 常规分类网络最后的softmax层如下图所示,传统机器学习方法以此类比, 一共有\(K\)类,令网络的输出为\([\hat{y}_1,\dots, \hat{y}_K]\), ...

  9. 损失函数(交叉熵误差)

    损失函数 神经网络以某个指标为线索寻找最优权重参数.神经网络的学习中所用的指标称为损失函数 (loss function).这个损失函数可以使用任意函数,但一般用均方误差和交叉熵误差等. 交叉熵误差 ...

最新文章

  1. Flink在快手实时多维分析场景的应用
  2. 一个技术转销售人员的感悟--深刻(转)
  3. 图之DFS与BFS的复杂度分析
  4. linux getdents 例子,Linux内建命令和外部命令(整理)
  5. 三维数据平滑处理_关于CAD三维对象建模
  6. noip复赛电脑有excel吗_指南 | 现在就必须了解的信息学竞赛(高一学生)
  7. 轻量级运维工具-pssh,pscp,prsync,pslurp,pnuke
  8. Web安全漏洞介绍及防御-文件上传漏洞
  9. 《手把手教你学DSP-基于TMS320F28335》书中的错误
  10. 个人--2015 关于管理的书
  11. 如何为html代码加密
  12. 网络工程师HCNA认证学习笔记Day1
  13. 可以在电脑上刷微信朋友圈啦-微信 mac最新版
  14. 在线TSV转SQL工具
  15. 使用clipboard.js实现复制内容至剪贴板
  16. SQL SERVER 变量赋值
  17. 计算机三级网络app,‎App Store 上的“计算机三级网络技术题库”
  18. FTP网络主机间文件传输指令
  19. java 搭建个人博客_5分钟 教大家搭建免费个人博客
  20. 谢启鸿老师思考题及解答合集

热门文章

  1. pythonjs语法_Python语法精解:JSON语法
  2. Linux安装CentOS7(图文详解)
  3. Oracle视图添加约束,Oracle的约束视图
  4. opensuse 安装java_OpenSUSE Leap 42.3 安装java(Oracle jre)
  5. python编程图_Python编程图形库之Pillow使用方法讲解
  6. vue连线 插件_vue 插件集合
  7. 增删改查 HTML表格页面,表格增删改查.html
  8. python导入模块快捷键_Python中的模块导入和读取键盘输入的方法
  9. 7-17 爬动的蠕虫 (C语言)
  10. 【c语言】测量最长字符串