손실 함수 (Loss Function)
손실 함수(Loss Function)는 머신러닝 및 통계 모델링에서 모델의 예측 성능을 정량적으로 평가하기 위해 사용되는 핵심 요소 중 하나이다. 손실 함수는 모델의 예측값과 실제값 사이의 차이를 수치적으로 나타내며, 이 값을 최소화하는 것이 학습의 목표가 된다. 손실 함수는 모델의 학습 과정에서 중요한 역할을 하며, 모델의 최적화 과정에서 사용된다.
손실 함수의 개념적 정의
손실 함수는 주어진 입력 데이터에 대해 모델이 예측한 출력과 실제 타겟 값(ground truth) 간의 차이를 나타내는 함수로 정의된다. 이 차이를 측정하는 방법은 여러 가지가 있으며, 사용되는 손실 함수의 유형은 모델의 특성, 데이터의 특성, 그리고 문제의 유형에 따라 다르게 선택된다.
손실 함수는 다음과 같은 일반적인 형태를 가진다.
$ L(y, \hat{y}) $
여기서 $ y $는 실제 타겟 값이고, $ \hat{y} $는 모델이 예측한 값이다. $ L(y, \hat{y}) $는 이 두 값 사이의 차이를 나타내며, 그 차이를 최소화하는 것이 모델 학습의 목표가 된다.
손실 함수의 종류
손실 함수는 크게 두 가지 범주로 나눌 수 있다: 회귀(Regression) 문제를 다루는 손실 함수와 분류(Classification) 문제를 다루는 손실 함수. 각 범주에서 자주 사용되는 손실 함수를 소개하겠다.
회귀(Regression)에서의 손실 함수
회귀 문제에서는 모델이 연속적인 실수값을 예측한다. 따라서 손실 함수는 예측값과 실제값 간의 차이를 측정하는데 초점을 맞춘다. 대표적인 손실 함수로는 다음과 같은 것들이 있다.
평균 제곱 오차 (Mean Squared Error, MSE): 가장 일반적으로 사용되는 회귀 손실 함수로, 예측값과 실제값 간의 차이를 제곱하여 평균을 취한 것이다. 수식으로는 다음과 같이 표현된다.
MSE는 제곱 항이 포함되어 있기 때문에, 큰 오차에 더 큰 패널티를 부여하는 특성을 가지고 있다.
평균 절대 오차 (Mean Absolute Error, MAE): 예측값과 실제값 간의 차이의 절대값을 평균한 것이다. 수식은 다음과 같다.
MAE=n1i=1∑n∣yi−y^i∣MAE는 모든 오차에 동일한 중요도를 부여하는 반면, MSE에 비해 이상치(outlier)에 덜 민감하다.
Huber 손실 함수 (Huber Loss): MSE와 MAE의 장점을 결합한 손실 함수로, 작거나 중간 정도의 오차에 대해서는 MSE와 유사하게 동작하지만, 큰 오차에 대해서는 MAE와 유사하게 동작하도록 한다. Huber 손실 함수는 다음과 같이 정의된다.
Lδ(a)={21a2δ(∣a∣−21δ)if ∣a∣≤δif ∣a∣>δ여기서 $ a = y_i - \hat{y}_i $이며, $ \delta $는 튜닝 가능한 파라미터로, 오차가 $ \delta $ 이하일 때는 MSE처럼, 초과할 때는 MAE처럼 동작하게 한다.
분류(Classification)에서의 손실 함수
분류 문제에서는 모델이 범주형(categorical) 값을 예측하게 되며, 이 경우 손실 함수는 모델의 예측 분포와 실제 라벨 분포 간의 차이를 측정하는데 사용된다. 대표적인 손실 함수로는 다음과 같은 것들이 있다.
이항 교차 엔트로피 손실 (Binary Cross-Entropy Loss): 이진 분류에서 자주 사용되는 손실 함수로, 예측된 확률 분포와 실제 분포 간의 교차 엔트로피를 측정한다. 수식은 다음과 같다.
L(y,y^)=−n1i=1∑n[yilog(y^i)+(1−yi)log(1−y^i)]여기서 $ y_i $는 실제 클래스(0 또는 1), $ \hat{y}_i $는 예측된 확률(0과 1 사이의 값)이다.
범주형 교차 엔트로피 손실 (Categorical Cross-Entropy Loss): 다중 클래스 분류 문제에서 사용되는 손실 함수로, 각 클래스에 대한 예측 확률과 실제 라벨 간의 교차 엔트로피를 계산한다. 수식은 다음과 같다.
L(y,y^)=−i=1∑Cyilog(y^i)여기서 $ C $는 클래스의 수, $ y_i $는 실제 클래스, $ \hat{y}_i $는 각 클래스에 대한 예측 확률이다.
KL 발산 (Kullback-Leibler Divergence, KLD): 예측 분포와 실제 분포 간의 차이를 측정하는 또 다른 방식으로, 주로 확률 분포를 비교할 때 사용된다. 수식은 다음과 같다.
DKL(P∣∣Q)=i∑P(i)logQ(i)P(i)여기서 $ P $는 실제 분포, $ Q $는 예측된 분포이다. KL 발산은 비대칭적이며, 예측 분포가 실제 분포와 얼마나 다른지를 측정한다.
손실 함수의 수학적 특성
손실 함수는 최적화 과정에서 중요한 역할을 하며, 특정한 수학적 특성을 가진다. 주요 특성으로는 다음이 있다.
볼록성 (Convexity): 많은 손실 함수는 볼록(convex) 함수로, 이는 전역 최적해를 보장하는 중요한 특성이다. MSE와 MAE는 대표적인 볼록 손실 함수들이다.
미분 가능성 (Differentiability): 최적화 알고리즘, 특히 경사 하강법(Gradient Descent)에서는 손실 함수의 미분 가능성이 중요하다. 대부분의 손실 함수는 매끄러운 최적화를 위해 미분 가능하게 설계된다.
연속성 (Continuity): 손실 함수의 연속성은 학습의 안정성을 보장하는 중요한 특성이다. 연속성이 보장되지 않으면 학습 과정에서 급격한 변동이 발생할 수 있다.
손실 함수와 모델 학습의 관계
손실 함수는 모델 학습 과정에서 중요한 역할을 하며, 최적화의 대상이 된다. 최적화 과정은 손실 함수를 최소화하기 위한 파라미터 $ \theta $를 찾는 과정으로, 다음과 같은 최적화 문제로 정의된다.
여기서 $ f(x;\theta) $는 모델의 예측 함수, $ L(y, \hat{y}) $는 손실 함수, $ \theta $는 모델 파라미터이다. 최적화 과정에서는 주로 경사 하강법을 사용하여 손실 함수의 그래디언트(Gradient)를 계산하고, 이를 기반으로 모델 파라미터를 업데이트한다.
손실 함수의 선택은 모델 성능에 큰 영향을 미치며, 잘못된 손실 함수를 선택할 경우 학습이 제대로 이루어지지 않거나, 수렴하지 않을 수 있다.
Last updated