F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

 

 

 

 二元交叉熵(Binary cross entropy)是二分类中常用的损失函数,它可以衡量两个概率分布的距离,二元交叉熵越小,分布越相似,其公式如下:

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

我们用jupyter notebook举例解释一下,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

假设 1个图像样本由神经网络处理后的输出是 size 10×4 的tensor,随机生成一个tensor,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

使用Sigmoid对该tensor进行概率变换,tensor的每个数值的变换都是相互独立的,下面得出预测的概率分布,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

我们在这里随机生成一个真值的概率分布y,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

自己定义一下BCELoss,需要输入预测的概率分布和真值的概率分布,BCELoss对每一对概率值(probm,n,ym,n)单独计算交叉熵,然后求和,再求平均,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

手动计算一下,结果一致,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

使用F.binary_cross_entropy 验证一下,同样需要输入预测的概率分布和真值的概率分布,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

再使用F.binary_cross_entropy_with_logits验证一下,直接输入神经网络的输出和真值的概率分布,

F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

相比F.binary_cross_entropy函数,F.binary_cross_entropy_with_logits函数在内部使用了sigmoid函数,也就是

F.binary_cross_entropy_with_logits = sigmoid + F.binary_cross_entropy。

实际使用时:

假设输入神经网络的batch_size= 8,每个图像样本经过处理后的输出是 size = 10×4 的tensor,每个 tensor 被看作 40 个样本点的集合,那么 8个图像样本得到 320个样本点,

F.binary_cross_entropy_with_logits函数和 F.binary_cross_entropy函数的 reduction 参数都默认是‘mean’模式,直接使用默认值的话,结果是320个样本点的二元交叉熵的平均值,

若要计算8个图像样本的二元交叉熵的平均值,可以设置 reduction=‘sum’ , 这样能得到 320个样本点的二元交叉熵的和,然后除以batch_size 就能得到8个图像样本的二元交叉熵的平均值,

loss = F.binary_cross_entropy_with_logits(predict, y, weight, reduction='sum') / batch_size

这里的predict 和 y都是 8×10×4 的shape。

 

BCELoss与BCEWithLogitsLoss的关联:BCEWithLogitsLoss = Sigmoid + BCELoss,

 F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题)

 

 

Enjoy it!

 

原文链接:https://www.cnblogs.com/booturbo/p/17352468.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:F.binary_cross_entropy_with_logits函数与F.binary_cross_entropy函数的关系(二分类问题) - Python技术站

(0)
上一篇 2023年4月27日
下一篇 2023年4月27日

相关文章

  • Linux Ubuntu16.04LTS安装TensorFlow(CPU-only,python3.7)——使用Anaconda安装

    1、安装Anaconda(在此不再赘述) 2、用Conda安装TensorFlow 1)建立TensorFlow运行环境并激活 conda create -n tensorflow pip python=2.7 #建立环境 或者python=3.4 source activate tensorflow #激活 (以后每次要使用tensorflow都需要执行此…

    tensorflow 2023年4月8日
    00
  • 如何用TensorFlow实现线性回归

      环境Anaconda 废话不多说,关键看代码   import tensorflow as tf import os os.environ[‘TF_CPP_MIN_LOG_LEVEL’]=’2′ tf.app.flags.DEFINE_integer(“max_step”, 300, “训练模型的步数”) FLAGS = tf.app.flags.FLA…

    tensorflow 2023年4月8日
    00
  • 机器学习模型评估指标总结

     常用机器学习算法包括分类、回归、聚类等几大类型,以下针对不同模型总结其评估指标 一、分类模型 常见的分类模型包括:逻辑回归、决策树、朴素贝叶斯、SVM、神经网络等,模型评估指标包括以下几种: (1)二分类问题   (a)混淆矩阵     准确率A:预测正确个数占总数的比例     精准率P:正例样本中有多少被预测正确了     召回率R:预测的正例样本中有…

    机器学习 2023年4月11日
    00
  • keras 训练中的Acc由来

    What does the train accuracy mean? What are the test samples? 第一个回答 site: https://github.com/keras-team/keras/issues/877 第二个回答 这里对于training accuracy的描述分个,我更偏向第二种,是针对一个batch (默认32),…

    2023年4月8日
    00
  • 基于keras中IMDB的文本分类 demo

        本次demo主题是使用keras对IMDB影评进行文本分类: import tensorflow as tf from tensorflow import keras import numpy as np print(tf.__version__) imdb = keras.datasets.imdb (train_data, train_label…

    2023年4月8日
    00
  • tensorflow模型转ncnn模型

      ncnn本来是有tensorflow2ncnn的工具,但是在5月份时候被删除,原因是很多算子不支持,使用过程中很多bug,作者nihui直接将该功能删除。但是,tensorflow是目前最popular的深度学习框架,因此tensorflow转ncnn的需求还是必不可少的需求。下面提供一种将tensorflow转换为ncnn的一种解决方案。 感谢: ht…

    tensorflow 2023年4月8日
    00
  • 目标检测中常用的IOU、NMS和mAP

    介绍目标检测中三种最常见的代码。 #IOU代码 #box格式 (xmin,ymin,xmax,ymax) def computeIOU(A, B): #assert A.size()==4 and B.size()==4, “must have 4 numbers” bxmin = max(A[0],B[0]) bymin = max(A[1],B[1]) …

    目标检测 2023年4月7日
    00
  • 使用caffe训练mnist数据集 – caffe教程实战(一)

    个人认为学习一个陌生的框架,最好从例子开始,所以我们也从一个例子开始。 学习本教程之前,你需要首先对卷积神经网络算法原理有些了解,而且安装好了caffe 卷积神经网络原理参考:http://cs231n.stanford.edu/syllabus.html Ubuntu安装caffe教程参考:http://caffe.berkeleyvision.org/i…

    2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部