교차엔트로피
1. 정보와 엔트로피
- 정보이론에서 정보(information)는 불확실한 정도(uncertainty)를 측정하는 양의 표현(quantitative representation)으로 정의된다. 즉, 일어날 가능성이 불확실한 사건일수록 그 사건이 실제로 일어났음을 전하는 정보는 더 정보량이 많은 것(informative)으로 볼 수 있다. 이러한 정의를 따라, 사건 \(A\)의 정보량 \(i(A)\) 는 \(-log P(A)\), 즉 사건 \(A\)가 실제 일어날 확률의 역수에 로그를 취한 값으로 정의된다.
-
사건 \(A\)가 실제 일어날 확률이 높다면 사건 \(A\)의 정보의 크기는 작고, 반대로 사건 \(A\)가 실제 일어날 확률이 낮다면 사건 \(A\)의 정보의 크기는 크다.
-
사건 \(A\)와 사건 \(B\)가 서로 독립이라면, 두 사건이 동시에 일어날 때의 정보량 \(i(A \cap B) = i(A) + i(B)\) 이다.
- \(X\)라 하는 어떤 계가 \(K\)개의 사건으로 이루어져 있는데, 이 \(K\)개의 사건은 다시 \(n\)가지 사건 유형 \(A_i\)로 이루어져 각 사건 유형이 일어날 비율이 \(P(A_i)\), 각 사건의 정보량이 \(i(A_i)\)라 하자. (단, \(i=1, \cdots, n\)) 이때 이 계의 엔트로피 \(H(X)\)는 이 계의 정보량의 평균, 즉 \(\sum_{i=1}^n P(A_i) i(A_i)\)로 정의된다.
-
예를 들어 어떤 계에 100개의 글자가 등장하는데, 각 글자는 다시 A, B, C, D 네 문자 중 어느 하나라 하고 각 문자의 등장 빈도는 모두 같다고 하자. 이 경우 이 계의 엔트로피 \(H(X) = - 4 \cdot {1 \over 4} log {1 \over 4} = 2\) 이다.
-
그 계가 반드시 한 가지 사건 유형만 일어나는 경우에 엔트로피가 최솟값을 갖는다. 이 경우 \(K=n=1\)이고, 이때의 \(H(X) = -1 \cdot log 1 = 0 \)이다.
-
그 계에 일어나는 사건 유형이 전부 다 다른 경우에 엔트로피가 최댓값을 갖는다. 이 경우 \(K=n\)이고, 이때의 \(H(X) = -K \cdot {1 \over K} log{1 \over K} = log K\)이다.
2. 교차 엔트로피
- 두 확률분포의 유사도를 측정하기 위한 지표로서 교차 엔트로피(cross entropy)라는 개념이 사용된다. 예를 들어 어떤 확률분포가 \(n\)가지 사건 유형 \(A_i\)로 이루어져 그 확률분포에서 각 사건 유형이 일어날 비율 \(P(X)\)를 알고 있고, 한편으로 또 다른 어떤 확률분포도 마찬가지로 \(n\)가지 사건 유형 \(A_i\)로 이루어져 또 그 확률분포에서 각 사건 유형이 일어날 비율 \(Q(X)\)를 알고 있다 하자(단, \(i=1, \cdots, n\)). 이때 \(P\)에 대한 \(Q\)의 교차 엔트로피 \(H(P, Q) = \sum_{i=1}^n P(X) i_{Q} (X) \)로 정의된다.
- 두 계가 동일하다면 \(H(P, Q) = H(P) \)가 되고, 달라진다면 \(H(P, Q) > H(P) \) 가 된다.
- 위 식에서 \( \sum_{i=1}^n P(X) log { P(X) \over Q(X)}\) 부분만을 떼어서 특별히 ‘KL(Kullback-Leibler) 발산’이라 한다. 교차 엔트로피에서 두 확률분포의 차이에 관한 부분만 따로 떼서 정리한 식이다.
3. 분류문제와 손실함수
- 특정 입력에 대하여 결과로서 기대된 확률분포함수가 \(P(X)\)라 하고 기계학습 알고리즘의 결과로서 얻은 확률분포함수가 \(Q(X)\)라 할 때, 이 둘 사이의 유사도를 측정할 지표가 필요하다. 흔히 제시되는 손실함수로 ‘제곱합’이 있는데, 정의는 직관적이지만 기계학습에서 사용할 때에는 학습 속도가 매우 느리다는 단점이 있다. 손실함수로 교차 엔트로피를 사용하면 제곱합에 비해 기계학습에서 학습 속도가 빠르다는 장점이 있다.