l1loss
l1回归任务的丢失
描述
L1损失运算计算L1损失给定网络预测和目标值。当减少
选择是“和”
和NormalizationFactor
选择是“批大小”
,其计算值称为平均绝对误差(MAE)。
的l1loss
函数计算L1使用损失dlarray
数据。使用dlarray
对象允许对维度进行标记,从而使处理高维数据更加容易。方法标识哪些维度对应于空间、时间、通道和批处理维度“S”
,“T”
,“C”
,“B”
标签,分别。对于未指定的和其他维度,请使用“U”
标签。为dlarray
对象函数对特定维度进行操作时,可以通过格式化dlarray
对象直接调用,或使用DataFormat
选择。
例子
平均绝对误差损失
为10个回答中的12个观察结果创建一个预测数组。
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(海底目标)
损失= 1x1 dlarray 3.1679
填充序列的掩模平均绝对误差
为10个响应中长度不同的12个序列创建预测和目标数组。
numResponses = 10;numObservations = 12;maxSequenceLength = 15;sequenceLengths = randi(maxSequenceLength,[1 numObservations]);Y =细胞(numObservations, 1);目标=细胞(numObservations, 1);为i = 1:numObservations Y{i} = rand(numResponses,sequenceLengths(i));{我}=目标兰德(numResponses sequenceLengths(我));结束
查看预测和目标的单元格数组。
Y
Y =12×1单元阵列{10x13 double} {10x14 double} {10x14 double} {10x10 double} {10x10 double} {10x5 double} {10x9 double} {10x15 double} {10x15 double} {10x3 double} {10x15 double} {10x15 double} {10x15 double} {10x15 double} {10x15 double
目标
目标=12×1单元阵列{10x13 double} {10x14 double} {10x14 double} {10x10 double} {10x10 double} {10x5 double} {10x9 double} {10x15 double} {10x15 double} {10x3 double} {10x15 double} {10x15 double} {10x15 double} {10x15 double} {10x15 double
在二次元中填充预测序列和目标序列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(海底,目标,面具=面具)
损失= 1x1 dlarray 32.6172
输入参数
Y
- - - - - -预测
dlarray
|数字数组
预测,指定为格式化的dlarray
,一个非格式化dlarray
,或数字数组。当Y
不是格式化的dlarray
方法指定尺寸格式DataFormat
选择。
如果Y
是一个数值数组,目标
必须是一个dlarray
.
目标
- - - - - -目标反应
dlarray
|数字数组
指定为格式化或非格式化的目标响应dlarray
或者一个数字数组。
各维度的尺寸目标
尺寸必须匹配对应的尺寸Y
.
如果目标
是一个格式化的dlarray
,则其格式必须与的格式相同Y
,或与DataFormat
如果Y
未格式化。
如果目标
是一个非格式化dlarray
或数值数组,则函数应用的格式Y
或者是DataFormat
来目标
.
提示
格式化dlarray
对象自动排列底层数据的维度,使其具有顺序“S”
(空间),“C”
(通道),“B”
(批处理),“T”
(时间),然后“U”
(不明)。保证尺寸Y
而且目标
是一致的,当Y
是一个格式化的dlarray
还,指定目标
作为一个格式化的dlarray
.
权重
- - - - - -权重
dlarray
|数字数组
权重,指定为格式化或非格式化dlarray
或者一个数字数组。
如果权重
是一个向量Y
是否有两个或多个非单例维度权重
必须是格式化的dlarray
,其中非单例维度的维度标签为“C”
(通道)或“B”
(批处理),其大小与中的相应尺寸的大小匹配Y
.
如果权重
是一个格式化的dlarray
对于两个或多个非单例维度,则其格式必须与的格式匹配Y
.
如果权重
不是格式化的dlarray
且具有两个或多个非单例维度,则其大小必须与的大小匹配Y
函数的格式与Y
.或者,要指定权重格式,请使用WeightsFormat
选择。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
例子:损失= l1loss (Y,目标,减少=“没有”)
表示计算L1没有将输出减少到一个标量的损失
面具
- - - - - -掩码,指示要包含哪些元素以进行损耗计算
dlarray
|逻辑阵列|数字数组
掩码,指示要包含哪些元素用于损失计算,指定为dlarray
对象、逻辑数组或大小相同的数字数组Y
.
当掩码中的对应值分别为1和0时,该函数包含和排除用于损失计算的输入数据的元素。
如果面具
是一个格式化的dlarray
对象,则其格式必须与Y
.如果面具
不是格式化的dlarray
对象,则函数使用与Y
.
如果指定DataFormat
选项,则函数也使用指定的掩码格式。
各维度的尺寸面具
尺寸必须匹配对应的尺寸在Y
.默认值是1的逻辑数组。
提示
格式化dlarray
对象自动排列底层数据的维度,使其顺序如下:“S”
(空间),“C”
(通道),“B”
(批处理),“T”
(时间)“U”
(不明)。例如,dlarray
对象自动用格式排列数据的维度“TSCSBS”
有格式“SSSCBT”
.
保证尺寸Y
和面具是一致的,当Y
是一个格式化的dlarray
,也将掩码指定为格式化的dlarray
.
DataFormat
- - - - - -未格式化数据的维度顺序
特征向量|字符串标量
未格式化输入数据的维度顺序,指定为字符向量或字符串标量FMT
它为数据的每个维度提供一个标签。
的格式时dlarray
对象,每个字符为数据的每个维度提供一个标签,并且必须是以下之一:
“S”
——空间“C”
——频道“B”
-批处理(例如,样品和观察)“T”
-时间(例如,序列的时间步长)“U”
——未指明的
您可以指定多个标记的维度“S”
或“U”
.你可以使用标签“C”
,“B”
,“T”
最多一次。
您必须指定DataFormat
当输入数据没有格式化时dlarray
.
数据类型:字符
|字符串
WeightsFormat
- - - - - -权重的维度顺序
特征向量|字符串标量
输出参数
算法
L1损失
L1损失运算计算L1损失给定网络预测和目标值。当减少
选择是“和”
和NormalizationFactor
选择是“批大小”
,其计算值称为平均绝对误差(MAE)。
为每个元素Yj输入的l1loss
函数计算相应元素的损失值
在哪里Yj预测值和Tj对应的目标值。
为了将损失值减少为一个标量,该函数使用公式减少按元素计算的损失
在哪里N是归一化因子,米j是否元素的掩码值j,wj元素的权重值是多少j.
如果不选择减少损失,则该函数直接对损失值应用掩码和权重:
扩展功能
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
使用注意事项和限制:
当以下输入参数中至少有一个是
gpuArray
或者一个dlarray
使用类型的基础数据gpuArray
,该函数运行在GPU上:Y
目标
权重
面具
有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
版本历史
介绍了R2021b
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。