1. Regression, Loss function
회귀 모델을 학습할 때, 모델이 예측한 값과 실제 값 사이의 차이를 측정하는
**손실 함수(Loss Function)**는 매우 중요한 역할을 합니다.
손실 함수는 모델이 학습하는 방향을 결정하고, 그 성능을 좌우합니다.
회귀 분석에서 자주 사용되는 손실 함수로는
- MAE(Mean Absolute Error),
- MSE(Mean Squared Error),
- 그리고 Huber Loss가 있습니다.
이번 글에서는 이 세 가지 손실 함수의 차이점과 특징을 살펴보겠습니다.
1) 평균 절대 오차 (MAE: Mean Absolute Error, L1 loss)
MAE는 예측 값과 실제 값의 차이의 절대값을 평균내는 방식으로,
오차가 클수록 손실이 선형적으로 증가하는 특징을 가지고 있습니다.
이 손실 함수는 이상치(outlier)에 강건한 모델을 만들 수 있는 장점이 있습니다.
MAE 공식:
$$ \text{MAE} = \frac{1}{n} \sum_{i=1}^{n} |y_i - \hat{y_i}| $$
여기서:
$$ y_i={실제값}, { } \hat y_i={예측값}, n={데이터수} $$
MAE의 특징:
- 이상치에 강건: MAE는 오차의 절대값을 계산하기 때문에,
- 큰 오차가 발생하더라도 손실 값이 선형적으로 증가합니다. 이로 인해 이상치가 있는 데이터에서도 모델이 안정적인 성능을 보일 수 있습니다.
- 작은 오차에 덜 민감: MAE는 MSE에 비해 작은 오차에 덜 민감합니다. 이는 모델이 작은 오차를 무시하고 전체적으로 큰 오차를 줄이는 데 더 집중하도록 만듭니다.
MAE의 장점:
- 이상치가 많은 데이터에서 매우 효과적입니다. 이상치가 모델의 성능을 크게 왜곡하지 않기 때문에, 안정적인 모델을 학습할 수 있습니다.
MAE의 단점:
- 작은 오차를 줄이는 데에는 한계가 있을 수 있습니다. 아주 정밀한 예측이 필요한 경우에는 MSE만큼의 성능을 기대하기 어렵습니다.
2) 평균 제곱 오차 (MSE: Mean Squared Error, L2 loss)
MSE는 예측 값과 실제 값 사이의 차이를 제곱한 후 평균을 구하는 방식입니다.
제곱을 사용하기 때문에 작은 오차는 작게, 큰 오차는 크게 반영하는 특징이 있습니다. MSE는 작은 오차에도 민감하게 반응하는 장점이 있지만, 이상치에 매우 민감하다는 단점도 가지고 있습니다.
MSE 공식:
$$ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y_i})^2 $$
MSE의 특징:
- 작은 오차에 민감: 오차를 제곱하기 때문에 작은 오차가 모델 성능에 크게 영향을 미칩니다. 이는 매우 정밀한 예측이 필요할 때 MSE가 유용하다는 것을 의미합니다.
- 이상치에 민감: 제곱된 값이 사용되므로, 큰 오차(이상치)는 모델의 전체 손실에 매우 큰 영향을 미칩니다. 이상치가 있는 데이터에서는 MSE가 손실 값을 과도하게 키우는 경향이 있습니다.
MSE의 장점:
- 정밀한 예측: 작은 오차를 줄이기 위해 MSE를 사용하면, 예측 값이 실제 값에 가깝도록 모델이 학습합니다.
MSE의 단점:
- 이상치에 취약: 큰 오차에 민감하게 반응하기 때문에, 데이터에 이상치가 있으면 모델이 이상치에 너무 많은 비중을 두고 학습될 수 있습니다.
3) Huber Loss
Huber Loss는 MSE와 MAE의 장점을 결합한 손실 함수입니다.
작은 오차에서는 MSE처럼 작동하여 민감하게 반응하고, 큰 오차에서는 MAE처럼 작동하여 이상치에 강건합니다.
이 손실 함수는 MSE와 MAE의 절충안으로, 데이터에 이상치가 존재하는 경우에 자주 사용됩니다.
Huber Loss 공식:
$$ L_\delta(y, \hat{y}) = \begin{cases} \frac{1}{2}(y - \hat{y})^2 & \text{if } |y - \hat{y}| \leq \delta, \\ \delta \cdot (|y - \hat{y}| - \frac{1}{2}\delta) & \text{if } |y - \hat{y}| > \delta, \end{cases} $$
여기서:
- δ는 임계값으로, 오차가 δ보다 작을 때는 MSE처럼 작동하고, 클 때는 MAE처럼 작동하게 만듭니다.
Huber Loss의 특징:
- 작은 오차에 민감하고, 이상치에 강건: 작은 오차에서는 MSE처럼 오차를 제곱하여 민감하게 반응하지만, 큰 오차가 발생하면 MAE처럼 선형적으로 반응하여 이상치의 영향을 줄입니다.
- δ 값 조정 가능: δ 값을 조정하여 MSE와 MAE 사이의 균형을 조정할 수 있습니다.
Huber Loss의 장점:
- 이상치가 있는 데이터에서 성능이 뛰어납니다. MSE처럼 작은 오차에 민감하면서도, MAE처럼 이상치에 강건한 성능을 제공합니다.
Huber Loss의 단점:
- δ 값 설정에 따라 성능이 달라지므로, 적절한 δ 값을 선택하는 것이 중요합니다.
2. 손실 함수의 비교
손실 함수 작은 오차에 대한 민감도 이상치에 대한 민감도 특징
손실 함수 | 작은 오차에 대한 민감도 | 이상치에 대한 민감도 | 특징 |
MSE | 매우 높음 | 매우 높음 | 작은 오차에 민감하지만, 이상치에 취약함 |
MAE | 낮음 | 낮음 | 이상치에 강건하지만, 작은 오차에 덜 민감 |
Huber Loss | 중간 (조정 가능) | 중간 (조정 가능) | MSE와 MAE의 장점을 결합, 이상치와 작은 오차를 균형 있게 처리 |
3. 결론
회귀 모델에서 손실 함수의 선택은 매우 중요합니다.
MSE는 작은 오차에 민감하게 반응하기 때문에 정밀한 예측을 요구할 때 적합하지만,
이상치에 민감한 단점이 있습니다.
반면, MAE는 이상치에 강건하여 더 안정적인 성능을 제공하지만, 작은 오차에 덜 민감하게 반응합니다.
Huber Loss는 이 두 손실 함수의 장점을 결합하여,
작은 오차에는 민감하게 반응하면서도 큰 오차(이상치)에 대해서는 덜 민감하게 처리할 수 있습니다.
따라서, 이상치가 있는 데이터에서 균형 잡힌 성능을 원할 때 Huber Loss가 좋은 선택이 될 수 있습니다.
데이터의 특성에 맞춰 적절한 손실 함수를 선택하는 것이
회귀 모델의 성능을 최적화하는 데 매우 중요한 요소입니다.