深度学习-交叉熵损失

SoftMax回归

对于MNIST中的每个图像都是零到九之间的手写数字。所以给定的图像只能有十个可能的东西。我们希望能够看到一个图像,并给出它是每个数字的概率。

例如,我们的模型可能会看到一个九分之一的图片,80%的人肯定它是一个九,但是给它一个5%的几率是八分之一(因为顶级循环),并有一点概率所有其他,因为它不是100%确定。

这是一个经典的情况,其中softmax回归是一种自然简单的模型。如果要将概率分配给几个不同的东西之一的对象,softmax是要做的事情,因为softmax给出了一个[0,1]之间的概率值加起来为1的列表。

稍后,当我们训练更复杂型号,最后一步将是一层softmax。

那么我们通常说的激活函数有很多,我们这个使用softmax函数.softmax模型可以用来给不同的对象分配概率。即使在之后,我们训练更加精细的模型时,最后一步也需要用softmax来分配概率。

这里的softmax可以看成是一个激励(activation)函数,把我们定义的线性函数的输出转换成我们想要的格式,也就是关于10个数字类的概率分布。

因此,给定一张图片,它对于每一个数字的吻合度可以被softmax函数转换成为一个概率值。

softmax回归有两个步骤:首先我们将我们的输入的证据加在某些类中,然后将该证据转换成概率。每个输出的概率,对应着独热编码中具体的类别。

下面是softmax的公式:

在神经网络中,整个过程如下:

也就是最后的softmax模型,用数学式子表示:

交叉熵损失

我们前面学习过了一种计算误差损失,预测值与标准值差的平方和。不过在这里我们不能再使用这个方式,我们的输出值是概率并且还有标签。那么就需要一种更好的方法形容这个分类过程的好坏。

这里就要用到交叉熵损失。确定模型损失的一个非常常见的非常好的功能称为“交叉熵”。交叉熵来源于对信息理论中的信息压缩代码的思考,但是从压缩到机器学习在很多领域都是一个重要的思想。它定义为

它表示的是目标标签值与经过权值求和过后的对应类别输出值

tf.nn.softmax_cross_entropy_with_logits

tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)

计算logits与labels之间的softmax交叉熵损失,该函数已经包含了softmax功能,logits和labels必须有相同的形状[batch_size, num_classes]和相同的类型(float16, float32, or float64)。

  • labels 独热编码过的标签值
  • logits 没有log调用过的输入值
  • 返回 交叉熵损失列表
tf.nn.softmax_cross_entropy_with_logits(labels=y_label, logits=y))

原文地址:https://www.cnblogs.com/TimVerion/p/11237087.html

时间: 2024-10-10 23:57:42

深度学习-交叉熵损失的相关文章

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

目录 交叉熵损失与均方误差损失 损失函数角度 softmax反向传播角度 参考 博客:blog.shinelee.me | 博客园 | CSDN 交叉熵损失与均方误差损失 常规分类网络最后的softmax层如下图所示,传统机器学习方法以此类比, 一共有\(K\)类,令网络的输出为\([\hat{y}_1,\dots, \hat{y}_K]\),对应每个类别的概率,令label为 \([y_1, \dots, y_K]\).对某个属于\(p\)类的样本,其label中\(y_p=1\),\(y_1

TensorFlow和深度学习新手教程(TensorFlow and deep learning without a PhD)

前言 上月导师在组会上交我们用tensorflow写深度学习和卷积神经网络.并把其PPT的參考学习资料给了我们, 这是codelabs上的教程:<TensorFlow and deep learning,without a PhD> 当然登入须要FQ,我也顺带巩固下,做个翻译.不好之处请包括指正. 当然须要安装python,教程推荐使用python3.假设是Mac,能够參考博主的另外两片博文,Mac下升级python2.7到python3.6, Mac安装tensorflow1.0 好多专业词

TensorFlow和深度学习入门教程(TensorFlow and deep learning without a PhD)

前言 上月导师在组会上交我们用tensorflow写深度学习和卷积神经网络,并把其PPT的参考学习资料给了我们, 这是codelabs上的教程:<TensorFlow and deep learning,without a PhD> 当然登入需要翻墙,我也顺带巩固下,做个翻译,不好之处请包含指正. 当然需要安装python,教程推荐使用python3.如果是Mac,可以参考博主的另外两片博文,Mac下升级python2.7到python3.6, Mac安装tensorflow1.0 好多专业词

深度学习与自然语言处理(5)_斯坦福cs224d 大作业测验2与解答

作业内容翻译:@胡杨([email protected]) && @面包君 && Fantzy同学 校正与调整:寒小阳 && 龙心尘 时间:2016年6月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51815683 http://blog.csdn.net/longxinchen_ml/article/details/51814343 说明:本文为斯坦福大学CS224d课程的中文版内容笔记,已

深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答

深度学习与自然语言处理(4)_斯坦福cs224d 大作业测验1与解答 作业内容翻译:@胡杨([email protected]) && @胥可([email protected]) 解答与编排:寒小阳 && 龙心尘 时间:2016年6月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51760923 http://blog.csdn.net/longxinchen_ml/article/details/51765

神经网络之深度学习

神经网络非线性能力即原理1. 感知器与逻辑门2. 强大的空间非线性切分能力3. 网络表达能力与过拟合问题4. BP算法与SDG Café主要是用于图像的主流框架Tensflow框架,灵活的网络,工程上做训练,常用库TF-learning,TensorLayerKreas框架 搭建常用网络深度学习应用:图像上的应用:给照片打标签:对相册分类:拍立淘:自动驾驶NLP上的应用:模仿小四的文笔:google中英文翻译综合应用:看图说话 :问答系统一点基础:线性分类器(在样本点空间找到分割面,最简单的叫线

深度学习的57个术语

原文地址:https://www.cnblogs.com/hmy-blog/p/6555939.html 激活函数(Activation Function) 为了让神经网络能够学习复杂的决策边界(decision boundary),我们在其一些层应用一个非线性激活函数.最常用的函数包括  sigmoid.tanh.ReLU(Rectified Linear Unit 线性修正单元) 以及这些函数的变体. Adadelta Adadelta 是一个基于梯度下降的学习算法,可以随时间调整适应每个参

深度学习初步:

一.背景介绍 1.深度学习应用 2.一点基础:线性分类器 1)线性分类器得分函数: (1)给定W,可以由像素映射到类目得分 (2)可以调整参数/权重W,使得映射的结果和实际类别吻合 (3)损失函数是用来衡量吻合度的 (4)损失函数别的称呼:代价函数(衡量和标准之间的差异到底有多大,值越大) (5)损失函数1:hinge loss/支持向量机损失 对于训练集中的第i张图片数据xi 在W下会得到一个得分结果向量f(xi,W) 则在该样本上的损失我们可以由下列公式计算得到 (6)对于线性模型,可以简化

深度学习_1_神经网络_1

神经网络 感知机 解决分类问题 http://playground.tensorflow.org 神经网络 定义: ? 在机器学习领域和认知科学领域,人工神经网络(artificial neural network) 简称ann或类神经网络,一种放生物 神经网络的结构和功能的计算模型,用于对函数进行估计或近似. 种类: ? 基础神经网络:单层感受器,线性神经网络,BP神经网络,Hopfield神经网络 ? 进阶神经网络:玻尔兹曼机,受限玻尔兹曼机,递归神经网络 ? 深度神经网络:深度置信网络,卷