교차엔트로피(cross entropy)
두 확률분포 \(p,q\)의 교차엔트로피 \(H[p,q]\)의
교차엔트로피는 확률분포 를 인수로
엔트로피, 결합엔트로피, 조건부엔트로피는 확률변수 를 인수로
\(q\)가 \(p\)(기준)를 얼마나 닮았는지를 나타낸다(유사도와는 다름)
교차엔트로피는 분류모형의 성능을 측정하는데 사용된다.
이진분류문제를 예로들면
- \(p\)는 \(X\)값이 정해졌을 때 정답인 \(Y\)의 확률분포다. 따라서 p는
- 정답이 \(Y = 1\)일때, \[p(Y=0) = 0, p(y=1)=1\]
- 정답이 \(Y = 0\)일때, \[p(Y=0) = 1, p(y=1)=0\]
- \(p\)는 \(X\)값이 정해졌을 때 정답인 \(Y\)의 확률분포다. 따라서 p는
따라서 분포 \(q\)는 \(X\)값이 정해졌을때 예측값의 확률분포다. 모수가 \(\mu\)인 베르누이분포라고 가정하면 \[ q(Y=0) =1 - \mu, q(Y=1) = \mu\]
확률분포 \(p\)와 \(q\)의 교차엔트로피는
정답이 \(Y = 1\)일 때, \[H[p,q] = -p(Y=0)log_2q(y=0) -p(Y=1)log_2q(y=1) = -log_2\mu\]
정답이 \(Y = 0\)일 때, \[H[p,q] = -p(Y=0)log_2q(y=0) -p(Y=1)log_2q(y=1) = -log_2(1-\mu)\]
이 값은 분류성능이 좋을수록 작아지고, 분류성능이 나쁠수록 커진다.
- \(Y=1\)일 때는 \(\mu\)가 작아질수록 즉, 예측이 틀릴수록 \(-log_2\mu\)의 값이 커진다
- \(Y=0\)일 때는 \(\mu\)가 작아질수록 즉, 예측이 틀릴수록 \(-log_2(1 - \mu)\)의 값이 커진다
교차엔트로피값은 예측의 틀린 정도를 나타내는 오차함수의 역할을 할수 있다.
로그 손실 : \(N\)개의 학습데이터 전체에 대해 교차 엔트로피의 평균을 구하면 \[\text{log loss} = - {1\over 1}\sum_{i=1}^{N}(y_ilog_2\mu_i + (1 - y_i)log_2(1-\mu_i))\]
카테고리 로그손실 : 다중분류문제의 교차엔트로피의 손실함수 \[\text{categorical log loss} = -{1\over N}\sum_{i=1}^{N}\sum_{k=1}^{K}(\mathbb{I}(y_i = k)log_2p(y_i=k))\]
- 위 식에서 \(\mathbb{I}(y_i = k)\)는 \(y_i\)가 \(k\)인 경우에만 1인 지시함수
- \(p(y_i=k)\)는 \(y_i = k\)일 확률이다
쿨벡-라이블러 발산
두 확률분포 \(p(y),q(y)\)의 분포모양이 얼마나 다른지를 숫자로 계산한 값 이다.
이산확률분포에 대해서는 \[ \begin{aligned} KL(p||q) &= H[p,q] - H[p] \\ &= \sum_{i=1}^{K} p(y_i) \log_2 \left(\dfrac{p(y_i)}{q(y_i)}\right) \end{aligned} \]
연속확률분포에 대해서는 \[\begin{aligned} KL(p||q) & = H[p,q] - H[p] \\ & = \int p(y) \log_2 \left(p(y)\over q(y)\right) \end{aligned}\]
쿨백-라이블러 발산은 교차엔트로피에서 기준이 되는 \(p\)분포의 엔트로피 값을 뺀 값이므로 상대엔트로피라고도 한다. 값은 항상 양수이며 두 확률분포가 완전히 같은 경우에만 0이된다.
쿨백-라이블러 발산은 거리가 아니라 두 확률분포가 얼마나 다른지를 나타내는 값이므로. 두 확률분포의 위치가 달라지면 일반적으로 값이 달라진다.