Loss Function과 성능 평가 지표는 ML 모델의 오차를 측정하는 평가지만, 목적과 사용 방법에는 차이가 있다.
- Loss Function
- 모델의 학습(fit) 도중에 사용됨
- 모델의 예측값과 실제값 사이의 차이 측정
- 이 차이(loss function)를 최소화하도록(=최적화되는 함수) 모델의 파라미터(가중치, 잔차)를 조정하는 것이 목표
- loss function을 최소화하는 최적화 알고리즘을 사용해야 함(대표적으로 Gradient Descent)
- Loss function은 모델의 학습을 직접적으로 제어하므로, 모델이 잘 학습되도록 선택해야 함
- 회귀 : MSE, RMSE, R2 등
- 분류 : Accuracy, Precision, Recall, F1-score, Cross-entropy
- Cost function과의 차이
- Loss function은 하나의 훈련 샘플에 대한 오차를 측정
- Cost function은 전체 훈련 세트에 대한 loss function의 평균이나 합계 등을 계산함
- 참고로 cross-entropy = log loss임
- 이진 분류 문제에서는 log loss라고 부르고, 다중 분류 문제에서는 cross-entropy라 부름
- 성능 평가 지표(Metric)
- 모델의 학습 후, 성능 평가 및 비교 그리고 하이퍼 파라미터 튜닝에 사용됨
- validation set, test set이나 실제 데이터에 사용 (cost function은 학습에 사용)
- Grid Search나 Random Search를 통해 여러 하이퍼 파라미터 조합을 시도하고, 성능 평가 지표를 기준으로 최적의 하이퍼 파라미터 선택 가능
- 주로 사람이 이해하기 쉽고, 비즈니스 목표나 문제의 특성에 부합하는 방식으로 선택됨
- 회귀 : MSE, RMSE, MAE, R2 등
- RMSE, MAE는 미분가능하므로 cost function으로 사용 가능 (단, gradient가 변경됨)
- 분류 : Accuracy, Precision, Recall, F1-score, Cross-entropy
- Cross-entropy는 Loss function과 성능 평가 지표 모두로 사용될 수 있음
- 모델의 예측 확률이 실제 레이블과 얼마나 잘 일치하는 지를 측정하므로
- 정리하자면
- loss function : 손실 함수. 훈련셋과 연관. 훈련에 사용.
- metric : 평가 지표. 검증셋과 연관. 훈련 과정을 모니터링하는데 사용.
- 각 모델에 사용되는 loss function은 metric으로도 사용될 수 있음