主要内容

l1loss

l1损失为回归任务

    描述

    L1操作损失计算L1损失给网络预测和目标值。当减少选择是“和”NormalizationFactor选择是“批大小”,计算值称为平均绝对误差(MAE)。

    l1loss函数计算L1使用损失dlarray数据。使用dlarray更易于处理高维数据的对象允许您标签的尺寸。例如,您可以标签尺寸对应于空间,时间,频道,使用批处理维度“S”,“T”,“C”,“B”标签,分别。未指明的和其他维度,使用“U”标签。为dlarray对象的函数操作特定的尺寸,你可以指定尺寸标签的格式dlarray直接对象,或通过使用DataFormat选择。

    例子

    损失= l1loss (Y,目标)计算的美损失预测Y和目标的价值观目标。输入Y必须是一个格式化的dlarray。输出损失是一个非格式化dlarray标量。

    损失= l1loss (Y,目标,权重)计算加权L1使用重量损失值权重。输出损失是一个非格式化dlarray标量。

    损失= l1loss (___,DataFormat = FMT)计算非格式化的损失dlarray对象Y和目标的价值观所指定的格式FMT。使用这种语法的任何输入参数在以前的语法。

    例子

    损失= l1loss (___,名称=值)使用一个或多个名称参数指定附加选项。例如,l1loss (Y,目标,减少=“没有”)计算L1损失不减少输出一个标量。

    例子

    全部折叠

    创建一个数组的预测12观察10回应。

    numResponses = 10;numObservations = 12;Y =兰德(numResponses numObservations);海底= dlarray (Y,“CB”);

    视图的大小和格式的预测。

    大小(海底)
    ans =1×210 12
    dim(海底)
    ans =“CB”

    创建一个数组的随机目标。

    目标=兰德(numResponses numObservations);

    视图的大小的目标。

    大小(目标)
    ans =1×210 12

    计算的平均绝对误差(MAE)损失预测和目标使用l1loss函数。

    损失= l1loss(海底目标)
    损失= 1 x1 dlarray 3.1679

    创建数组的预测和目标12序列不同长度超过10的反应。

    numResponses = 10;numObservations = 12;maxSequenceLength = 15;sequenceLengths =兰迪(maxSequenceLength [1 numObservations]);Y =细胞(numObservations, 1);目标=细胞(numObservations, 1);i = 1: numObservations Y{我}=兰德(numResponses, sequenceLengths(我));{我}=目标兰德(numResponses sequenceLengths(我));结束

    查看电池阵列的预测和目标。

    Y
    Y =12×1单元阵列{10 * 13双}{10 x14双}{10 x2双}{10 x14双}{10 x10双}{10 x2双}{10 x5双}{10 x9双}{10 x15双}{10 x15双}{10 x3双}{10 x15双}
    目标
    目标=12×1单元阵列{10 * 13双}{10 x14双}{10 x2双}{10 x14双}{10 x10双}{10 x2双}{10 x5双}{10 x9双}{10 x15双}{10 x15双}{10 x3双}{10 x15双}

    垫在第二维度预测和目标序列使用padsequences函数并返回相应的面具。

    [Y,面具]= padsequences (Y, 2);目标= padsequences(目标2);

    把填充序列dlarray的格式“施”(通道、时间、批次)。因为格式化dlarray对象自动排列底层数据的维度,保持一致的顺序也将目标和掩码转换为格式化dlarray格式的对象“施”(通道、批量、时间)。

    海底= dlarray (Y,“施”);目标= dlarray(目标,“施”);= dlarray(面具,面具“施”);

    视图的大小预测分数,目标,和面具。

    大小(海底)
    ans =1×310 12 15
    大小(目标)
    ans =1×310 12 15
    大小(面具)
    ans =1×310 12 15

    计算的平均绝对误差(MAE)预测和目标。防止损失值计算填充导致损失,设置面具选择返回的面具padsequences函数。

    损失= l1loss(海底,目标,面具=面具)
    损失= 1 x1 dlarray 32.6172

    输入参数

    全部折叠

    预测,指定为一个格式化的dlarray,一个非格式化dlarray或数字数组。当Y不是一个格式化的dlarray,你必须指定尺寸格式使用DataFormat选择。

    如果Y是一个数值数组,目标必须是一个dlarray

    目标反应,指定为一个格式化的或未格式化dlarray或数字数组。

    每个尺寸的大小目标必须匹配相应的大小尺寸的Y

    如果目标是一个格式化的dlarray,那么它的格式必须相同的格式Y,或者一样DataFormat如果Y未格式化。

    如果目标是一个非格式化dlarray或数值数组,那么函数应用的格式Y或者的价值DataFormat目标

    提示

    格式化dlarray底层数据对象自动排列的尺寸有秩序“S”(空间),“C”(通道),“B”(批处理),“T”(时间),然后“U”(不明)。确保的尺寸Y目标是一致的,当Y是一个格式化的dlarray还,指定目标作为一个格式化的dlarray

    重量、指定为一个格式化的或未格式化dlarray或数字数组。

    如果权重是一个向量,Y有两个或两个以上的nonsingleton维度呢权重必须是一个格式化的dlarray,nonsingleton维度的维度标签“C”(通道)或“B”(批处理),大小相匹配的相应尺寸的大小Y

    如果权重是一个格式化的dlarray与两个或两个以上nonsingleton维度,那么它的格式必须匹配的格式Y

    如果权重不是一个格式化的dlarray有两个或两个以上的nonsingleton维度,然后它的大小必须匹配的大小Y和函数使用相同的格式Y。另外,指定重量格式,使用WeightsFormat选择。

    名称-值参数

    指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

    例子:损失= l1loss (Y,目标,减少=“没有”)指定计算L1损失不减少输出一个标量

    面具表明哪些元素为损失计算,包括指定的作为dlarray对象,一个逻辑数组,或数字数组大小一样Y

    功能包括和不包括元素输入数据的损失计算面具当对应的值是1和0,分别。

    默认值是一个逻辑数组的大小一样Y

    提示

    格式化dlarray底层数据对象自动排列的尺寸这个顺序:“S”(空间),“C”(通道),“B”(批处理),“T”(时间)“U”(不明)。例如,dlarray对象自动排列的尺寸数据与格式“TSCSBS”有格式“SSSCBT”

    确保的尺寸Y,当面具是一致的Y是一个格式化的dlarray,还指定格式化的面具dlarray

    模式减少损失值的数组,指定为以下之一:

    • “和”——和所有损失值的数组中的元素。在这种情况下,输出损失是标量。

    • “没有”——不减少损失值的数组。在这种情况下,输出损失是一个非格式化dlarray对象具有相同的大小Y

    除数正常化时减少损失减少“和”,指定为以下之一:

    • “批大小”——正常损失除以观察的数量X

    • “所有元素”——正常损失除以它的元素的数量X

    • “还有面具”——正常损失损失值除以包含指定的元素的数量为每个独立观察面具。要使用这个选项,您必须指定一个面具使用面具选择。

    • “没有”——不正常损失。

    维度的非格式化输入数据,指定为一个特征向量或字符串标量FMT为每个维度的数据提供一个标签。

    当你指定的格式dlarray对象,每个字符为每个维度的数据和提供一个标签必须是下列之一:

    • “S”——空间

    • “C”——频道

    • “B”批处理(例如,样品和观察)

    • “T”时间(例如,时间序列的步骤)

    • “U”——未指明的

    您可以指定多个维度标签“S”“U”。您可以使用标签“C”,“B”,“T”最多一次。

    您必须指定DataFormat当输入数据不是一个格式化的dlarray

    数据类型:字符|字符串

    维度的权重,指定为一个特征向量或字符串标量,它提供了一个标签为每个维度的权重。

    当你指定的格式dlarray对象,每个字符为每个维度的数据和提供一个标签必须是下列之一:

    • “S”——空间

    • “C”——频道

    • “B”批处理(例如,样品和观察)

    • “T”时间(例如,时间序列的步骤)

    • “U”——未指明的

    您可以指定多个维度标签“S”“U”。您可以使用标签“C”,“B”,“T”最多一次。

    您必须指定WeightsFormat权重是一个数值向量和Y有两个或两个以上的nonsingleton维度。

    如果权重不是一个向量,或都有权重Y向量,那么默认值的WeightsFormat的格式是一样的吗Y

    数据类型:字符|字符串

    输出参数

    全部折叠

    l1损失,作为一个非格式化返回dlarray。输出损失是一个非格式化dlarray与相同的底层数据类型作为输入Y

    的大小损失取决于减少选择。

    算法

    全部折叠

    L1损失

    L1操作损失计算L1损失给网络预测和目标值。当减少选择是“和”NormalizationFactor选择是“批大小”,计算值称为平均绝对误差(MAE)。

    为每个元素Yj输入的l1loss使用函数计算相应的element-wise损失值

    损失 j = | Y j T j | ,

    在哪里Yj是预测价值和Tj相应的目标价值。

    减少损失一个标量值,函数然后减少element-wise损失使用公式

    损失 = 1 N j j w j 损失 j ,

    在哪里N是归一化因子,j掩码值的元素吗j,wj元素的重量值吗j

    如果你不选择来减少损失,那么函数面具和权重值直接损失:

    损失 j * = j w j 损失 j

    扩展功能

    版本历史

    介绍了R2021b