손실 함수(loss function)

Youngho LEE·2025년 5월 25일

손실 함수(Loss Function)

  • 머신러닝이나 딥러닝 모델이 예측한 값과 실제 값 사이의 차이를 측정하는 함수이다.
  • 이를 통해 모델의 성능을 평가하고, 모델이 어떤 방향으로 개선되어야 할지 알려주는 역할을 한다.
  • 손실 함수의 값을 최소화하는 것이 모델 학습의 목표이다.
  • 각 테스크나 문제의 특성에 맞는 최적의 학습을 유도하기 위해서 사용한다.
  • 모델이 학습 과정에서 최적화해야 할 목표(혹은 대상의 특성)을 정의하므로, 문제(대상 또는 환경)의 특성을 잘 반영하는 손실 함수를 사용하면 더 효과적이고 효율적인 학습이 가능하다.

종류

회귀(Regression)에서 주로 쓰이는 손실 함수

     - MSE(Mean Squared Error)
         - 오류 제곱의 평균. Outlier에 민감.
     - MAE(Mean Absolute Error)
         - 절대오차의 평균. MSE보다 Outlier에 덜 민감.
     - RMSE(Root Mean Squared Error)
         - MSE에 루트를 씌워 단위를 원래 값과 맞춤.
     - RMSLE(Root Mean Squared Logarithmic Error)
         - 작은 값과 큰 값 간 비율 차이를 강조한다.
         - 0값도 안전하게 처리한다.
         - MSE보다 큰 값의 영향이 로그 변환으로 줄어들어, Outlier에 덜 민감.
     - R2R^2(Coefficient of Determination)
         - 전체 분산 대비 모델이 설명하는 비율을 직관적으로 보여줌.
         - 다른 회귀 모델끼리 설명력 비교에 유용.
         - 비선형 모델이나 편향/분산 균형을 평가하기엔 부적합할 수 있다.

분류(Classification)에서 주로 쓰이는 손실 함수

     - Binary Cross-Entropy(Log Loss)
         - 이진 분류의 확률적 예측에 표준적으로 이용.
     - Categorical Cross-Entropy
         - 다중 클래스 분류에서 정답 클래스의 확률에 로그를 씌워 평균.

등등

손실 함수 최적화하는 방법

경사하강법(Gradient Descent)등을 사용한다.
손실 함수의 기울기(Gradient)를 계산하여, 기울기의 반대 방향으로 모델의 가중치를 업데이트하는 방식으로 동작한다.

경사하강법(Gradient Descent)

  • 손실 함수의 기울기(gradient)를 이용하여 모델의 파라미터를 업데이트하는 방법이다.
  • 기울기는 손실 함수를 각 파라미터로 편미분하여 계산한다.
  • 파라미터를 기울기의 반대 방향으로 일정 크기(학습률)만큼 업데이트한다.

🤔 왜 중요한가❓

  • 모델 학습의 나침반 역할을 해주는 셈이다.
  • 모델의 실제값과 예측값 간 오차를 나타낸다. (모델의 성능)
  • 손실 값이 작으면 "잘 맞추고 있다"
  • 서로 다른 모델, 하이퍼파라미터 설정 간 성능을 공정하게 비교하려면 동일한 손실 함수 지표로 평가해야 객관적이다.
  • 과도하게 복잡한 모델일 때 손실 함수에 정규화 항(ex] L1/L2 패널티)을 추가해 과적합을 방지할 수 있다.

출처
modulabs
modulabs
wikidocs

profile
개발자

0개의 댓글