손실 함수와 옵티마이저의 정확한 목적과 선택 방법은 이어지는 몇 개의 장에서 자세히 살펴보겠습니다. 이 예제에서 선택은 다음과 같습니다.
코드 2-4 훈련 옵션 설정: 모델 컴파일(CodePen 2-c)
model.compile({optimizer: 'sgd', loss: 'meanAbsoluteError'});
모델의 compile 메서드를 호출할 때 옵티마이저는 'sgd'를, 손실은 'meanAbsoluteError'를 지정합니다. 'meanAbsoluteError'는 손실 함수가 예측과 타깃이 얼마나 떨어져 있는지를 절댓값으로 계산한다는 의미입니다(따라서 모두 양수가 됩니다). 그다음, 이 값의 평균을 반환합니다.
meanAbsoluteError = average( absolute(modelOutput - targets) )
예를 들어 다음과 같은 값이 주어지면
modelOutput = [1.1, 2.2, 3.3, 3.6] targets = [1.0, 2.0, 3.0, 4.0]
다음과 같이 계산됩니다.
meanAbsoluteError = average([|1.1 - 1.0|, |2.2 - 2.0|, |3.3 - 3.0|, |3.6 - 4.0|]) = average([0.1, 0.2, 0.3, 0.4]) = 0.25