이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

regressionLayer

회귀 출력 계층 만들기

설명

회귀 계층은 회귀 문제의 손실을 평균 제곱 오차의 절반을 취한 값으로 계산합니다.

layer = regressionLayer는 신경망의 출력 계층을 RegressionOutputLayer 객체로 반환합니다.

predict를 사용하여 훈련된 회귀 네트워크의 응답 변수를 예측합니다. 응답 변수를 정규화하면 회귀를 위한 신경망 훈련을 안정화하고 속도를 높이는 데 도움이 되는 경우가 많습니다. 자세한 내용은 회귀를 위해 컨벌루션 신경망 훈련시키기 항목을 참조하십시오.

예제

layer = regressionLayer(Name,Value)는 이름-값 쌍을 사용하여 선택적 NameResponseNames 속성을 설정합니다. 예를 들어, regressionLayer('Name','output')은 이름이 'output'인 회귀 계층을 만듭니다. 각 속성 이름을 작은따옴표로 묶습니다.

예제

모두 축소

이름이 'routput'인 회귀 출력 계층을 만듭니다.

layer = regressionLayer('Name','routput')
layer = 
  RegressionOutputLayer with properties:

             Name: 'routput'
    ResponseNames: {}

   Hyperparameters
     LossFunction: 'mean-squared-error'

회귀의 디폴트 손실 함수는 평균 제곱 오차입니다.

Layer 배열에 회귀 출력 계층을 삽입합니다.

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(12,25)
    reluLayer
    fullyConnectedLayer(1)
    regressionLayer]
layers = 
  5x1 Layer array with layers:

     1   ''   Image Input         28x28x1 images with 'zerocenter' normalization
     2   ''   Convolution         25 12x12 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                ReLU
     4   ''   Fully Connected     1 fully connected layer
     5   ''   Regression Output   mean-squared-error

입력 인수

모두 축소

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: regressionLayer('Name','output')은 이름이 'output'인 회귀 계층을 만듭니다.

계층 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 계층 그래프에 계층을 포함하려면 비어 있지 않은 고유한 계층 이름을 지정해야 합니다. 이 계층을 사용하여 시리즈 네트워크를 훈련시킬 때 Name''로 설정하면, 소프트웨어가 훈련 시점에 해당 계층에 자동으로 이름을 할당합니다.

데이터형: char | string

응답 변수의 이름으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 소프트웨어는 훈련 시점에 훈련 데이터에 따라 자동으로 응답 변수의 이름을 설정합니다. 디폴트 값은 {}입니다.

데이터형: cell

출력 인수

모두 축소

회귀 출력 계층으로, RegressionOutputLayer 객체로 반환됩니다.

세부 정보

모두 축소

회귀 출력 계층

회귀 계층은 회귀 문제의 손실을 평균 제곱 오차의 절반을 취한 값으로 계산합니다. 일반적인 회귀 문제에서 회귀 계층은 마지막 완전 연결 계층 뒤에 와야 합니다.

단일 관측값에 대해 평균 제곱 오차는 다음과 같이 표현됩니다.

MSE=i=1R(tiyi)2R,

여기서 R은 응답 변수의 개수이고, ti는 목표 출력값이고, yi는 i번째 응답 변수에 대한 네트워크의 예측값입니다.

이미지 및 sequence-to-one 회귀 네트워크의 경우, 회귀 계층의 손실 함수는 R에 의해 정규화되지 않은, 예측된 응답 변수의 평균 제곱 오차의 절반입니다.

loss=12i=1R(tiyi)2.

image-to-image 회귀 네트워크의 경우, 회귀 계층의 손실 함수는 R에 의해 정규화되지 않은, 각 픽셀에 대해 예측된 응답 변수의 평균 제곱 오차의 절반입니다.

loss=12p=1HWC(tpyp)2,

여기서 H, W, C는 각각 출력값의 높이, 너비, 채널 개수를 나타내고, p는 t와 y의 각 요소(픽셀)를 선형적으로 참조합니다.

sequence-to-sequence 회귀 네트워크의 경우, 회귀 계층의 손실 함수는 R에 의해 정규화되지 않은, 각 시간 스텝에 대해 예측된 응답 변수의 평균 제곱 오차의 절반입니다.

loss=12Si=1Sj=1R(tijyij)2,

여기서 S는 시퀀스 길이입니다.

훈련 시에 소프트웨어는 미니 배치에 있는 관측값에 대해 손실 평균을 계산합니다.

R2017a에 개발됨