머신러닝/이론
손실 함수(Loss Function)
yc7764
2022. 12. 14. 17:16
손실 함수란?
- 손실 함수란 실제값과 예측값의 차이를 수치화해주는 함수
- 오차가 클 수록 손실 함수의 값은 크고 오차가 작을 수록 손실 함수의 값은 작아짐
- 주로 회귀에서는 평균 제곱 오차(MSE)를, 분류 문제에서는 크로스 엔트로피(Cross-Entropy)를 사용
- 머신러닝의 학습 과정은 손실함수의 값을 최소화하는 두 개의 매개변수인 가중치 w와 편향 b의 값을 찾는 것
- 따라서 어떤 손실 함수를 사용하느냐가 매우 중요
1. 평균 제곱 오차(Mean Squared Error, MSE)
- 실제값과 예측값의 차이를 제곱해 평균화하는 방법
- 장점
- 실제 정답에 대한 정답률의 오차뿐만 아니라 다른 오답에 대한 정답률의 오차도 포함하여 계산
- 최적값에 가까워질수록 이동값이 다르게 변화하기 때문에 최적값에 수렴하기 용이
- 단점
- 예측값과 실제값 차이의 면적의 평균과 같으며, 제곱을 이용하기 때문에 이상치의 영향이 큼
- 값을 제곱하기 때문에 절댓값이 1미만인 값은 더 작아지고, 1보다 큰 값은 더 커지는 왜곡이 발생
2. 평균 제곱근 오차(Root Mean Squared Error, RMSE)
- MSE에 루트를 씌우는 방법
- 장점
- 지표 자체가 직관적이며 예측변수와 단위가 같음
- MSE에 루트를 사용해 MSE의 단점들이 어느정도 보완
- MSE보다 이상치의 영향이 적음
- 단점
- MSE에 루트를 사용하기 때문에 미분 불가능한 지점이 생김
- 데이터의 크기(scale)에 영향을 받음
3. 평균 절대 오차(Mean Absolute Error, MAE)
- 예측값과 실제값의 차이의 절대값을 평균화하는 방법
- MSE는 오차가 클수록 손실 함수의 값이 빠르게 증가하지만, MAE는 오차와 비례해 손실 함수의 값이 일정하게 증가
- 장점
- 이상치의 영향이 적음
- 계산이 쉽고 가장 직관적인 지표로 해석에 용이
- 단점
- RMSE와 마찬가지로 미분 불가능한 지점이 존재
- 절대값을 취하기 때문에 모델이 실제보다 낮은 값으로 예측(Underperformance)했는지 실제보다 높은 값으로 예측(Overperformance)했는지 알 수 없음
4. 교차 엔트로피(Cross-Entropy)
- 크로스 엔트로피는 실제 분포 에 대하여 알지 못하는 상태에서, 모델링을 통하여 구한 분포인 p를 통하여 q 를 예측하는 것(q와 p가 모두 들어가서 크로스 엔트로피라고 함)
- 딥러닝에서는 실제 데이터의 확률 분포와, 학습된 모델이 계산한 확률 분포의 차이를 구하는데 사용
- 분류할 개수에 따라 사용하는 손실 함수가 다름
- 출력층에서 시그모이드 함수를 사용하는 이진 분류 (Binary Classification)의 경우 binary_crossentropy를 사용
- 출력층에서 소프트맥스 함수를 사용하는 다중 클래스 분류(Multi-Class Classification)일 경우 categorical_crossentropy를 사용
참고 사이트
07-04 딥 러닝의 학습 방법
딥 러닝의 학습 방법의 이해를 위해 필요한 개념인 손실 함수, 옵티마이저, 에포크의 개념에 대해서 정리합니다. ## 1. 손실 함수(Loss function) 
) 회귀모델을 평가하는 평가지표 회귀모델은 그 모델이 잘 학습되어졌는지 확인하기 위한 회귀모델의 평가지표들이 4가지 있다. 이를 하나씩 살펴보자. MAE(Mean Absolute Error) 모델의 예측값과 실제
velog.io