文档帮助中心文档
分类输出层
layer = classificationLayer
层= classificationLayer(名称,值)
分类层计算具有互斥类的分类和加权分类任务的交叉熵损失。
该层从前一层的输出大小推断类的数量。例如,指定类的数量K在网络中,可以包含一个输出大小的全连接层K在分类层之前有一个软最大层。
层= classificationLayer创建一个分类层。
层= classificationLayer
层
例子
层= classificationLayer (名称,值)设置可选的的名字,ClassWeights,类属性使用一个或多个名称-值对。例如,classificationLayer(“名字”,“输出”)创建名称为的分类层“输出”.
层= classificationLayer (名称,值)
名称,值
的名字
ClassWeights
类
classificationLayer(“名字”,“输出”)
“输出”
全部折叠
用名称创建一个分类层“输出”.
层= classificationLayer(“名字”,“输出”)
层= ClassificationOutputLayer属性:名称:'output'类:'auto' ClassWeights: 'none' OutputSize: 'auto'超参数LossFunction: 'crossentropyex'
类中包含分类输出层层数组中。
层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,“步”,2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2 " Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0 0] 3 " ReLU ReLU 4 " Max Pooling 2x2 Max Pooling with stride [2 2] and padding [0 0 0 0 0] 5 " Fully Connected 10 Fully Connected Layer 6 " Softmax Softmax 7 " Classification Output crossentropyex
为“猫”、“狗”和“鱼”三个类创建一个加权分类层,权重分别为0.7、0.2和0.1。
类= [“猫”“狗”“鱼”];classWeights = [0.7 0.2 0.1];层= classificationLayer(...“类”、类...“ClassWeights”classWeights)
层= ClassificationOutputLayer与属性:名称:"类:[猫狗鱼]ClassWeights: [3x1 double] OutputSize: 3超参数LossFunction: 'crossentropyex'
在layer数组中包含一个加权分类输出层。
numClasses = nummel(类);层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,“步”,2) fullyConnectedLayer(numClasses)“类”、类“ClassWeights”classWeights))
1 "图像输入28x28x1图像与'zerocenter'归一化2 "卷积20 5x5卷积与stride[1 1]和填充[0 0 0 0 0]3 " ReLU ReLU 4 "最大池化2x2最大池化与stride[2 2]和填充[0 0 0 0 0]5 "全连接3全连接层6 " Softmax Softmax 7 "分类输出类加权crossentropyex与'cat'和2个其他类
的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
价值
Name1, Value1,…,的家
”
层名,指定为字符向量或字符串标量。为层数组输入时,trainNetwork,assembleNetwork,layerGraph,dlnetwork函数自动为层分配名称的名字设置为”.
trainNetwork
assembleNetwork
layerGraph
dlnetwork
数据类型:字符|字符串
字符
字符串
“没有”
加权交叉熵损失的类权重,指定为正数或向量“没有”.
对于向量类的权重,每个元素表示对象中相应类的权重类财产。若要指定类权重向量,还必须指定使用的类“类”.
“类”
如果ClassWeights属性是“没有”,则该层应用未加权交叉熵损失。
“汽车”
类的输出层,指定为分类向量、字符串数组、单元格字符向量数组或“汽车”.如果类是“汽车”,然后软件在训练时间自动设置课程。如果指定字符向量的字符串数组或单元格数组str,则软件将输出层的类设置为分类(str, str).
str
分类(str, str)
数据类型:字符|分类|字符串|细胞
分类
细胞
ClassificationOutputLayer
分类层,返回为ClassificationOutputLayer对象。
有关连接层以构建卷积神经网络架构的信息,请参见层.
对于典型的分类网络,分类层通常遵循软最大层。在分类层,trainNetwork从softmax函数中获取值,并将每个输入分配给K互斥类使用交叉熵函数为1 of-K编码方案[1]:
损失 = − 1 N ∑ n = 1 N ∑ 我 = 1 K w 我 t n 我 ln y n 我 ,
在哪里N是样本数,K是类的数量, w 我 重量是按等级计算的吗我, t n 我 该指标是否为n该样品属于我Th类,和 y n 我 输出是样品吗n为类我,在本例中是softmax函数的值。换句话说, y n 我 网络关联的概率是n带类的Th输入我.
[1]毕晓普c.m.模式识别与机器学习.施普林格,纽约,纽约,2006。
trainingOptions|trainNetwork|ClassificationOutputLayer|softmaxLayer|regressionLayer
trainingOptions
softmaxLayer
regressionLayer
您有这个示例的修改版本。要使用编辑打开此示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处