손실 함수는 값을 예측하려 할 때, 데이터에 대한 예측값과 실제의 값을 비교하는 함수로 모델을 훈련시킬 때, 오류를 최소화시키기 위해 사용되며, 주로 회귀에서 사용한다.
model.compile(loss='mean_squared_error', optimizer='sgd')
예측한 값과 실제 값 사이의 평균 제곱 오차를 정의한다. 공식이 매우 간단하며, 차가 커질수록 제곱 연산으로 인해서 값이 더욱 뚜렷해 진다. 그리고 제곱으로 인해서 오차가 양수이든 음수이든 누적 값을 증가시킨다.
앞선 값에 루트를 씌운 것으로 동일하지만, 실제 오류 평균보다 더 커지는 특성이 있어 mse보다 값의 왜곡을 줄여준다.
생략
같은 다중 분류 손실함수이지만, 샘플 값은 정수형 자료이다. 예를 들어, 샘플 값이 아래와 같은 형태일 수 있다.
0, 1, 2
네트워크 구성은 동일하게 Dense(3, activation = "softmax")로 하고 출력값도 3개가 나온다. 즉 샘플 값을 입력하는 부분에서 별도의 원핫 인코딩을 하지 않고 정수값 그대로 줄 수 있다.