로그 손실(교차 엔트로피) 계산기 쉽게 이해하기 — 개념과 원리
로그 손실은 이진 교차 엔트로피라고도 하며, 확률 예측을 채점하는 지표입니다. 실제로 일어난 결과에 높은 확률을 준 모델은 좋은 점수를 받고, 자신 있게 틀린 예측은 매우 큰 벌점을 받습니다. 대부분의 분류 모델이 학습할 때 최소화하는 손실 함수이며, 예측 평가와 데이터 분석 경진대회에서도 표준 지표로 쓰입니다. 같은 예측에 대해 제곱 오차 방식의 브라이어 점수도 함께 계산합니다.
계산 방법
- 로그 손실 = −(1/n) Σ [ yᵢ ln pᵢ + (1 − yᵢ) ln(1 − pᵢ) ] (자연로그 사용)
- 브라이어 점수 = (1/n) Σ (pᵢ − yᵢ)²
pᵢ는 표본 i가 클래스 1일 예측 확률, yᵢ는 실제 정답(1 또는 0)입니다. 정답이 1이면 −ln p만, 0이면 −ln(1 − p)만 남습니다. 확률이 정확히 0이나 1일 때 손실이 무한대가 되지 않도록 10⁻¹⁵ ~ 1 − 10⁻¹⁵ 범위로 잘라서 계산합니다.
원리
로그 손실은 모델이 관측된 정답에 부여한 로그 가능도의 평균에 음수를 붙인 값입니다. 따라서 이를 최소화하는 것은 최대 가능도 추정과 같고, 정보 이론으로 보면 결과가 얼마나 놀라웠는지를 내트 단위로 잰 것입니다. 또한 엄밀한 적정 점수 규칙이어서, 자신이 실제로 믿는 확률을 그대로 내놓을 때만 기대 점수가 가장 좋아집니다. 정답에 준 확률이 0에 가까워질수록 로그 때문에 벌점이 급격히 커집니다.
예제 풀이
- (예측 확률, 정답) 쌍은 (0.9, 1), (0.2, 0), (0.7, 1), (0.4, 0)입니다.
- 표본별 손실은 −ln 0.9 = 0.1054, −ln 0.8 = 0.2231, −ln 0.7 = 0.3567, −ln 0.6 = 0.5108입니다.
- 평균은 1.1960 ÷ 4 = 0.2990입니다.
- 브라이어 점수는 (0.1² + 0.2² + 0.3² + 0.4²) ÷ 4 = 0.30 ÷ 4 = 0.075입니다.
결과 해석
값이 작을수록 좋고 0이 완벽한 예측입니다. 언제나 0.5라고 예측했을 때의 값이 좋은 기준선으로, 로그 손실은 ln 2 ≈ 0.693, 브라이어 점수는 0.25입니다. 이보다 크면 동전 던지기보다 못한 셈입니다. 클래스가 불균형하면 항상 기저 비율로 예측했을 때의 값과 비교하시기 바랍니다. 실제로 일어난 사건에 0.01을 준 예측 하나만으로도 약 4.6의 손실이 생겨 평균을 좌우할 수 있습니다.
흔한 실수
- 클래스 1의 확률이 아니라 예측한 클래스의 확률을 넣는 경우
- 밑이 2인 로그로 계산한 값과 자연로그 값을 비교하는 경우
- 채점 전에 확률을 0이나 1로 반올림하는 경우
자주 묻는 질문
로그 손실과 교차 엔트로피는 다른 것인가요?
이진 분류에서는 같은 값입니다. 교차 엔트로피는 클래스 수에 상관없이 쓰는 일반적인 이름입니다.
로그 손실과 브라이어 점수 중 무엇을 써야 하나요?
로그 손실은 과신한 오류를 더 강하게 벌하고, 브라이어 점수는 0~1 범위라 설명하기 쉽습니다. 둘 다 보고하는 경우가 많습니다.
로그 손실이 1보다 클 수도 있나요?
네. 상한이 없어서 자신 있게 틀린 예측이 있으면 쉽게 1을 넘습니다.
출처: G. W. Brier, Verification of forecasts expressed in terms of probability, Monthly Weather Review, 1950 · T. Gneiting and A. E. Raftery, Strictly proper scoring rules, prediction, and estimation, Journal of the American Statistical Association, 2007