미누에요
[Deep Learnig] Loss Function(손실함수), Binary Cross-Entropy Loss(Log Loss), Categorical Cross-Entropy Loss 본문
[Deep Learnig] Loss Function(손실함수), Binary Cross-Entropy Loss(Log Loss), Categorical Cross-Entropy Loss
미누라니까요 2025. 1. 2. 12:53Loss Function(손실 함수)
머신러닝/딥러닝에서는 모델을 학습시킬 때, 손실함수 라는 것을 사용한다.
손실함수는 말 그대로 Loss값들을 함수로 나타낸 것이며, "손실" 이므로 이 Loss Function이 작을수록 대체로 좋은 모델이다.
머신러닝/딥러닝에서는 성능을 올리기 위해 이러한 Loss Function의 최솟값을 찾게 되는데, 그 과정을 최적화(Optimization)이라 한다.
최적화(Optimization)에 대한 내용은 추후에 포스팅하도록 하겠다.
회귀(Regression) 에서의 손실 함수(Loss Function)
위 사진처럼 데이터가 점으로 분포하고, 그에 따라 회귀 모델을 통해 예측한 값이 선으로 표시되어있다.
이러한 회귀식에서는 Loss Function을 실제 값(점)과 예측한 값(선)의 거리를 이용하여 여러 방식으로 계산하곤 한다.
분류(Classification)에서의 손실 함수(Loss Function)
분류 문제에서의 손실 함수도 다양한 손실함수가 존재하지만 간략하게 두 개만 소개하도록 하겠다.
Binary cross-entropy Loss(log loss)

위 식을 보면 어렵지만 Binary cross-entropy Loss는 생각보다 그렇게 어렵지 않다.
예를 들어, 스팸메일인지를 분류하는 이진 분류 문제를 보자.
실제로 스팸메일인 경우(1), 모델이 스팸메일이라고 예측할 확률이 90%이고,
실제로 스팸메일이 아닌 경우(0), 모델이 스팸메일이라고 예측할 확률 20%이라고 하자.
각 상황에 따라 계산을 수행하게 된다.


마지막으로 이 두 값을 평균낸다면 약 0.164라는 값이 나오고, 이는 굉장히 작은 값이다.
이로써 Binary Cross-Entropy Loss의 값이 작으므로, 이 모델의 성능이 높다고 판단할 수 있는 것이다.
이처럼 Binary Cross-Entropy Loss는 각 케이스에 대한 예측 확률을 기반으로 확률적 수식에 기반하여 계산하는 방식이다.
장점
- 이진 분류 문제에 우수
- 간단하고 직관적
단점
- 불균형 데이터에 취약
- 극단적인 예측값에서는 학습이 불안정
Categorical cross-entropy loss
Categorical Cross-Entropy Loss는 다중 클래스 분류 문제에서 사용하는 손실 함수이다.
즉, 위의 Binary Cross-Entropy Loss는 이진 분류 문제를 다룬 것이라면, 이번의 Categorical Cross-Entropy Loss는 여러 개의 클래스에 대한 분류 문제에 적용할 수 있는 손실 함수이다.
식은 위와 같고, 이것도 예를 들어 설명해보겠다.
ex) 고양이, 개, 새를 분류하는 문제
- 실제 레이블(정답) : 개([0,1,0])
- 예측값 : [0.2, 0.7, 0.1]
각 클래스에 대해 손실을 계산하고, 식에 넣어 결과값으로 0.357을 얻었다.
이 상황에서 0.357은 꽤 준수한 모델이라고 할 수 있다.
모델이 "개"라고 예측한 확률이 가장 높기에 잘 만들어진 모델이라 예측할 수 있다.
하지만 우리는 추가적으로 Categorical Cross-Entropy Loss를 계산하여 결론적으로 이 모델이 정말 잘 만들어진 모델인지 입증할 수 있게된다.
장점
- 다중 분류 문제에서 많이 사용
- 확률 기반 학습
- 직관적인 수식
단점
- 클래스 불균형에 취약
- 복잡도 증가
- 정답 레이블이 원핫 인코딩 형식이어야하기에 추가적인 전처리 필요
'AI' 카테고리의 다른 글
[Deep Learning] 텐서플로우란? (Tensorflow) (0) | 2025.01.18 |
---|---|
[Machine Learning] 경사하강법(Gradient Descent, GD) (0) | 2025.01.03 |
[Deep Learning] 다층 퍼셉트론(Multi-Layer Perceptorn), XOR 게이트 표현 (0) | 2024.12.27 |
[Deep Learning] 단층 퍼셉트론(Single-Layer Perceptron), AND gate, OR gate, XOR gate (0) | 2024.12.26 |
[Deep Learning] 딥러닝과 인공신경망(Neural Network), 퍼셉트론(Perceptron) (0) | 2024.12.24 |