crossentropy

对于分类任务交叉熵损失

描述

交叉熵操作计算网络预测和目标值单标签和多标签分类任务之间的交叉熵损失。

注意

此函数计算存储为预测和目标之间的交叉熵损失dlarray数据。如果要计算中的交叉熵损失layerGraph对象或阵列,用于在使用trainNetwork使用下列层:

DLY= crossentropy(DLX目标计算预测之间的绝对交叉熵损失DLX和目标值目标对于单标签分类任务。输入DLX被格式化dlarray同尺寸的标签。输出DLY是一个未格式化的标dlarray没有尺寸的标签。

DLY= crossentropy(DLX目标, 'DATAFORMAT',FMT)还指定尺寸格式FMT什么时候DLX是不是一个格式化dlarray

DLY= crossentropy(___名称,值使用一个或除了在前面的语法的输入参数更名称 - 值对的参数指定的选项。例如,'TargetCategories', '独立'计算的多标签分类任务交叉熵损失。

例子

全部收缩

交叉熵损失评估板如何做好网络预测对应目标分类。

创建输入数据分类为随机变量的矩阵。数据中包含12个观察,可以是任何的10个类别。

numCategories = 10;观测= 12;X =兰特(numCategories,观测);DLX = dlarray(X,'CB');

在数据转换类别值概率得分为每个类别。

DLX = SOFTMAX(DLX);

创建目标数据,其中包含正确的分类在每个观察DLX

targetsIdx =兰迪(10,1,12);目标=零(10,12);对于I = 1:numel(targetsIdx)目标(targetsIdx(I)中,i)= 1;结束

计算的预测和目标之间的交叉熵损失。

DLY = crossentropy(DLX,目标)
DLY = 1x1的dlarray 2.3343

输入参数

全部收缩

预测,指定为dlarray具有或不具有尺寸标签或一个数值数组。什么时候DLX是不是一个格式化dlarray,必须使用指定的尺寸格式'DATAFORMAT',FMT。如果DLX是一个数值数组,目标必须是dlarray

数据类型:|

目标分类标签,指定为格式化或格式化dlarray或数字阵列。

如果目标被格式化dlarray,其尺寸格式必须是相同的格式X,或相同的'DATAFORMAT'如果X未格式化

如果目标是一个未格式化dlarray或数字数组,大小目标必须的尺寸完全匹配X。格式X或价值'DATAFORMAT'隐式地应用到目标

数据类型:|

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N

例:'TargetCategories', '独立', 'DATAFORMAT', 'CB'评估多标签分类任务的交叉熵损耗和指定输入数据作为的维序'CB'

类型分类任务的,指定为逗号分隔的一对组成的'TargetCategories'和以下情况之一:

  • '独家'- 单标签分类。在预测每个观测DLX专门分配给一个类别。的函数计算用于通过指定的单个类别的目标值之间的损耗目标和对应的预测DLX,平均超过观测次数。

  • '独立'- 多标签分类。在预测每个观测DLX可以被分配给一个或多个独立的类别。函数计算由指定的每个类别之间的损耗的总和目标而在预测DLX对于这些类别,平均超过观察次数。这种类型的分类任务的交叉熵损失也被称为二进制交叉熵损失。

默认值是'独家'

对于单标签分类,损失是使用以下公式计算:

失利 = - 1 ñ Σ 一世 = 1 中号 Ť 一世 日志 X 一世

哪里X一世是网络的响应,Ť一世是目标值,中号是响应于总数X(在所有的观察和类别),并ñ是观测在总数X

对于多标签分类,损失是使用以下公式计算:

失利 = - 1 ñ Σ 一世 = 1 ñ Σ Ĵ = 1 C Ť 一世 Ĵ 日志 X 一世 Ĵ + 1 - Ť 一世 Ĵ 日志 1 - X 一世 Ĵ

这里地方XI,J对于给定类别中的网络响应,ŤI,J是该类别的目标值,并且C是类别的总数。在这种情况下,作为一个给定观测的概率被分配给一个给定的类,求和所有类别和观察,并通过观察值的数量归一化计算交叉熵损失。

例:'TargetCategories', '独立'

未格式化的输入数据,指定为逗号分隔的一对组成的维序'DATAFORMAT'和字符数组或字符串FMT提供用于数据的每个维度的标签。在每个字符FMT必须是下列之一:

  • 'S'- 空间

  • 'C'- 通道

  • 'B'- 批次(例如,样本和观测)

  • 'T'- 时间(例如,序列)

  • 'U'- 未指定

您可以指定标记多个维度'S'要么'U'。您可以使用标签'C''B''T'最多一次。

您必须指定'DATAFORMAT'当输入数据DLX是不是一个格式化dlarray

例:'DATAFORMAT', '固态断路器'

数据类型:烧焦|

输出参数

全部收缩

交叉熵损失,返回为dlarray标无尺寸的标签。输出DLY具有相同的基础数据类型作为输入DLX

交叉熵损失DLY是跨越的平均对数损失'B'批量尺寸DLX

更多关于

全部收缩

交叉熵损失

crossentropy函数计算分类问题的交叉熵损失。欲了解更多信息,请参阅定义分类输出层ClassificationOutputLayer参考页。

扩展功能

介绍了在R2019b