ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

classificationLayer

説明

分類層は、互いに排他的なクラスを含むマルチクラス分類問題の交差エントロピー損失を計算します。

この層は、前の層の出力サイズからクラスの数を推測します。たとえば、ネットワークのクラスの数 K を指定するには、分類層の前に出力サイズが K の全結合層とソフトマックス層を含めます。

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' という名前の分類層を作成します。

層の名前。文字ベクトルまたは string スカラーとして指定します。層グラフに層を含めるには、空ではない一意の層の名前を指定しなければなりません。この層が含まれる系列ネットワークに学習させて Name'' に設定すると、学習時に層に名前が自動的に割り当てられます。

データ型: char | string

出力層のクラス。categorical ベクトル、string 配列、文字ベクトルの cell 配列、または 'auto' として指定します。Classes'auto' の場合、学習時にクラスが自動的に設定されます。string 配列または文字ベクトルの cell 配列 str を指定すると、出力層のクラスが categorical(str,str) に設定されます。既定値は 'auto' です。

データ型: char | categorical | string | cell

出力引数

すべて折りたたむ

分類層。ClassificationOutputLayer オブジェクトとして返されます。

層の連結による畳み込みニューラル ネットワーク アーキテクチャの構築の詳細は、Layer を参照してください。

詳細

すべて折りたたむ

分類層

分類層は、互いに排他的なクラスを含むマルチクラス分類問題の交差エントロピー損失を計算します。

一般的な分類ネットワークでは、分類層はソフトマックス層の後に続かなければなりません。分類層では、trainNetwork がソフトマックス関数から値を取得し、各入力を K 個の互いに排他的なクラスのうちの 1 つに、1 対 K 符号化方式の交差エントロピー関数を使用して割り当てます [1]

loss=i=1Nj=1Ktijlnyij,

ここで、N は標本の数、K はクラスの数、tij は i 番目の標本が j 番目のクラスに属することを表すインジケーターです。yij はクラス j の標本 i の出力で、この場合はソフトマックス関数からの値です。つまり、ネットワークが i 番目の入力をクラス j に関連付ける確率です。

参照

[1] Bishop, C. M. Pattern Recognition and Machine Learning. Springer, New York, NY, 2006.

R2016a で導入