로지스틱 회귀에서는 손실함수를 선형회귀에서 사용하던 MSE대신 BCE를 사용하는 이유가 무엇일까?
Binary Cross-Entropy (BCE)
● 목적: 이진 분류 문제에서 확률을 예측하는 모델의 성능을 평가하는 데 사용된다.
● 출력 값: 0과 1 사이의 확률 값 (시그모이드 함수의 출력).
● 손실 함수: BCE는 실제 레이블(0 또는 1)과 예측 확률 간의 불일치를 측정한다. 확률 예측이 정확할수록 손실이 낮아진다.
Mean Square Error (MSE)
● 목적: 회귀 문제에서 연속적인 값의 예측 정확도를 평가하는 데 사용된다.
● 출력 값: 연속적인 값 (예측값이 실제값과 얼마나 가까운지 측정).
● 손실 함수: MSE는 예측값과 실제값 간의 차이 제곱의 평균을 측정한다. 회귀 문제에서 잘 작동하지만, 이진 분류 문제에서는 적절하지 않을 수 있다.
BCE가 MSE보다 이진 분류에 적합한 이유
손실 함수의 기울기:
- BCE는 예측 확률이 실제 레이블에 가까워지도록 모델의 가중치를 조정한다. 이 손실 함수는 시그모이드 출력에 대해 적절한 기울기를 제공한다.
- MSE는 시그모이드 함수의 출력이 0 또는 1에 가까운 경우 기울기가 매우 작아져 학습이 느려질 수 있다.
경계 효과:
- BCE는 예측 확률이 극단적인 값(0 또는 1)에 가까울 때 손실이 급격히 증가한다. 이는 모델이 확률적으로 올바른 예측을 할 수 있도록 유도한다.
- MSE는 예측값이 0 또는 1에 가까운 경우에도 기울기가 줄어들어, 모델이 극단적인 확률값을 예측하도록 유도하는 데 한계가 있다.
BCE는 이진 분류 문제에서 모델의 학습을 더 빠르고 효과적으로 수행할 수 있도록 도와준다. MSE는 이진 분류 문제에서 학습이 느려질 수 있으며, 안정적인 학습을 보장하지 않을 수 있다.
Binary Cross-Entropy의 이해
간단한 예시로 이해해보자
1. y = 1인 경우
이때 우리는 p가 1에 근접하길 원한다. p의 값이 1에 근접할 수록 Loss가 낮아진다.
모델이 p=0.9일 때: 손실 함수 값이 작다.
- 예측 확률 가 0.9로 높기 때문에, 모델이 샘플이 긍정적인 클래스로 분류할 확률이 높다.
- 손실 함수 값은: −log(0.9) ≈ 0.105
모델이 p=0.1일 때: 손실 함수 값이 크다.
- 예측 확률 가 0.1로 낮기 때문에, 모델이 샘플이 긍정적인 클래스로 분류할 확률이 낮다.
- 손실 함수 값은: −log(0.1) ≈ 2.302
미분값 또한 0에 근접할수록 급격히 커지고, 1에 근접할수록 작아진다.
2. y = 0인 경우
이때 우리는 반대로 p가 0에 근접하길 원한다. p의 값이 0에 근접할 수록 Loss가 낮아진다.
모델이 p=0.9일 때: 손실 함수 값이 크다.
- 예측 확률 가 0.9로 높기 때문에, 모델이 샘플이 긍정적인 클래스로 분류할 확률이 낮다.
- 손실 함수 값은: −log(0.1)≈2.302
모델이 p=0.1일 때: 손실 함수 값이 크다.
- 예측 확률 가 0.1로 낮기 때문에, 모델이 샘플이 긍정적인 클래스로 분류할 확률이 높다.
- 손실 함수 값은: −log(0.9) ≈ 0.105
미분값은 0에 근접할수록 작아지고, 1에 근접할수록 급격하게 진다.
'AI Tech' 카테고리의 다른 글
분류기 (Classifier) (0) | 2024.08.12 |
---|---|
머신러닝 학습의 종류 (0) | 2024.08.12 |
Binary Classification with Pytorch (0) | 2024.08.08 |
Linear Regression with Pytorch (0) | 2024.08.07 |
What is Pytorch(행렬곱)? (0) | 2024.08.07 |