tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)

第一个参数logits:就是神经网络最后一层的输出

第二个参数labels:实际的标签

具体的执行流程大概分为两步:

第一步是先对网络最后一层的输出做一个softmax,这一步通常是求取输出属于某一类的概率,对于单样本而言,输出就是一个num_classes大小的向量([Y1,Y2,Y3...]其中Y1,Y2,Y3...分别代表了是属于该类的概率)

softmax的公式是:

第二步softmax的输出向量[Y1,Y2,Y3...]和样本的实际标签做一个交叉熵,公式如下:


其中指代实际的标签中第i个的值(用mnist数据举例,如果是3,那么标签是[0,0,0,1,0,0,0,0,0,0],除了第4个值为1,其他全为0)

这个函数的返回值并不是一个数,而是一个向量,如果要求交叉熵,我们要再做一步tf.reduce_sum操作,就是对向量里面所有元素求和,最后才得到,如果求loss,则要做一步tf.reduce_mean操作,对向量求均值!

#our NN's output
logits=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]])  
#true label
y_=tf.constant([[0.0,0.0,1.0],[0.0,0.0,1.0],[0.0,0.0,1.0]]) 
#step1:do softmax
y=tf.nn.softmax(logits)  #step2:do cross_entropy
cross_entropy = -tf.reduce_sum(y_*tf.log(y))  #do cross_entropy just one step
cross_entropy2=tf.reduce_sum(tf.nn.softmax_cross_entropy_with_logits(logits, y_))#dont forget tf.reduce_sum()!!
--------------------- 

https://blog.csdn.net/lyc_yongcai/article/details/73231951

转载于:https://www.cnblogs.com/xiaoniu-666/p/10372545.html

机器学习 - 损失计算-softmax_cross_entropy_with_logits相关推荐

  1. 【CCAI大咖秀】AlphaGo/Mobileye教父:智能科学需要融合机器学习、计算神经科学与认知科学

    [CCAI大咖秀]AlphaGo/Mobileye教父:智能科学需要融合机器学习.计算神经科学与认知科学 8月26-27日,由中国人工智能学会(CAAI)发起并主办.中科院自动化研究所与CSDN共同承 ...

  2. yolov3从头实现(六)损失计算

    损失计算 一.损失计算的输入 损失计算的预测值输入是yolov3从头实现(五)中的yolov3网络块的输出 损失计算的真实值输入是yolov3从头实现(三)中我们制作出的标签值 二.损失的结构 yol ...

  3. 大咖云集,EI稳定检索,第14届机器学习与计算国际会议(ICMLC 2022)

    14th - ICMLC 2022 第14届机器学习与计算国际会议 2月18-21日 | 中国广州 关于我们 机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用于解决工程应用和科 ...

  4. 机器学习——科学计算库(Numpy,Matplotlib,Pandas)

    机器学习--科学计算库中主要介绍的内容是人工智能深度学习过程常用的几个python库,主要有Numpy,Matplotlib,Pandas等,具体如下所示 在学习的过程中,我也从网上借鉴了多位大佬的优 ...

  5. 推荐系统_各种方法的损失计算过程

    如何构造一个更好的语义特征向量是各个推荐算法的核心. 除了用户购买商品的记录文件,我们还有两类文件,即用户属性文件(性别,年龄,职业等),商品属性文件(发行日期,种类等),一个商品属性中的种类可以有多 ...

  6. Uniswap V3无偿损失计算、Uniswap V3做市

    Uniswap V3无偿损失计算:(原文参考链接:https://www.8btc.com/article/6653418) Uniswap V3做市:(原文链接参考:https://www.8btc ...

  7. SSD源码的损失计算

    SSD源码的损失计算 文章目录 SSD源码的损失计算 1.前言 2.解析 2.1 match 2.1.1 匹配策略 2.1.2 match函数代码 2.2 encode与decode 2.2.1 en ...

  8. Python3 机器学习之计算香农熵

    Python3 机器学习之计算香农熵 from math import log # 函数说明:计算给定数据集的经验熵(香农熵) def calcShannonEnt(dataSet):numEntir ...

  9. 机器学习实现计算不规则图形面积_不用任何数学方法,如何计算圆面积

    杀鸡用牛刀,我们用机器学习方法来算圆的面积. 询问任何人圆的面积是多少,他们都会告诉你不就是r²吗.但如果你问他们为什么,他们很可能并不知道. 这是因为圆的面积公式的证明在大多数情况下要么不直观,不令 ...

最新文章

  1. Alpha 测试和Beta的区别
  2. Java子线程中的异常处理(通用)
  3. Btrace详细指南(JDK7,监控HashMap扩容)
  4. 【视频】vue指令v-on绑定事件
  5. wxWidgets:wxObjectRefData类用法
  6. MySQL通过添加索引解决线上数据库服务器压力大问题
  7. 二叉链表之寻找两节点的最近公共祖先☆
  8. breakall lisp文件_CAD图导入SU中一次成面的方法
  9. c语言中罗马字母数字,罗马数字转整数C语言实现
  10. ubuntu20运行A-LOAM记录
  11. 大学杂念集 随便写写
  12. VUE前端开发环境版本查看命令
  13. C++编程-腐烂的橘子-广度优先搜索
  14. 用HTML5绘制的一个星空特效图
  15. 动软代码生成器基础使用
  16. 使用多线程时@Service工具类出现NullPoint错误解决
  17. lol聊天服务器断开无法修复,英雄联盟无法聊天说话处理办法
  18. 外贸行业找客户的三种方式和五种工具
  19. 联想y7000电脑未正确启动_Lenovo/联想 拯救者 Y7000简单装系统教程
  20. ROMP:Monocular, One-stage, Regression of Multiple 3D People

热门文章

  1. 使用开源ASR框架在Mono和.NET C#中进行语音识别
  2. 小程序文章怎么导出来_微信小程序点餐怎么申请,怎么建立微信点单小程序
  3. unwrap函数c语言实现,AppDomain与Assembly的动态加载与卸载代码详解
  4. linux cp通同时新建目录_Linux 新手应该知道的 26 个命令
  5. stm32f407网页服务器,STM32F407单片机通过USR-LTE-7S4模块和服务器进行4G通信
  6. Referenced file contains errors (http://www.springframework.org/schema/context/spring-context-3.1.xs
  7. js 判断 ““,null,undefined
  8. c语言 除法小数点怎么写,高精度除法小数点位数
  9. 为什么计算机控制系统采用软,微型计算机控制技术一二章复习资料及部分答案...
  10. 怎么在Java里辨别小数_求教java中如何判断一个数是不是小数,求详细代码及解释...