l2loss
l2回归任务损失
描述
L2损失运算计算L2损失(基于L的平方2Norm)给出网络预测和目标值。当减少
选择是“和”
和NormalizationFactor
选择是“批大小”
时,计算出的值称为均方误差(MSE)。
的l2loss
函数计算L2使用损失dlarray
数据。使用dlarray
对象允许您标记维度,从而更容易处理高维数据。属性标记哪些维度对应于空间、时间、通道和批处理维度“S”
,“T”
,“C”
,“B”
标签,分别。对于未指定的维度和其他维度,使用“U”
标签。为dlarray
对象的函数在特定维度上操作时,可以通过格式化dlarray
对象,或者使用DataFormat
选择。
例子
均方误差损失
为10个回答中的12个观察结果创建一个预测数组。
numResponses = 10;numObservations = 12;Y = rand(numResponses,numObservations);ly = darray (Y,“CB”);
查看预测的大小和格式。
大小(海底)
ans =1×210 12
dim(海底)
ans = 'CB'
创建一个随机目标数组。
targets = rand(numResponses,numObservations);
查看目标的大小。
大小(目标)
ans =1×210 12
计算预测和目标之间的均方误差(MSE)损失l2loss
函数。
loss = l2loss(dlY,targets)
损失= 1x1 dlarray 1.4748
填充序列的掩盖均方误差
在10个响应中为12个长度不同的序列创建预测和目标数组。
numResponses = 10;numObservations = 12;maxSequenceLength = 15;sequenceLengths = randi(maxSequenceLength,[1 numObservations]);Y = cell(numObservations,1);target = cell(numObservations,1);为i = 1:numObservations Y{i} = rand(numResponses,sequenceLengths(i));targets{i} = rand(numResponses,sequenceLengths(i));结束
查看预测和目标的单元格阵列。
Y
Y =12×1单元格数组{10x13双}{10x14双}{10x14双}{10x10双}{10x2双}{10x5双}{10x9双}{10x15双}{10x15双}{10x3双}{10x15双}
目标
目标=12×1单元格数组{10x13双}{10x14双}{10x14双}{10x10双}{10x2双}{10x5双}{10x9双}{10x15双}{10x15双}{10x3双}{10x15双}
将预测序列和目标序列填充在二维中padsequences
函数,并返回相应的掩码。
[Y,mask] = padsequences(Y,2);Targets = padsequences(Targets,2);
将填充序列转换为dlarray
格式“施”
(通道,时间,批次)。因为格式化dlarray
对象自动排列底层数据的维度,通过将目标和掩码转换为格式化来保持顺序一致dlarray
格式为“施”
(通道,批次,时间)。
ly = darray (Y,“施”);目标= dlarray(目标,“施”);蒙版= dlarray(蒙版,“施”);
查看预测分数、目标和掩码大小。
大小(海底)
ans =1×310 12 15
大小(目标)
ans =1×310 12 15
大小(面具)
ans =1×310 12 15
计算预测和目标之间的均方误差(MSE)。若要防止从填充中计算的损耗值导致损耗,请设置面具
属性返回的掩码padsequences
函数。
loss = l2loss(dlY,targets,Mask= Mask)
损失= 1x1 dlarray 16.3668
输入参数
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”
(batch),并且具有与中相应维度的大小相匹配的大小Y
.
如果权重
是格式化的dlarray
对于两个或多个非单维度,则其格式必须与的格式匹配Y
.
如果权重
不是格式化的dlarray
且具有两个或多个非单维,则其大小必须与的大小匹配Y
函数使用相同的格式Y
.或者,要指定权重格式,请使用WeightsFormat
选择。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
例子:损失= l2loss(Y,目标,减少="none")
指定计算L2没有将输出减少到标量的损失
面具
- - - - - -掩码,指示要包括哪些元素进行损失计算
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
- - - - - -权重的维数顺序
特征向量|字符串标量
输出参数
算法
L2的损失
L2损失运算计算L2损失(基于L的平方2Norm)给出网络预测和目标值。当减少
选择是“和”
和NormalizationFactor
选择是“批大小”
时,计算出的值称为均方误差(MSE)。
对于每个元素Yj的输入l2loss
函数计算相应的元素损失值
在哪里Yj预测值和Tj是对应的目标值。
为了将损失值减少为标量,函数然后使用公式减少按元素计算的损失
在哪里N是归一化因子,米j元素的掩码值是j,wj是元素的权重值吗j.
如果不选择减少损失,则函数将掩码和权重直接应用于损失值:
扩展功能
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
使用注意事项和限制:
当以下输入参数中至少有一个是
gpuArray
或者一个dlarray
类型的底层数据gpuArray
,此函数在GPU上运行:Y
目标
权重
面具
有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
版本历史
R2021b中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。