정보이론 information thoery 에서 entropy는 불확실성을 수치화 한 값이고, cross entropy 는 두 확률 분포의 차이를 계산한다. 이에 대해 자세히 알아본다
정보이론
정보이론은 정보의 양을 어떻게 측정하고 전송하는지를 다루는 분야이다. 정보이론에서는 불확실성을 수치화하기 위해 엔트로피(Entropy)를 사용한다.
Entropy
Entropy는 불확실성을 나타내는 값으로, 정보의 불확실성 정도를 나타내는 지표이다. 정보 엔트로피는 열역학에서 정의된 엔트로피를 개념적으로 확장한 것이다. 엔트로피는 확률 분포에서 얻은 정보량을 평균한 값으로 계산된다. 엔트로피가 낮을 수록 많은 정보가 주어진 것이다.
엔트로피는 최적의 전략 하에 정답을 맞추기 위해 필요한 질문 개수라고 표현되기도 한다. 엔트로피가 높다면 불확실성이 높은 것이기 때문에 정답을 맞추기 위한 질문이 많을 것이고, 엔트로피가 낮다면 불확실성이 낮은 것이기 때문에 정답을 맞추기 위한 질문이 적을 것이다.
예시 1) X는 0 혹은 1인데, X=0일 확률이 p이고 X=1일 확률이 1-p
•
p=0 혹은 p=1
◦
무조건 하나의 경우만 나오므로 불확실성이 사라진다.
◦
◦
확률분포가 delta function인 경우라고 할 수 있다.
•
p = 0.5
◦
한 번의 질문으로 정답을 맞출 수 있다.
◦
엔트로피의 bit 표현에 대하여..
두 가지 이상의 사건을 다루는 무작위 변수 X에 대한 엔트로피는 다음과 같이 일반화된다.
확률을 뜻하는 항과 정보량을 뜻하는 항의 곱이 더해지므로 기댓값으로 정의가 된다.
예시 2) 1이상 16이하의 자연수 중 하나를 선택. 무엇인지 맞추는 경우의 수. 각 숫자에 대한 확률은 1/16으로 같다.
•
이 문제는 binary search 방식으로 번의 질문으로 답을 맞추는 것이 최적의 전략
•
•
불확실성 해소를 위해 평균적으로 4번의 질문이 필요하다.
는 사건 x가 일어난 경우 얻는 정보량으로 해석될 수 있다.
예시 3) 주사위 던지기
•
짝수의 눈이 나오는 사건의 정보량 =
•
4의 눈이 나오는 사건의 정보량 =
•
1이상 6이하의 눈이 나오는 사건의 정보량
•
확률이 높다 → 특별하지 않은 사건이다 → 발생해도 얻게되는 정보가 적다
•
확률이 낮다 → 희귀한 사건이다 → 발생하면 얻게되는 정보가 크다
⇒ 엔트로피는 확률 분포의 불확실성이자 모든 사건에 대한 정보량의 기댓값, 평균 정보량
머신러닝에서는 보통 보다는 자연로그 을 더 많이 사용하는데, entropy 크기 비교에 전혀 문제가 없고 미분 연산 등에 유리하다.
Cross Entropy
동일 event space의 두 분포 P와 Q 사이 교차 엔트로피는 이다. 더 쉽게 알아보자.
•
현재 데이터의 분포가 P(X)이면 P(X)를 근사화할 수 있는 새로운 분포 Q(X)를 이용해 엔트로피를 구하면?
•
엔트로피 = 정보량의 기댓값 이었기 때문에 정보량을 Q(X)로, 이 때의 확률 분포는 P(X)로 표현하면
Cross entropy는 두 확률 분포의 차이를 계산한다. Cross entropy는 원래 분포와 예측 분포 간의 차이를 나타내는 값이며, 모델이 얼마나 정확한지를 나타내는 지표이다. Cross entropy가 작을수록 모델의 예측이 원래 분포와 일치한다는 것을 의미한다.
즉 머신러닝에서 cross entropy를 loss function으로 사용하는 것은 머신러닝 모델의 예측값으로 형성되는 확률분포가 실제 데이터의 확률분포와 유사하도록 만드는 것이다.
일반적으로 이기 때문에 두 항의 차이를 분포 사이의 거리처럼 사용하기도 한다 ⇒ KL divergence
KL divergence
KL divergence의 식은 다음과 같다.
•
이는 통신의 관점에서 P(X)대신 Q(X)를 사용해 symbol을 인코딩하면 몇 비트의 낭비가 발생하는지 나타낼 수 있다고 해석한다.
•
이를 통해서도 두 확률분포의 차이를 측정할 수 있다.
•
이면
•
•
Maximum log-likelihood
Likelihood : 데이터가 특정 분포로부터 만들어졌을(generate) 확률.
log likelihood : 미분이 쉽도록 log를 취하고 그 값이 최소가 되도록 하는 것이 maximum likelihood가 되도록 -를 취함 →
P가 실제 데이터분포이고 가 우리가 모델링하는 머신러닝 모델이라고 하면 의 최소화는 모델의 log-likelihood를 최대화 하는 것이라고 할 수 있다.
식으로 살펴보겠다.
: 실제 파라미터 를 가진 실제 데이터 분포
: trainable parameter set 를 가진 우리가 만들고자 하는 모델
두 분포의 KL divergence 식을 정리하면
-(실제 데이터의 엔트로피) + (교차 엔트로피)로 정리된다. 그러나 실제 데이터의 분포는 학습과는 무관하기 때문에 실제 학습시 최소화 시키는 것은 교차엔트로피(cross entropy)부분이 된다.
큰 수의 법칙 적용으로 단순화하면
이 식은 결국 negative log-likelihood가 된다.
⇒ 따라서 cross entropy를 최소화해 실제 분포와 모델의 분포 차이 최소화 = negative log-likelihood 최소화 = likelihood 최대화 ⇒ maximum likelihood estimation
Mutual information
mutual information은 두 개 이상의 확률 변수가 서로 얼마나 의존적인지(dependent)를 측정하는 지표이다. mutual information은 두 변수 간의 상호 의존성이 얼마나 큰지를 나타내며, 이 값이 클수록 두 변수 간의 의존성이 크다는 것을 의미합니다. mutual information은 다음과 같은 수식으로 나타낼 수 있다.
여기서 X와 Y는 확률 변수를 나타내며, 는 X와 Y가 동시에 일어날 확률, 와 는 각각 X와 Y가 일어날 확률을 나타낸다.
이는 X, Y가 독립적이지 않은 경우 확률 곱(X와 Y가 독립일 때의 결합확률분포)과 결합 확률 분포 간의 차이를 KL divergence로 측정한 것이다.
즉, independent할 때와의 차이를 연산하므로 dependent할수록 값이 커진다.. independent한 경우 0의 값을 가진다.
[참고자료]