Main Content

mse

정규화된 평균제곱오차 성능 함수

설명

예제

딥러닝에서 평균제곱오차를 사용하려면 regressionLayer를 사용하거나 dlarray 메서드 mse를 사용하십시오.

perf = mse(net,t,y,ew)는 신경망 net, 목표값으로 구성된 행렬 또는 셀형 배열 t, 출력값으로 구성된 행렬 또는 셀형 배열 y, 오차 가중치 ew를 받아서 평균제곱오차를 반환합니다.

이 함수에는 2개의 선택적 파라미터가 있습니다. 이 선택적 파라미터는 net.trainFcn 값이 이 함수로 설정된 신경망에 연결되어 있습니다.

  • 'regularization'은 0과 1 사이의 임의 값으로 설정할 수 있습니다. 정규화 값이 클수록 오차를 기준으로 한 가중치와 편향의 제곱 값이 성능 계산 시 더 많이 고려됩니다. 디폴트 값은 0(정규화 없음)입니다.

  • 'normalization''none'(디폴트 값), 'standard'(오차를 -2와 2 사이로 정규화하며, 이는 출력값과 목표값을 -1과 1 사이로 정규화하는 것에 대응됨), 'percent'(오차를 -1과 1 사이로 정규화)로 설정할 수 있습니다. 이 기능은 여러 개의 요소를 가진 출력값을 갖는 신경망에서 유용합니다. 목표값 범위가 가장 큰 출력 요소의 상대 정확도를 우선시하지 않고, 서로 다른 목표값 범위를 갖는 출력 요소의 상대 정확도를 모두 똑같이 중요하게 취급하기 때문입니다.

feedforwardnet 또는 cascadeforwardnet으로 mse를 사용하는 표준 신경망을 만들 수 있습니다. mse를 사용하여 훈련할 사용자 지정 신경망을 준비하려면 net.performFcn'mse'로 설정하십시오. 이렇게 하면 net.performParam이 자동으로 디폴트 선택적 파라미터 값을 갖는 구조체로 설정됩니다.

mse는 신경망 성능 함수입니다. 이 함수는 신경망의 성능을 평균제곱오차로 측정합니다.

예제

모두 축소

이 예제에서는 mse 성능 함수를 사용하여 신경망을 훈련시키는 방법을 다룹니다.

2계층 피드포워드 신경망을 만든 다음 mse 성능 함수와 정규화 값 0.01을 사용하여 체지방 비율을 추정하도록 훈련시킵니다.

[x, t] = bodyfat_dataset;
net = feedforwardnet(10);
net.performParam.regularization = 0.01;

feedforwardnet의 디폴트 성능 함수는 MSE입니다.

net.performFcn

신경망을 훈련시키고 성능을 평가합니다.

net = train(net, x, t);
y = net(x);
perf = perform(net, t, y)

또는 mse를 직접 호출할 수도 있습니다.

perf = mse(net, t, y, 'regularization', 0.01)

입력 인수

모두 축소

신경망으로, network 객체로 지정됩니다.

예: net = feedforwardnet(10);

목표값으로, 행렬 또는 셀형 배열로 지정됩니다.

출력값으로, 행렬 또는 셀형 배열로 지정됩니다.

오차 가중치로, 스칼라로 지정됩니다.

출력 인수

모두 축소

평균제곱오차로 측정된 신경망 성능입니다.

버전 내역

R2006a 이전에 개발됨

참고 항목