classificationLayer

Classification слой выхода

Описание

Слой классификации вычисляет потерю перекрестной энтропии для многоклассовых задач классификации со взаимоисключающими классами.

Слой выводит количество классов от выходного размера предыдущего слоя. Например, чтобы задать количество классов K сети, включайте полносвязный слой с выходным размером K и softmax слой перед слоем классификации.

layer = classificationLayer создает слой классификации.

пример

layer = classificationLayer(Name,Value) устанавливает дополнительный Name и Classes свойства с помощью пар "имя-значение". Например, classificationLayer('Name','output') создает слой классификации с именем 'output'. Заключите каждое имя свойства в одинарные кавычки.

Примеры

свернуть все

Создайте слой классификации с именем 'output'.

layer = classificationLayer('Name','output')
layer = 
  ClassificationOutputLayer with properties:

            Name: 'output'
         Classes: 'auto'
      OutputSize: 'auto'

   Hyperparameters
    LossFunction: 'crossentropyex'

Включайте классификацию выходной слой в Layer массив.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(5,20)
    reluLayer
    maxPooling2dLayer(2,'Stride',2)
    fullyConnectedLayer(10)
    softmaxLayer
    classificationLayer]
layers = 
  7x1 Layer array with layers:

     1   ''   Image Input             28x28x1 images with 'zerocenter' normalization
     2   ''   Convolution             20 5x5 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                    ReLU
     4   ''   Max Pooling             2x2 max pooling with stride [2  2] and padding [0  0  0  0]
     5   ''   Fully Connected         10 fully connected layer
     6   ''   Softmax                 softmax
     7   ''   Classification Output   crossentropyex

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: classificationLayer('Name','output') создает слой классификации с именем 'output'

Имя слоя в виде вектора символов или строкового скаляра. Чтобы включать слой в график слоев, необходимо задать непустое уникальное имя слоя. Если вы обучаете серийную сеть со слоем и Name установлен в '', затем программное обеспечение автоматически присваивает имя к слою в учебное время.

Типы данных: char | string

Классы выходного слоя в виде категориального вектора, массива строк, массива ячеек из символьных векторов или 'auto'. Если Classes 'auto', затем программное обеспечение автоматически устанавливает классы в учебное время. Если вы задаете массив строк или массив ячеек из символьных векторов str, затем программное обеспечение устанавливает классы выходного слоя к categorical(str,str). Значением по умолчанию является 'auto'.

Типы данных: char | categorical | string | cell

Выходные аргументы

свернуть все

Слой Classification, возвращенный как ClassificationOutputLayer объект.

Для получения информации о конкатенирующих слоях, чтобы создать архитектуру сверточной нейронной сети, смотрите Layer.

Больше о

свернуть все

Слой классификации

Слой классификации вычисляет потерю перекрестной энтропии для многоклассовых задач классификации со взаимоисключающими классами.

Для типичных сетей классификации слой классификации должен следовать за softmax слоем. В слое классификации, trainNetwork принимает значения от функции softmax и присваивает каждый вход одному из K взаимоисключающие классы с помощью перекрестной энтропийной функции для 1 из K кодирование схемы [1]:

loss=i=1Nj=1Ktijlnyij,

где N является количеством выборок, K является количеством классов, tij индикатор, что i th выборка принадлежит j th класс, и yij выход для демонстрационного i для класса j, который в этом случае, значение от функции softmax. Таким образом, это - вероятность, что сеть сопоставляет i th вход с классом j.

Ссылки

[1] Епископ, C. M. Распознавание образов и машинное обучение. Спрингер, Нью-Йорк, Нью-Йорк, 2006.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Введенный в R2016a