首页 > 其他分享 >softmax和crossentropy

softmax和crossentropy

时间:2023-07-14 15:55:23浏览次数:47  
标签:函数 概率分布 预测 损失 CrossEntropyLoss softmax crossentropy Softmax

当进行多分类任务时,通常会使用 Softmax 函数和 CrossEntropyLoss 损失函数来处理模型的输出和计算损失。

Softmax 函数: Softmax 函数用于将模型的原始输出转换为概率分布。对于一个具有 K 个类别的模型输出向量 z,Softmax 函数的定义如下:

softmax(z_i) = exp(z_i) / sum(exp(z_j)),其中 i = 1, 2, ..., K

Softmax 函数将每个元素 z_i 转换为一个介于 0 到 1 之间的实数,使得所有元素的和等于 1。这样,每个元素表示了对应类别的概率估计。Softmax 函数可以用来将模型的原始输出转化为概率分布,以便进行多分类任务的预测。

CrossEntropyLoss 损失函数: CrossEntropyLoss 是用于多分类任务的常见损失函数。对于一个具有 K 个类别的预测概率分布 y_pred 和真实标签 y_true,CrossEntropyLoss 的定义如下:

CE(y_pred, y_true) = -sum(y_true * log(y_pred))

其中,y_true 是一个 one-hot 编码的向量,表示真实标签的类别,y_pred 是预测的类别概率分布。

CrossEntropyLoss 计算预测概率分布 y_pred 和真实标签 y_true 之间的交叉熵损失。交叉熵损失可以衡量预测分布和真实分布之间的差异。当预测概率分布与真实标签完全匹配时,交叉熵损失为 0。随着预测分布和真实分布之间的差异增加,损失值也会增加。

使用 Softmax 函数和 CrossEntropyLoss 损失函数的步骤如下:

  1. 模型的输出向量经过 Softmax 函数转换,得到预测的类别概率分布。
  2. 真实标签进行 one-hot 编码,以便与预测概率分布进行对比。
  3. 将预测的类别概率分布和真实标签传递给 CrossEntropyLoss 损失函数。
  4. 计算交叉熵损失,衡量预测分布和真实分布之间的差异。
  5. 使用损失值进行模型的训练和优化,通过最小化损失来改善模型的预测能力。

通过 Softmax 函数和 CrossEntropyLoss 损失函数的组合,可以在多分类任务中对模型进行训练,并优化模型的预测结果。

 

标签:函数,概率分布,预测,损失,CrossEntropyLoss,softmax,crossentropy,Softmax
From: https://www.cnblogs.com/end/p/17553889.html

相关文章

  • TensorFlow实践——Softmax Regression
    SoftmaxRegression是Logistic回归在多分类上的推广,对于Logistic回归以及SoftmaxRegression的详细介绍可以参见:简单易学的机器学习算法——Logistic回归利用Theano理解深度学习——LogisticRegression深度学习算法原理——SoftmaxRegression下面的代码是利用TensorFlow基本API实......
  • 神经网络:softmax激活函数
    softmax的作用:将多分类的输出值转换为范围在[0,1]和为1的概率分布soft反方词hardhardmax从一组数据中找到最大值softmax为每一个分类提供一个概率值,表示每个分类的可能性。所有分类的概念值之和是1.优点在x轴上一个很小的变化,可以导致y轴上很大的变化,将输出的数值拉开距离。在深......
  • 3.7 softmax回归的简洁实现
    1.导入包,加载Mnist数据集 2.代码:importtorchfromtorchimportnnfromd2limporttorchasd2lbatch_size=256train_iter,test_iter=d2l.load_data_fashion_mnist(batch_size)#PyTorch不会隐式地调整输入的形状。因此,#我们加入一个Flatten()层展平。Flatt......
  • 3.4 softmax回归
    3.4.1分类问题整节理论知识,详见书本。3.4.2网络架构整节理论知识,详见书本。3.4.3全连接层的参数开销整节理论知识,详见书本。3.4.4softmax运算整节理论知识,详见书本。3.4.5小批量样本的向量化整节理论知识,详见书本。3.4.6损失函数整节理论知识,详见书本。3.4.7......
  • Softmax
    Softmax将输出的离散值转换成概率值,且所有情况的概率之和为1。求导pytorch实现......
  • 3.6 Softmax回归的从零开始实现
    我们首先导入相关的包,并读入训练和测试所用的数据集图片的DataLoader: 这里面d2l.load_data_fashion_mnist(batch_size)读入训练和测试所用的图像数据集的DataLoader。 1.初始化模型参数Softmax回归模型参数包括W、b。假设输入特征数量为num_inputs,输出的数量(类别的数量)为n......
  • softmax回归的简洁实现
    softmax回归的简洁实现通过深度学习框架的高级API能够使实现softmax回归模型更方便地实现继续使用Fashion-MNIST数据集,并保持批量大小为256。importtorchfromtorchimportnnfromd2limporttorchasd2lbatch_size=256train_iter,test_iter=d2l.load_data_fash......
  • The Cross-Entropy Loss Function for the Softmax Function
    TheCross-EntropyLossFunctionfortheSoftmaxFunction作者:凯鲁嘎吉-博客园 http://www.cnblogs.com/kailugaji/本文介绍含有softmax函数的交叉熵损失函数的求导过程,并介绍一种交叉熵损失的等价形式,从而解决因log(0)而出现数值为NaN的问题。1.softmax函数求导2.交......
  • 【动手学深度学习】第三章笔记:线性回归、SoftMax 回归、交叉熵损失
    这章感觉没什么需要特别记住的东西,感觉忘了回来翻一翻代码就好。3.1线性回归3.1.1线性回归的基本元素1.线性模型用符号标识的矩阵\(\boldsymbol{X}\in\mathbb{R}^{n\timesd}\)可以很方便地引用整个数据集中的\(n\)个样本。其中\(\boldsymbol{X}\)地每一行是一个样......
  • 深度学习之PyTorch实战(5)——对CrossEntropyLoss损失函数的理解与学习
     其实这个笔记起源于一个报错,报错内容也很简单,希望传入一个三维的tensor,但是得到了一个四维。RuntimeError:onlybatchesofspatialtargetssupported(3Dtensors)butgottargetsofdimension:4查看代码报错点,是出现在pytorch计算交叉熵损失的代码。其实在......