Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

ClassificationOutputLayer

설명

분류 계층은 상호 배타적인 클래스로의 분류 및 가중 분류 작업에서 교차 엔트로피 손실을 계산합니다.

생성

classificationLayer를 사용하여 분류 계층을 만듭니다.

속성

모두 확장

분류 출력

가중 교차 엔트로피 손실에 대한 클래스 가중치로, 양수로 구성된 벡터 또는'none'으로 지정됩니다.

벡터 클래스 가중치의 경우 각 요소는Classes속성에 있는 대응하는 클래스에 대한 가중치를 나타냅니다. 클래스 가중치로 구성된 벡터를 지정하려면'Classes'를 사용하여 클래스도 지정해야 합니다.

ClassWeights속성이'none'이면 계층은 비가중 교차 엔트로피 손실을 적용합니다.

출력 계층의 클래스로, categorical형 벡터, string형 배열, 문자형 벡터로 구성된 셀형 배열 또는'auto'로 지정됩니다.Classes'auto'인 경우, 소프트웨어가 훈련 시점에 자동으로 클래스를 설정합니다. string형 배열 또는 문자형 벡터로 구성된 셀형 배열str을 지정하면, 출력 계층의 클래스가分类(str,str)로 설정됩니다.

데이터형:字符|分类|string|cell

읽기 전용 속성입니다.

출력 크기로, 양의 정수로 지정됩니다. 이 값은 데이터에 있는 레이블의 개수입니다. 훈련 전에는 출력 크기가'auto'로 설정됩니다.

읽기 전용 속성입니다.

훈련에 대한 손실 함수로,Cross Entropy Function for k Mutually Exclusive Classes(k개의 상호 배타적인 클래스에 대한 교차 엔트로피 함수)를 나타내는'crossentropyex'로 지정됩니다.

계층

계층 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.Layer배열 입력값에 대해trainNetwork,assembleNetwork,layerGraph,dlnetwork함수는 이름이''인 계층에 자동으로 이름을 할당합니다.

데이터형:字符|string

읽기 전용 속성입니다.

계층의 입력값 개수. 이 계층은 단일 입력값만 받습니다.

데이터형:double

읽기 전용 속성입니다.

계층의 입력값 이름. 이 계층은 단일 입력값만 받습니다.

데이터형:cell

계층의 출력값 개수. 이 계층에는 출력값이 없습니다.

데이터형:double

계층의 출력값 이름. 이 계층에는 출력값이 없습니다.

데이터형:cell

예제

모두 축소

이름이'output'인 분류 계층을 만듭니다.

layer = classificationLayer('Name','output')
layer = ClassificationOutputLayer with properties: Name: 'output' Classes: 'auto' ClassWeights: 'none' 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 '' 2-D Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0] 3 '' ReLU ReLU 4 '' 2-D 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

이름이 "cat", "dog", "fish"이고 각각 가중치가 0.7, 0.2, 0.1인 3개의 클래스에 대한 가중 분류 계층을 만듭니다.

classes = ["cat""dog""fish"]; classWeights = [0.7 0.2 0.1]; layer = classificationLayer(...'Classes',classes,...'ClassWeights',classWeights)
layer = ClassificationOutputLayer with properties: Name: '' Classes: [cat dog fish] ClassWeights: [3x1 double] OutputSize: 3 Hyperparameters LossFunction: 'crossentropyex'

Layer 배열에 가중 분류 출력 계층을 삽입합니다.

numClasses = numel(classes); layers = [...imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer maxPooling2dLayer(2,'Stride',2) fullyConnectedLayer(numClasses) softmaxLayer classificationLayer('Classes',classes,'ClassWeights',classWeights)]
layers = 7x1 Layer array with layers: 1 '' Image Input 28x28x1 images with 'zerocenter' normalization 2 '' 2-D Convolution 20 5x5 convolutions with stride [1 1] and padding [0 0 0 0] 3 '' ReLU ReLU 4 '' 2-D Max Pooling 2x2 max pooling with stride [2 2] and padding [0 0 0 0] 5 '' Fully Connected 3 fully connected layer 6 '' Softmax softmax 7 '' Classification Output Class weighted crossentropyex with 'cat' and 2 other classes

세부 정보

모두 확장

참고 문헌

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

버전 내역

R2016a에 개발됨

모두 확장