반응형
L1 Loss와 L2 Loss는 머신러닝과 딥러닝에서 널리 사용되는 두 가지 손실 함수(loss function)이다. 두 손실 함수는 모델의 예측값과 실제값 사이의 차이를 측정하는 방법을 제공하여, 모델이 학습 과정에서 이 차이를 최소화하도록 돕는다.
L1 Loss (Mean Absolute Error, MAE)
정의 : L1 Loss는 예측값과 실제값 사이의 절대값 차이의 평균을 계산한다. 수학적으로는 다음과 같이 표현된다.
$$ MAE = \frac{1}{N}\sum_{i=1}^{N}|y_{i} - \hat{y}_{i}| $$
특징 및 사용 경우
- 로버스트함(Robustness) : L1 Loss는 이상치(outliers)에 덜 민감하기 때문에 이상치가 많은 데이터에 적합하다.
- 스파시티(Sparsity) : L1 정규화를 사용하는 경우, 일부 가중치를 정확히 0으로 만들어줌으로써 모델의 스파시티를 증가시킬 수 있다. 이는 특징 선택(feature selection)에 유리하다.
장단점
- 장점: 이상치에 강하다.
- 단점: 미분 가능하지 않은 지점(예측값과 실제값이 정확히 일치하는 지점)이 존재한다. 이는 최적화 과정에서 문제를 일으킬 수 있다.
L2 Loss (Mean Squared Error, MSE)
정의 : L2 Loss는 예측값과 실제값 사이의 차이를 제곱한 후 평균을 계산한다. 수학적으로는 다음과 같이 표현된다.
$$ MSE = \frac{1}{N}\sum_{i=1}^{N}(y_{i} - \hat{y}_{i})^{2} $$
특징 및 사용 경우
- 민감도(Sensitivity) : L2 Loss는 이상치에 매우 민감하다. 이는 큰 오차를 크게 벌하는 특성 때문이다.
- 계산 편의성 : 미분 가능한 곳이 많아 최적화가 상대적으로 용이하다. 그래디언트(미분값)가 항상 정의되어 있어 경사하강법 같은 최적화 알고리즘에서 안정적이다.
장단점
- 장점 : 계산이 용이하고 최적화하기 쉽다.
- 단점 : 이상치에 매우 민감하다.
언제 어떤 Loss를 사용해야 할까?
L1 Loss 사용 시기
- 데이터에 이상치가 많이 포함되어 있을 때 유용하다. L1 Loss는 이상치의 영향을 덜 받기 때문에, 이상치로 인한 모델 성능 저하를 방지할 수 있다.
- 모델의 특성 중 일부만이 결과에 큰 영향을 미칠 때, 즉 모델이 중요한 몇 가지 특성에만 집중하게 하고 싶을 때 사용할 수 있다. 이는 L1 Loss가 가중치의 일부를 정확히 0으로 만들어 특성 선택의 효과를 낼 수 있기 때문이다.
L2 Loss 사용 시기
- 데이터가 상대적으로 깨끗하고 이상치가 적을 때, L2 Loss를 사용하면 모델이 데이터의 전반적인 패턴을 더 잘 학습할 수 있다.
- 미세한 예측 오차에 대한 정밀한 조정이 필요할 때 사용된다. L2 Loss는 오차의 제곱을 사용하기 때문에, 작은 오차도 크게 반영되어 모델이 더 정확한 예측을 하도록 유도한다.
'딥러닝' 카테고리의 다른 글
[Deep Learning] F1 Score 이란 (0) | 2024.03.12 |
---|