RegressionOutputLayer
회귀 출력 계층
설명
회귀 계층은 회귀 작업의 손실을 평균제곱오차의 절반을 취한 값으로 계산합니다.
생성
regressionLayer를 사용하여 회귀 출력 계층을 만듭니다.
속성
회귀 출력
응답 변수의 이름으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 소프트웨어는 훈련 시점에 훈련 데이터에 따라 자동으로 응답 변수의 이름을 설정합니다. 디폴트 값은 {}입니다.
데이터형: cell
훈련에 사용할 손실 함수로, 'mean-squared-error'로 지정됩니다.
계층
계층 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. Layer 배열 입력값에 대해 trainNetwork 함수는 이름이 ""인 계층에 자동으로 이름을 할당합니다.
RegressionOutputLayer 객체는 이 속성을 문자형 벡터로 저장합니다.
데이터형: char | string
계층에 대한 입력값의 개수로, 1로 반환됩니다. 이 계층은 단일 입력값만 받습니다.
데이터형: double
입력값 이름으로, {'in'}으로 반환됩니다. 이 계층은 단일 입력값만 받습니다.
데이터형: cell
계층의 출력값 개수로, 0으로 반환됩니다. 이 계층에는 출력값이 없습니다.
데이터형: double
계층의 출력값 이름으로, {}로 반환됩니다. 이 계층에는 출력값이 없습니다.
데이터형: cell
예제
회귀 출력 계층을 만듭니다.
이름이 '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 '' 2-D 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
세부 정보
회귀 계층은 회귀 작업의 손실을 평균제곱오차의 절반을 취한 값으로 계산합니다. 일반적인 회귀 문제에서 회귀 계층은 마지막 완전 연결 계층 뒤에 와야 합니다.
단일 관측값에 대해 평균제곱오차는 다음과 같이 표현됩니다.
여기서 R은 응답 변수의 개수이고, ti는 목표 출력값이고, yi는 i번째 응답 변수에 대한 신경망의 예측값입니다.
영상 및 sequence-to-one 회귀 신경망의 경우, 회귀 계층의 손실 함수는 R에 의해 정규화되지 않은, 예측된 응답의 평균제곱오차의 절반입니다.
image-to-image 회귀 신경망의 경우, 회귀 계층의 손실 함수는 R에 의해 정규화되지 않은, 각 픽셀에 대해 예측된 응답의 평균제곱오차의 절반입니다.
여기서 H, W, C는 각각 출력값의 높이, 너비, 채널 개수를 나타내고, p는 t와 y의 각 요소(픽셀)를 선형적으로 참조합니다.
sequence-to-sequence 회귀 신경망의 경우, 회귀 계층의 손실 함수는 R에 의해 정규화되지 않은, 각 시간 스텝에 대해 예측된 응답의 평균제곱오차의 절반입니다.
여기서 S는 시퀀스 길이입니다.
훈련 시에 소프트웨어는 미니 배치에 있는 관측값에 대해 손실 평균을 계산합니다.
버전 내역
R2017a에 개발됨R2024a부터 RegressionOutputLayer 객체는 권장되지 않습니다. 대신 trainnet을 사용하고 손실 함수를 "mse"로 설정하십시오.
RegressionOutputLayer 객체에 대한 지원을 제거할 계획은 없습니다. 하지만 다음과 같은 이점이 있는 trainnet 함수가 대신 권장됩니다.
trainnet은 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원하는dlnetwork객체를 지원합니다.trainnet을 사용하면 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.trainnet은 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증, 사용자 지정 훈련 루프를 지원하는 통합 데이터형인dlnetwork객체를 출력합니다.trainnet이trainNetwork보다 일반적으로 더 빠릅니다.
다음 표에서는 trainNetwork 함수를 RegressionOutputLayer 객체와 함께 사용하는 몇 가지 방법과 trainnet 함수를 대신 사용하도록 코드를 업데이트하는 방법을 보여줍니다.
| 권장되지 않음 | 권장됨 |
|---|---|
net = trainNetwork(X,T,layers,options). 여기서 layers는 RegressionOutputLayer 객체를 포함합니다. | net = trainnet(X,T,layers,"mse",options);layers는 RegressionOutputLayer 객체 없이 동일한 신경망을 지정합니다. |
net = trainNetwork(data,layers,options). 여기서 layers는 RegressionOutputLayer 객체를 포함합니다. | net = trainnet(data,layers,"mse",options);layers는 RegressionOutputLayer 객체 없이 동일한 신경망을 지정합니다. |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)