主要内容

classificationLayer

分类输出层

描述

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

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

= classificationLayer创建分类层。

例子

= classificationLayer (名称,值设置可选的名字类权重,及使用一个或多个名称-值对的属性。例如,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]
layers=7x1层阵列,带层:1''图像输入28x28x1图像,带“零中心”标准化2''卷积20 5x5卷积,带跨距[1]和填充[0 0 0 0]3''ReLU ReLU 4''最大池2x2最大池跨距[2]和填充[0 0 0]5''完全连接10完全连接的层6''Softmax Softmax 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))
layers=7x1层阵列,带层:1''图像输入28x28x1图像,带“零中心”标准化2''卷积20 5x5卷积,带跨距[1]和填充[0 0 0 0]3''ReLU ReLU 4''最大池2x2最大池跨距[2]和填充[0 0 0]5''完全连接3完全连接的层6''Softmax Softmax 7''分类输出类加权交叉EntroPyex与“cat”和其他2类

输入参数

全部折叠

名称-值对的观点

指定可选的逗号分隔的对名称,值论据。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:名称1,值1,…,名称,值

例子:classificationLayer(“名字”,“输出”)使用名称创建分类图层“输出”

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

数据类型:烧焦|字符串

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

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

如果类权重财产是“没有”然后该层应用未加权交叉熵损失。

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

数据类型:烧焦|绝对的|字符串|细胞

输出参数

全部折叠

分类层,返回为ClassificationOutputLayer对象

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

更多关于

全部折叠

分类层

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

对于典型的分类网络,分类层必须遵循softmax层。在分类层,trainNetwork从softmax函数获取值,并将每个输入赋给其中一个K互斥类使用交叉熵函数为1的-K编码方案[1]

损失 1 N n 1 N 1 K w t n 自然对数 y n

在哪里N为样本数,K为班级数, w 这个体重是上课用的吗 t n 指标是n这个样品属于第四级,以及 y n 是样本的输出n上课,在本例中,它是来自softmax函数的值。换句话说,, y n 是指网络将n用类输入

工具书类

[1] 主教,C。M模式识别和机器学习. 斯普林格,纽约,纽约,2006年。

扩展功能

C / c++代码生成
使用Matlab®编码器生成C和C++代码™.

GPU的代码生成
使用GPU编码器为NVIDIA®GPU生成CUDA®代码™.

介绍了R2016a