主要内容

regressionLayer

创建一个回归输出层

描述

回归层计算回归任务的半均方误差损失。

= regressionLayer返回神经网络的回归输出层RegressionOutputLayer对象。

预测训练后的回归网络的响应预测.常态化的反应通常有助于稳定和加速神经网络的回归训练。有关更多信息,请参见训练卷积神经网络回归

例子

= regressionLayer (名称,值设置可选的的名字而且ResponseNames属性使用名称-值对。例如,regressionLayer(“名字”,“输出”)创建名称为的回归层“输出”.将每个属性名用单引号括起来。

例子

全部折叠

用名称创建回归输出层“routput”

层=回归层(“名字”“routput”
名称:'routput' ResponseNames:{}超参数LossFunction: '均方错误'

回归的默认损失函数是均方误差。

在layer数组中包含回归输出层。

层= [...imageInputLayer([28 28 1]) convolution2dLayer(12,25) reluLayer fullyConnectedLayer(1) regressionLayer]
2 " Convolution 25 12x12 convolutions with stride [1 1] and padding [0 0 0 0 0] 3 " ReLU ReLU 4 " Fully Connected 1 Fully Connected Layer 5 " Regression Output均方误差

输入参数

全部折叠

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:regressionLayer(“名字”,“输出”)创建名称为的回归层“输出”

层名,指定为字符向量或字符串标量。为数组输入时,trainNetworkassembleNetworklayerGraph,dlnetwork函数自动为层分配名称的名字设置为

数据类型:字符|字符串

响应的名称,指定字符向量的单元格数组或字符串数组。在训练时,软件根据训练数据自动设置响应名称。默认为{}

数据类型:细胞

输出参数

全部折叠

回归输出层,返回为RegressionOutputLayer对象。

更多关于

全部折叠

回归输出层

回归层计算回归任务的半均方误差损失。对于典型的回归问题,回归层必须在最后的全连接层之后。

对于单个观测,均方误差为:

均方误差 1 R t y 2 R

在哪里R是响应的数量,t是目标输出,和y是网络对反应的预测吗

对于图像和序列到一的回归网络,回归层的损失函数是预测响应的半均方误差,而不是归一化R

损失 1 2 1 R t y 2

对于图像到图像的回归网络,回归层的损失函数是每个像素的预测响应的半均方误差,而不是归一化R

损失 1 2 p 1 H W C t p y p 2

在哪里HW,C分别表示输出的高度、宽度和通道数,和p的每个元素(像素)的索引t而且y线性。

对于序列到序列的回归网络,回归层的损失函数是每个时间步的预测响应的半均方误差,而不是归一化R

损失 1 2 年代 1 年代 j 1 R t j y j 2

在哪里年代是序列长度。

训练时,软件计算小批中观测值的平均损失。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

在R2017a中引入