主要内容

classificationLayer

分类输出层

描述

分类层计算分类和具有互斥类的加权分类任务的交叉熵损失。

该层根据前一层的输出大小推断类的数量。例如,指定类的数量K对于网络,包括具有输出大小的全连接层K以及在分类层之前的softmax层。

= classificationLayer创建分类层。

例子

= classificationLayer (名称,值设置可选的名字ClassWeights,使用一个或多个名称-值对的属性。例如,classificationLayer(“名字”,“输出”)创建一个名称为“输出”

例子

全部折叠

用名称创建一个分类层“输出”

层= classificationLayer (“名字”“输出”
class = ClassificationOutputLayer with properties: Name: 'output' Classes: 'auto' ClassWeights: 'none' OutputSize: 'auto' Hyperparameters LossFunction: 'crossentropyex'

类中包含分类输出层数组中。

层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer(2, 20)“步”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
图层数组:1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”马克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]5“完全连接10完全连接层6”Softmax Softmax crossentropyex 7”分类输出

创建三个类别的加权分类层,分别为“猫”、“狗”和“鱼”,权重分别为0.7、0.2和0.1。

类= [“猫”“狗”“鱼”];classWeights = [0.7 0.2 0.1];层= classificationLayer (...“类”、类...“ClassWeights”classWeights)
class: [cat dog fish] ClassWeights: [3x1 double] OutputSize: 3 Hyperparameters LossFunction: 'crossentropyex'

在层阵列中包括加权分类输出层。

numClasses =元素个数(类);层= [...imageInputLayer([28 28 1])卷积2dlayer (5,20) reluLayer maxPooling2dLayer(2, 20)“步”,2) full connectedlayer (numClasses) softmaxLayer classificationLayer(“类”、类“ClassWeights”classWeights))
图层数组:1”的形象输入28 x28x1图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3”ReLU ReLU 4”马克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]5“完全连接3完全连接层6”Softmax Softmax 7”分类输出类加权Crossentropyex与'cat'和其他两个类

输入参数

全部折叠

名称-值对的观点

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

例子:classificationLayer(“名字”,“输出”)创建一个名称为“输出”

层名,指定为字符向量或字符串标量。若要在层图中包含层,必须指定非空的唯一层名。如果你用层和的名字被设置为'',然后软件在训练时自动为该层分配一个名称。

数据类型:字符|字符串

类权值为加权交叉熵损失,指定为正数或向量“没有”

对于向量类的权值,每个元素表示财产。要指定类权重向量,还必须指定使用的类“类”

如果ClassWeights属性是“没有”,则该层应用未加权交叉熵损失。

输出层的类,指定为分类向量、字符串数组、字符向量单元格数组或“汽车”.如果“汽车”,然后软件在训练时自动设置课程。如果指定字符向量的字符串数组或单元格数组str,则软件将输出层的类设置为分类(str, str)

数据类型:字符|分类|字符串|细胞

输出参数

全部折叠

分类层,返回为ClassificationOutputLayer对象。

有关连接层以构建卷积神经网络架构的信息,请参见

更多关于

全部折叠

分类层

分类层计算分类和具有互斥类的加权分类任务的交叉熵损失。

对于典型的分类网络,分类层必须遵循softmax层。在分类层,trainNetwork从softmax函数获取值,并将每个输入赋给其中一个K互斥类使用交叉熵函数为1的-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用类输入

参考文献

[1]毕晓普模式识别和机器学习.施普林格,纽约,纽约,2006。

扩展功能

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

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

介绍了R2016a