손실(loss) 함수 종류
손실 함수
손실 함수란?
손실 함수는 값을 예측하려할 때 데이터에대한 예측값과 실제의 값을 비교하는 함수로 모델을 훈련시킬 때 오류를 최소화 시키기 위해 사용되는 함수이다.
모델의 성능을 올리기 위해 loss 함수를 임의적으로 변형할 수 있다.딥러닝에서 손실 함수는 여러가지 말로 표현됩니다.
비용 함수(cost function) = 손실 함수(loss function) = 오차 함수(error function) = 목적 함수(objective function)
Mean_Squared_error
- 예측한 값과 실제 값 사이의 평균 제곱 오차를 정의한다. 공식이 매우 간단하며, 차가 커질수록 제곱 연산으로 인해서 값이 더욱 뚜렷해진다.
그리고 제곱으로 인해서 오차가 양수이든 음수이든 누적 값을 증가시킨다.
1 | from sklearn.metrics import mean_squared_error |
RMSE(Root Mean Squared error)
- Mean_Squared_error에 Root를 씌운 값으로 왜곡을 줄여준다.
1 | from sklearn.metrics import mean_squared_error |
RMSLE(Root mean squared Logarithmic error)
- 중간에 로그를 취해서 편차를 구함
1 | from sklearn.metrics import mean_squared_log_error |
Binary Crossentropy
- 이진 분류(0또는 1분류)를 할 경우 사용.
sparse_categorical_crossentropy vs categorical_crossentropy
모두 다중 분류 손실 함수이다.
categorical_crossentropy는 다중 분류 손실 함수로 one_hot_encoding 클래스이다
sparse_categorical_crossentropy는 int_type 클래스이다.
결론적으로, 원핫백터인 경우
categorical_crossentropy
int인 경우에는sparse_categorical_crossentropy
를 사용하면 된다.