더북(TheBook)

▲ 그림 3-7 이진 분류 모델의 확률 출력을 바꾸기 위해 사용하는 계단 함수는 거의 모든 영역에서 미분 가능하다. 하지만 미분 가능한 모든 영역의 그레이디언트(도함수)는 0이다.

따라서 손실 함수로 정확도를 사용하면 유용한 그레이디언트를 계산할 수 없고 결국 모델의 가중치를 제대로 업데이트하지 못합니다. 정밀도, 재현율, FPR, AUC 같은 지표에도 동일한 제약 사항이 있습니다. 이런 지표는 사람이 이진 분류기의 행동을 이해하는 데 유용하지만, 모델 훈련 과정에는 도움이 안 됩니다.

이진 분류 작업에 사용하는 손실 함수는 피싱 감지 모델 코드(코드 3-5, 3-6)에서 'binary Crossentropy'로 설정한 이진 크로스 엔트로피(binary cross entropy)입니다. 이진 크로스 엔트로피의 알고리즘은 다음 의사 코드로 정의할 수 있습니다.

 

코드 3-8 이진 크로스 엔트로피 손실 함수의 의사 코드28

function binaryCrossentropy(truthLabel, prob):
  if truthLabel is 1:
    return -log(prob)
  else:
    return -log(1 - prob)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.