# 손실함수 (Loss Functions)

#### 손실함수의 개요 (Overview of Loss Functions)

손실함수(Loss Function)는 인공신경망에서 모델의 예측값과 실제값 간의 차이를 측정하는 핵심 요소이다. 손실함수는 네트워크가 얼마나 잘 수행하고 있는지를 정량적으로 평가하며, 이 값은 모델을 학습시키는 동안 최소화해야 하는 목표 함수로 작용한다. 손실함수의 선택은 모델의 학습과 최종 성능에 큰 영향을 미치며, 문제의 특성에 따라 다양한 형태의 손실함수가 사용된다.

#### 회귀 문제를 위한 손실함수 (Loss Functions for Regression Problems)

회귀 문제에서는 연속적인 값을 예측하기 위해 손실함수가 사용된다. 이 경우, 손실함수는 예측된 값과 실제 값 사이의 차이를 측정하는 데 사용된다. 주요 회귀 손실함수로는 다음과 같은 것들이 있다.

* **평균 제곱 오차 (Mean Squared Error, MSE)**:\
  MSE는 예측값과 실제값 간의 차이의 제곱을 평균한 값으로 정의된다. 수학적으로, $ MSE = \frac{1}{n} \sum\_{i=1}^{n} (y\_i - \hat{y}\_i)^2 $로 표현되며, 여기서 $ y\_i $는 실제값, $ \hat{y}\_i $는 예측값이다. MSE는 큰 오차에 대해 더 큰 페널티를 부여하므로, 모델이 큰 오차를 줄이는 방향으로 학습된다.
* **평균 절대 오차 (Mean Absolute Error, MAE)**:\
  MAE는 예측값과 실제값 사이의 절대 오차를 평균한 값으로, $ MAE = \frac{1}{n} \sum\_{i=1}^{n} |y\_i - \hat{y}\_i| $로 정의된다. MSE와 달리, MAE는 모든 오차를 동일하게 다루므로, 이상치에 덜 민감한다.
* **후버 손실 (Huber Loss)**:\
  Huber 손실은 MSE와 MAE의 장점을 결합한 손실함수로, 작은 오차에 대해서는 MSE처럼 작동하고, 큰 오차에 대해서는 MAE처럼 작동한다. 이 손실함수는 $ \delta $라는 임계값을 기반으로 하며, 이는 수학적으로 다음과 같이 정의된다:

$$
L\_\delta(a) = \begin{cases} \frac{1}{2}a^2 & \text{for } |a| \leq \delta, \ \delta(|a| - \frac{1}{2}\delta) & \text{for } |a| > \delta. \end{cases}
$$

#### 분류 문제를 위한 손실함수 (Loss Functions for Classification Problems)

분류 문제에서는 이산적인 클래스 레이블을 예측하는 것이 목표이므로, 예측 확률 분포와 실제 분포 간의 차이를 측정하는 손실함수가 주로 사용된다. 주요 분류 손실함수로는 다음과 같은 것들이 있다.

* **크로스 엔트로피 손실 (Cross-Entropy Loss)**:\
  크로스 엔트로피 손실은 확률 분포 간의 차이를 측정하는 함수로, 이진 분류와 다중 클래스 분류에서 널리 사용된다. 수학적으로, 이진 분류의 경우 손실은 다음과 같이 정의된다:

$$
L(y, \hat{y}) = -\left(y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})\right)
$$

여기서 $ y $는 실제 클래스 레이블 (0 또는 1)이고, $ \hat{y} $는 예측된 확률이다.

* **스파르스 크로스 엔트로피 손실 (Sparse Cross-Entropy Loss)**:\
  스파르스 크로스 엔트로피 손실은 실제 레이블이 원-핫 인코딩이 아닌 단일 클래스 레이블로 주어질 때 사용된다. 이는 다중 클래스 분류에서 메모리와 계산 효율성을 개선하기 위해 사용된다.
* **KL 다이버전스 (Kullback-Leibler Divergence, KL Divergence)**:\
  KL 다이버전스는 두 확률 분포 사이의 비대칭적인 차이를 측정하는 함수로, 특히 모델의 출력 확률 분포와 목표 분포 간의 차이를 측정하는 데 사용된다. 이는 정보 이론에서 기인한 개념으로, 다음과 같이 정의된다:

$$
D\_{KL}(P || Q) = \sum\_{i} P(i) \log\frac{P(i)}{Q(i)}
$$

여기서 $ P(i) $는 실제 분포, $ Q(i) $는 예측된 분포이다.

#### 손실함수의 선택 기준 (Criteria for Choosing a Loss Function)

손실함수의 선택은 문제의 특성과 목표에 따라 달라진다. 예를 들어, 이상치(outlier)에 민감하지 않은 모델을 원할 경우 MAE나 후버 손실이 적합할 수 있으며, 큰 오차를 특히 줄이고자 할 때는 MSE가 더 적합할 수 있다. 분류 문제의 경우, 클래스 불균형이 있는 상황에서는 클래스 가중치를 반영한 크로스 엔트로피 손실이 유용할 수 있다.

손실함수는 모델의 최적화 과정에서도 중요한 역할을 하며, 올바른 손실함수의 선택은 모델 성능에 중대한 영향을 미칠 수 있다. 손실함수의 특성에 따라 모델이 특정 방향으로 학습하게 되므로, 손실함수의 수학적 성질과 그에 따른 모델의 학습 패턴을 이해하는 것이 중요하다.

***

관련 자료:

1. Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
2. Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
3. Murphy, K. P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press.
4. Huber, P. J. (1964). Robust Estimation of a Location Parameter. The Annals of Mathematical Statistics, 35(1), 73-101.
