쿨백-라이블러 발산(KL) - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

쿨백-라이블러 발산(KL)

쿨백-라이블러 발산(Kullback-Leibler, KL)은 패싯 a의 관찰된 레이블 분포인 Pa(y)가 패싯 d의 분포 Pd(y)와 얼마나 다른지를 측정합니다. 이는 Pd(y)에 대한 Pa(y)의 상대 엔트로피라고도 하며, Pa(y)에서 Pd(y)로 이동할 때 손실되는 정보의 양을 정량화하는 역할을 합니다.

쿨백-라이블러 발산의 공식은 다음과 같습니다.

        KL(Pa || Pd) = ∑yPa(y)*log[Pa(y)/Pd(y)]

이는 확률 Pa(y)와 Pd(y)사이의 로그 차이에 대한 기대치를 의미하며, 여기서의 기대치는 확률 Pa(y)에 의해 가중치가 부여됩니다. 이 거리는 비대칭이고 삼각 부등식을 만족하지 않기 때문에 해당 분포 간의 실제 거리로 간주되지 않습니다. 해당 구현에서는 자연 로그를 사용하여 KL을 nats 단위로 계산됩니다. 다른 로그 베이스를 사용하면 비례적인 결과가 나오지만, 단위는 달라집니다. 예를 들어, 베이스 2를 사용하면 KL은 비트 단위로 계산됩니다.

예를 들어, 대출 신청자 그룹의 승인률은 30%(패싯 d)이고 다른 신청자 그룹의 승인률(패싯 a)은 80%라고 가정해 보겠습니다. 쿨백-라이블러 공식은 패싯 a와 패싯 d의 레이블 분포 차이를 다음과 같이 계산합니다.

        KL = 0.8*ln(0.8/0.3) + 0.2*ln(0.2/0.7) = 0.53

이 예제에서는 레이블이 바이너리이기 때문에 공식에는 두 개의 항이 존재합니다. 이 측정값은 바이너리 레이블 외에도 여러 레이블에 적용할 수 있습니다. 예를 들어 대학 입시 시나리오에서 지원자에게 yi = {y0, y1, y2} = {rejected, waitlisted, accepted}라는 세 가지 범주 레이블 중 하나를 할당할 수 있다고 가정해 보겠습니다.

바이너리, 멀티카테고리 및 연속형 결과에 대한 KL 지표의 값 범위는 [0, +∞)입니다.

  • 값이 0에 가까울수록 결과가 여러 패싯에서 비슷하게 분포되어 있음을 의미합니다.

  • 양수 값은 레이블 분포가 서로 발산된다는 것을 의미하며, 양수 값이 커질수록 발산의 정도도 커집니다.