엔트로피는 무질서도라고도 불리며, 불확실한 정도를 나타낸다. 엔트로피는 계가 가질 수 있는 상태의 수에 의존하며 계가 가질 수 있는 상태가 1가지 일 때 0, 즉 확실한 상태가 된다.
오늘은 엔트로피의 친구들 정보량, 엔트로피(Entropy), 결합 엔트로피(Joint Entropy), 조건부 엔트로피(Conditional Entropy), 상호 정보량(Mutual Information), Transfer Entropy들을 간단하게 정리해보려 한다.
모두 샤넌이 정의한 정보량에서 파생하는 개념으로, 얼마나 불확실한지 정량적으로 판단하는 근거를 제시한다.
정보량
N종류의 사건 (예: 맑은날, 비오는날)
사건이 발생할 확률 (예: 맑은날 90%, 비오는날 10%)
단위
bit (log의 밑이 2일 때)
nat (log의 밑이 자연상수 e)
어떤 사건의 발생 확률 p(x_i)가 낮을수록 정보량은 크고, 높을수록 정보량은 작다. log의 밑이 1보다 큰 경우 log는 단조증가 함수의 형태를 띄는데, 확률은 1보다 작기 때문에 p(x_i)가 클수록 log값은 -∞ ~ 0의 값으로 증가한다. 로그에 -가 붙어 있기 때문에 정보량은 확률이 1에 가까워질 수록 0으로, 확률이 0에 가까울 수록 무한대에 가까워진다.
샤넌은 어떤 사건이 지니고 있는 정보량을 그 사건의 발생 확률로 정의했다.
매일 맑기만 한 곳에서 맑은 날씨라는 것은 그 어떤 정보도 지니지 않는다. 날씨는 맑은 것이 당연하기 때문에. 하지만 아주 가끔 비가 온다면 그건 아주 놀라운 일일 것이다. 마치 아프리카에 내리는 눈처럼
엔트로피(Entropy)
엔트로피는 전체 상태에 대한 정보량의 기대치이다.
N개의 상태가 각각 1/N의 발생확률을 가질 때 최대가 되며, 특정 사건 i = j에서 발생확률 1, 나머지 i != j에서 발생확률 0일 경우, 즉 위의 예에서 매일같이 맑은날 밖에 없는 경우 0의 값을 가진다.
결합 엔트로피(Joint Entropy)
결합 엔트로피는 두 개의 확률변수에 대한 엔트로피다. 사건 x_i, y_j가 동시에 발생할 확률 p(x_i, y_j)을 모든 사건 i, j 에 대해 더했을 때 1이 된다.
실제 예를 들어 조금 더 생각해보자. X(t), Y(t)라는 시계열 데이터가 있다고 치자. 이 때 X(t)의 값, Y(t)의 값의 짝을 2차원 matrix로 나타내고, matrix에 전체 시계열 데이터 중 x_i, y_j가 동시에 관측될 확률을 채워 넣어보자. 그럼, 자연스레 이 matrix가 어떤 값들로 채워질지 궁금해진다.
만약 확률변수 X와 Y가 독립적인 관계라면 이 matrix에는 어떠한 상관 관계도 나타나지 않을 것이며 다음과 같은 식으로 바꿔 표현할 수 있을 것이다.
이 식을 통해, 확률 변수가 상관 관계가 없는 독립 변수일 경우, H(X) + H(Y)와 H(X, Y)에 차가 발생하는 것을 알 수 있으며, 이 차이는 확률변수 X, Y가 얼마나 관계를 지니고 있는지를 나타낸다는 것 또한 알 수 있다(상호 엔트로피).
상호 정보량(Mutual Information) & 조건부 엔트로피(Conditional Entropy)
(앞에 -를 붙이지 않은 표현)
상호 정보량는 확률변수 X와 Y의 상호의존성을 엔트로피를 이용해 정량화한 형태이다.
위에서 설명한 결합 엔트로피 H(X, Y)는 확률변수 X와 Y가 독립변수일 때 H(X)+H(Y)의 값을 가진다. 만약 확률변수 X, Y가 상호의존성을 가졌다면, 그 정도를 X와 Y가 독립변수일 때의 엔트로피와의 차이로 나타낼 수 있다.
말하자면 X, Y의 결합 엔트로피가 X와 Y가 독립변수라 가정했을 때의 엔트로피보다 얼마나 작은가, 즉, 두 확률변수 X, Y를 따로따로 보았을 때보다 같이 보았을 때 얼마나 더 불확실성이 감소하였는가를 정량화 한 것이 상호정보량이다.
정보이론 관점으로 바꿔 말하면, 두 변수를 함께 취급할 때, 따로 취급했을 때보다 상호정보량 만큼 정보를 압축할 수 있다는 의미이기도 하다.
조건부 엔트로피를 통해 조금 더 알아보자.
조건부 엔트로피(Conditional Entropy)는 다음과 같다.
조건부 엔트로피는 확률변수 Y의 값이 관측되었을 때, 확률변수 X가 발생할 확률에 대한 정보량의 기대값이다.
y_j라는 사건이 발생했을 때, x_i (i = 1,2,3...N)라는 사건이 발생할 확률을 정보량 log{p(x_i|y_j)}로 나타내고, 사건 y_j를 전재로 한 기대값을 구한다. 그리고, 전체 y_j (j=1,2,3...M)에 대한 기대 값을 구한다.
조건부 엔트로피를 이용해 상호정보량은 다음과 같이 전개할 수 있다.
2번째 줄에서 p(x_i) 대신에 p(y_i)를 빼는 식으로 전개하면 상호 정보량과 H(Y|X)와의 관계도 구할 수 있다.
상호 정보량을 종합하면 다음과 같이 표현할 수 있다.
첫째 줄은 확률변수 X, Y가 독립일 경우보다 얼마나 불확실성이 감소하였는가
둘째 줄은 확률변수 X의 불확실성이 Y를 아는 것으로 인해 얼마나 감소하였는가
셋째 줄은 확률변수 Y의 불확실성이 X를 아는 것으로 인해 얼마나 감소하였는가
를 의미한다.
Transfer Entropy
Transfer Entropy는 인과관계를 설명하기 위해 도입된 개념이다. 그래서, Transfer Entropy에서는 발생시간의 개념이 포함되어있다. 그래서 시계열 데이터 X(t), Y(t)를 필요로 한다.
확률변수 X, Y가 있는 경우, "Y에 의해 X가 발생했다"를 논하기 위해선 다음 시각(t+1)의 확률변수 X가 이전 시각(t-1, t-2..)의 Y와 상관 관계를 지녀야 할 것이다.
이를 위해 현시각에서 얼마 전 시각의 사건까지 볼 것인지 window를 정한다.
확률변수 X는 k 시각 전까지, Y는 l 시각 전까지의 사건을 본다면 각각의 사건 그룹을 다음과 같이 표현한다.
다음 시각 t+1의 X값 X(t+1)가 이전 계측값 X, Y와 의존성이 있다면, 그 확률은 다음과 같은 조건부확률로 나타낼 수 있다.
이 때, 만약 X(t+1)가 이전 계측값 Y와 관계가 없다면, 그 확률은 다음과 같을 것이다.
상호정보량과 비슷하다. 모두 한 상태가 다른상태에 비해 얼마나 정보량이 적은가를 판단하는 방식이다. Transfer Entropy는 X(t+1)의 사건에 대해 이전의 X값들이 주어졌을 때와 이전의 X, Y값이 주어졌을 때, 얼만큼 불확실성이 감소하는지를 봄으로써 인과관계를 밝힌다.
Transfer Entropy를 식으로 나타내면 다음과 같다.
윗 식은 이전까지의 X값 X_t(k)를 알았을 때의 X_t+1의 정보량(불확실성)이 Y_t(l)을 알았을 때 얼만큼 더 감소하는가를 나타낸다.
또한, Tranfer Entropy는 상호정보량과는 다르게 X->Y와 Y->X의 값이 다르다. 이를 통해 X와 Y의 인과관계의 방향성을 논할 수 있다.
'공부 > 정보과학' 카테고리의 다른 글
[확률과정] 푸아송 과정 실전편 - 발생 시간 간격의 관점에서 (0) | 2018.10.10 |
---|---|
[예제] 시계열 Data로부터 Mutual Information 구하기 (4) | 2018.08.18 |
[개념] 확률변수의 기대값, 분산, 공분산, 상관계수 (0) | 2018.07.03 |
[개념] 계층 클러스터 분석 (0) | 2018.04.11 |
[확률과정] 푸아송 과정 (13) | 2017.12.16 |
댓글