休伯
Huber损失回归任务
描述
Huber操作计算网络预测和目标之间的Huber损失值回归任务。当“TransitionPoint”
选项1,这也被称为光滑的l1损失。
的休伯
使用函数计算Huber损失dlarray
数据。使用dlarray
更易于处理高维数据的对象允许您标签的尺寸。例如,您可以标签尺寸对应于空间,时间,频道,使用批处理维度“S”
,“T”
,“C”
,“B”
标签,分别。未指明的和其他维度,使用“U”
标签。为dlarray
对象的函数操作特定的尺寸,你可以指定尺寸标签的格式dlarray
直接对象,或通过使用DataFormat
选择。
返回格式之间的Huber损失损失
=胡贝尔(Y
,目标
)dlarray
对象Y
包含预测和目标的价值观目标
对于回归的任务。输入Y
是一个格式化的dlarray
。输出损失
是一个非格式化dlarray
标量。
无格式的输入数据,使用“DataFormat”
选择。
还指定了尺寸格式损失
=胡贝尔(___、“DataFormat”FMT)FMT
当Y
不是一个格式化的dlarray
。
例子
Huber损失
创建一个数组的预测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
计算Huber损失预测和目标。
损失=胡贝尔(海底目标)
损失= 1 x1 dlarray 0.7374
蒙面Huber损失填补序列
创建数组的预测和目标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
计算Huber损失预测和目标。防止损失值计算填充导致损失,设置“面具”
选择返回的面具padsequences
函数。
损失=胡贝尔(海底,目标,“面具”面具)
损失= 1 x1 dlarray 8.1834
输入参数
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
或数字数组。
指定响应权重,指定一个向量的“C”
(频道)尺寸大小匹配“C”
(通道)的维度X
。指定“C”
(频道)响应的维度权重通过使用一个格式化的dlarray
对象或使用“WeightsFormat”
选择。
指定观察权重,指定一个向量的“B”
(批)尺寸大小匹配“B”
(批)的维度Y
。指定“B”
(批)类的维度权重通过使用一个格式化的dlarray
对象或使用“WeightsFormat”
选择。
指定独立输入的重量为每个元素,指定权重数组的大小一样Y
。在这种情况下,如果权重
不是一个格式化的dlarray
函数对象,然后使用相同的格式Y
。另外,指定权重格式使用“WeightsFormat”
选择。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“NormalizationFactor”、“所有元素的
指定规范化损失减少损失除以输入元素的数量
TransitionPoint
- - - - - -Huber损失转换到一个线性函数
1(默认)|积极的标量
点Huber损失转换从一个二次函数线性函数,指定为逗号分隔组成的“TransitionPoint”
和积极的标量。
当“TransitionPoint”
是1,这也被称为光滑的l1损失。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
面具
- - - - - -面具指示元素包括损失计算
dlarray
|逻辑阵列|数字数组
面具表明哪些元素为损失计算,包括指定的作为dlarray
对象,一个逻辑数组,或数字数组大小一样Y
。
功能包括和不包括元素输入数据的损失计算面具当对应的值是1和0,分别。
默认值是一个逻辑数组的大小一样Y
。
提示
格式化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
- - - - - -维度的权重
特征向量|字符串标量
维度的权重,指定为一个特征向量或字符串标量,它提供了一个标签为每个维度的权重。
当你指定的格式dlarray
对象,每个字符为每个维度的数据和提供一个标签必须是下列之一:
“S”
——空间“C”
——频道“B”
批处理(例如,样品和观察)“T”
时间(例如,时间序列的步骤)“U”
——未指明的
您可以指定多个维度标签“S”
或“U”
。您可以使用标签“C”
,“B”
,“T”
最多一次。
您必须指定WeightsFormat
当权重
是一个数值向量和Y
有两个或两个以上的nonsingleton维度。
如果权重
不是一个向量,或都有权重
和Y
向量,那么默认值的WeightsFormat
的格式是一样的吗Y
。
数据类型:字符
|字符串
输出参数
算法
Huber损失
为每个元素Yj输入的休伯
函数使用公式计算相应的element-wise损失值
在哪里Tj相应的目标价值预测吗Yj和 是过渡点损失转换从一个二次函数的线性函数。
当过渡点是1,这也被称为光滑的l1损失。
减少损失一个标量值,函数然后减少element-wise损失使用公式
在哪里N是归一化因子,米j掩码值的元素吗j,wj元素的重量值吗j。
如果你不选择来减少损失,那么函数面具和权重值直接损失:
扩展功能
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
当下列至少一个输入参数
gpuArray
或者一个dlarray
基础数据的类型gpuArray
这个函数运行在GPU上:Y
目标
权重
“面具”
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
版本历史
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。