Log loss, 또는 로그 손실은 분류란?

2023.04.09 16:45 3,454 조회

Log loss, 또는 로그 손실은 분류 문제에서 모델의 성능을 평가하는 데 사용되는 손실 함수입니다.

로그 손실은 모델이 예측한 확률 분포와 실제 레이블의 확률 분포 간의 차이를 측정합니다. 이 값이 작을수록 모델의 성능이 좋다고 판단합니다.

Log loss는 다음과 같은 공식으로 계산됩니다.

log loss

여기서 N은 샘플 수, $y_i$는 i번째 샘플의 실제 레이블, $p_i$는 i번째 샘플에 대한 모델의 예측 확률입니다.

다음은 로그 손실을 계산하는 간단한 Python 코드 예제입니다.


import numpy as np

def log_loss(y_true, y_pred):
  assert len(y_true) == len(y_pred), "Lengths of true labels and predicted probabilities must be equal."
  n_samples = len(y_true)
  log_loss_value = -np.sum(y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred)) / n_samples
  return log_loss_value

# 샘플 데이터
y_true = np.array([1, 0, 1, 1, 0, 1])
y_pred = np.array([0.9, 0.1, 0.8, 0.7, 0.2, 0.6])

# 로그 손실 계산
loss_value = log_loss(y_true, y_pred)
print("Log loss:", loss_value)


이 코드에서 log_loss 함수는 실제 레이블과 예측 확률을 인자로 받아 로그 손실을 계산합니다.

이 예제에서는 이진 분류 문제를 가정하고 있으며, 로그 손실 값이 출력됩니다.

학생들이 로그 손실을 이해하고 사용하는 방법을 배우면, 분류 문제에서 모델의 성능을 평가하고 개선하는 데 도움이 됩니다.

또한, 다양한 손실 함수와 평가 지표에 대한 이해를 기반으로, 더 복잡한 인공지능 문제에 대처할 수 있는 능력을 키울 수 있습니다.

이러한 이해를 바탕으로 학생들은 인공지능 분야에서 더 많은 성과를 이룰 수 있을 것입니다.