主要内容

classificationLayer

分类输出层

描述

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

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

= classificationLayer创建一个分类层。

例子

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

例子

全部折叠

创建一个具有名称的分类层“输出”

图层= classificationLayer(“名字”“输出”
class: 'auto' ClassWeights: 'none' OutputSize: 'auto' Hyperparameters LossFunction: 'crossentropyex'

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

图层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,“步”2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2”二维卷积20 5x5卷积与步幅[1 1]和填充[0 0 0 0]3”ReLU ReLU 4”二维最大池化2x2最大池化与步幅[2 2]和填充[0 0 0 0]5”全连接10全连接层6”Softmax Softmax 7”分类输出crossentropyex

为三个名称为“cat”、“dog”和“fish”的类创建一个加权分类层,权重分别为0.7、0.2和0.1。

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

在图层数组中包含一个加权分类输出层。

numClasses = numel(classes);图层= [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,“步”2) fullyConnectedLayer(numClasses)“类”、类“ClassWeights”classWeights))
层= 7 x1层与层:数组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 2“猫”和其他的类

输入参数

全部折叠

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:classificationLayer(“名字”,“输出”)创建一个具有名称的分类层“输出”

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

数据类型:字符|字符串

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

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

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

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

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

输出参数

全部折叠

分类层,返回为ClassificationOutputLayer对象。

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

更多关于

全部折叠

分类层

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

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

扩展功能

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

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

版本历史

在R2016a中介绍

Baidu
map