主要内容

ClassificationOutputLayer

描述

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

创建

使用创建分类层classificationLayer

属性

全部展开

分类输出

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

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

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

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

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

此属性是只读的。

输出的大小,指定为正整数。这个值是数据中标签的数量。训练前,输出大小设置为“汽车”

此属性是只读的。

训练损失函数,指定为“crossentropyex”,代表的交叉熵函数k互斥类

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

数据类型:字符|字符串

此属性是只读的。

层的输入数。该层只接受单个输入。

数据类型:

此属性是只读的。

输入图层名称。该层只接受单个输入。

数据类型:细胞

层的输出数量。该层没有输出。

数据类型:

输出层的名称。该层没有输出。

数据类型:细胞

例子

全部折叠

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

层= 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。

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

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

numClasses =元素个数(类);层= [...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“猫”和其他的类

更多关于

全部展开

参考文献

[1]主教,c.m。模式识别与机器学习.施普林格,纽约,纽约,2006年。

版本历史

介绍了R2016a

全部展开

Baidu
map