엔트로피에서 크로스엔트로피까지 - (6) Mutual Information: 두 확률 변수 간의 상호 정보량
들어가며
앞서 우리는 섀넌 엔트로피, 크로스 엔트로피, KL Divergence 를 통해 정보량, 불확실성, 그리고 확률 분포 간의 차이를 정량화하는 방법을 살펴보았습니다. 이제 정보 이론의 또 다른 핵심 개념인 상호 정보량 (Mutual Information, MI) 을 탐구하며, 두 확률 변수 사이의 상호 의존성 (mutual dependence) 또는 공유 정보량 (shared information) 을 측정하는 방법을 알아보겠습니다.
Mutual Information 이란? - 변수 간의 관계성 측정
일상 생활에서 우리는 종종 변수들 사이의 관계에 주목합니다. 예를 들어, "키가 클수록 몸무게가 많이 나갈 가능성이 높다" 거나, "날씨가 더울수록 아이스크림 판매량이 증가한다" 와 같은 경험적 관계를 인지합니다. Mutual Information 은 이러한 두 확률 변수 사이의 관계 강도 를 정보 이론적으로 정량화하는 척도입니다.
1.1 직관적 이해: 서로가 서로에 대해 "알고 있는" 정보의 양
Mutual Information 의 직관적인 의미는 "두 확률 변수가 서로에 대해 얼마나 많은 정보를 공유하고 있는가?" 또는 "한 변수를 알면 다른 변수에 대해 얼마나 더 많이 알 수 있는가?" 로 표현할 수 있습니다. 두 변수가 강하게 연관되어 있을수록, Mutual Information 값은 커집니다. 반대로 두 변수가 독립적일수록, Mutual Information 값은 0에 가까워집니다.
일상적인 예시를 통해 Mutual Information 을 더 쉽게 이해해 보겠습니다.
# 예시: 날씨 (X) 와 아이스크림 판매량 (Y) 의 관계
X = ['맑음', '흐림', '비'] # 날씨 상태
Y = ['많이 팔림', '보통', '적게 팔림'] # 아이스크림 판매량
- 날씨가 '맑음' 이라는 것을 알면, 아이스크림이 '많이 팔림' 가능성이 높다는 정보를 얻을 수 있습니다.
- 반대로 아이스크림이 '적게 팔림' 이라는 것을 알면, 날씨가 '비' 일 가능성이 높다고 추측할 수 있습니다.
이처럼 한 변수의 값을 통해 다른 변수의 값을 예측하거나, 불확실성을 줄일 수 있는 정도 를 Mutual Information 은 정량적으로 나타냅니다. 날씨와 아이스크림 판매량은 양의 상관 관계를 가지므로, Mutual Information 값은 0보다 큰 값을 가질 것입니다.
1.2 정보 이론에서의 위치: 엔트로피 감소량으로 정의되는 상호 정보량
Mutual Information 은 엔트로피 개념을 확장하여 정의됩니다. 확률 변수 $X$ 와 $Y$ 의 Mutual Information $I(X;Y)$ 는 다음과 같이 조건부 엔트로피 (conditional entropy) 를 이용하여 정의할 수 있습니다.
$$
I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)
$$
이 수식은 Mutual Information 을 엔트로피 감소량 으로 해석할 수 있음을 보여줍니다.
- $H(X)$: 확률 변수 $X$ 에 대한 사전 불확실성 (prior uncertainty), 즉 $Y$ 에 대한 정보를 알기 전에 $X$ 에 대해 가지고 있는 불확실성입니다.
- $H(X|Y)$: 확률 변수 $Y$ 의 값을 알고 난 후의 $X$ 에 대한 조건부 불확실성 (conditional uncertainty), 즉 $Y$ 에 대한 정보를 얻은 후에도 여전히 남아있는 $X$ 의 불확실성입니다.
$I(X;Y) = H(X) - H(X|Y)$ 는 $Y$ 에 대한 정보를 얻음으로써 $X$ 의 불확실성이 얼마나 감소했는지 를 나타냅니다. 이 감소량은 $X$ 와 $Y$ 가 공유하는 정보량, 즉 Mutual Information 과 같습니다. 마찬가지로 $I(X;Y) = H(Y) - H(Y|X)$ 는 $X$ 에 대한 정보를 얻음으로써 $Y$ 의 불확실성이 감소한 양을 나타냅니다. Mutual Information 은 $X \rightarrow Y$ 방향과 $Y \rightarrow X$ 방향 모두에서 동일한 정보량 감소를 측정합니다.
1.3 수학적 정의와 해석: 결합 확률 분포와 주변 확률 분포의 비교
Mutual Information 의 공식적인 수학적 정의는 다음과 같습니다.
$$
I(X;Y) = \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x,y) \log_2 \frac{p(x,y)}{p(x)p(y)}
$$
여기서 $\mathcal{X}$ 와 $\mathcal{Y}$ 는 각각 확률 변수 $X$ 와 $Y$ 가 가질 수 있는 값들의 집합 (sample space) 을 나타내며, 수식의 각 요소는 다음과 같은 의미를 가집니다.
- $p(x,y)$: 결합 확률 분포 (joint probability distribution) - 확률 변수 $X$ 가 값 $x$ 를 가지고, 동시에 확률 변수 $Y$ 가 값 $y$ 를 가질 확률을 나타냅니다. $p(x,y)$ 는 $X$ 와 $Y$ 의 실제 관계 를 반영합니다.
- $p(x)p(y)$: 주변 확률 분포의 곱 (product of marginal probability distributions) - 확률 변수 $X$ 와 $Y$ 가 서로 독립 (independent) 일 때의 결합 확률 분포 를 나타냅니다. $p(x) = \sum_{y} p(x,y)$ 는 $X$ 의 주변 확률 분포, $p(y) = \sum_{x} p(x,y)$ 는 $Y$ 의 주변 확률 분포입니다. 만약 $X$ 와 $Y$ 가 독립이라면, 결합 확률 분포는 주변 확률 분포의 곱으로 분해됩니다 ($p(x,y) = p(x)p(y)$).
- $\frac{p(x,y)}{p(x)p(y)}$: 실제 결합 확률과 독립 가정 하의 결합 확률의 비율 - 이 비율은 실제 결합 확률 분포 $p(x,y)$ 가 독립 가정 하의 결합 확률 분포 $p(x)p(y)$ 와 얼마나 다른지를 나타냅니다. 만약 $X$ 와 $Y$ 가 독립이라면, $\frac{p(x,y)}{p(x)p(y)} = 1$ 이 되고, $\log_2 \frac{p(x,y)}{p(x)p(y)} = 0$ 이 됩니다. 만약 $X$ 와 $Y$ 가 강하게 연관되어 있다면, $\frac{p(x,y)}{p(x)p(y)}$ 값은 1에서 멀어지고, $\log_2 \frac{p(x,y)}{p(x)p(y)}$ 의 절댓값이 커집니다.
Mutual Information $I(X;Y)$ 는 이러한 비율의 로그 값에 결합 확률 $p(x,y)$ 를 가중 평균하여 합산한 값입니다. 이는 실제 결합 분포 $p(x,y)$ 와 독립 가정 하의 분포 $p(x)p(y)$ 사이의 "차이" 를 정보량 단위 (비트) 로 정량화 한 것입니다.
예시를 통한 이해: 상관 관계와 독립
- 완벽한 상관 관계: 만약 확률 변수 $X$ 와 $Y$ 가 완벽하게 종속되어 있다면 (예: $Y = X$), $p(x,y) = p(x) = p(y) = 0.5$ (이산 확률 변수 가정) 일 때, $I(X;Y) = 1 \text{ bit}$ 입니다. 이는 한 변수의 값을 알면 다른 변수의 값을 완전히 결정 할 수 있다는 의미입니다.
- 완전 독립: 만약 확률 변수 $X$ 와 $Y$ 가 완전히 독립이라면 ($p(x,y) = p(x)p(y)$), $I(X;Y) = 0 \text{ bits}$ 입니다. 이는 두 변수 사이에 공유하는 정보가 전혀 없다 는 의미입니다. 한 변수의 값을 알아도 다른 변수에 대한 정보를 전혀 얻을 수 없습니다.
Mutual Information vs 상관계수: 관계성 측정의 두 가지 관점
상관 계수 (correlation coefficient) 와 Mutual Information 은 모두 두 변수 사이의 관계성을 측정하는 도구이지만, 측정하는 관계의 종류와 특성 에 차이가 있습니다. 상관 계수는 주로 선형 관계 (linear relationship) 를 측정하는 데 특화되어 있으며, Mutual Information 은 선형 및 비선형 관계 (nonlinear relationship) 를 모두 포괄 하는 더 일반적인 관계성 척도입니다.
간단한 예시로 이해하기: 선형, 비선형, 원형 관계 비교
다음과 같은 세 가지 경우를 통해 상관 계수와 Mutual Information 의 차이를 명확하게 이해해 보겠습니다.
- 선형 관계 (Linear relationship):
X = [1, 2, 3, 4, 5]
Y1 = [2, 4, 6, 8, 10] # Y1 = 2X (완벽한 양의 선형 관계)
- 피어슨 상관 계수 (Pearson correlation coefficient): $\rho \approx 1.0$ (완벽한 양의 선형 상관 관계)
- Mutual Information: 높은 값 (선형 관계를 잘 포착)
- 비선형 관계 (Nonlinear relationship):
X = [1, 2, 3, 4, 5]
Y2 = [1, 4, 9, 16, 25] # Y2 = X² (2차 함수 관계, 비선형 관계)
- 피어슨 상관 계수: $\rho \approx 0.91$ (강한 양의 상관 관계이지만, 완벽한 관계임에도 1.0 이 아님)
- Mutual Information: 여전히 높은 값 (비선형 관계를 잘 포착)
- 원형 관계 (Circular relationship):
import numpy as np
angles = np.linspace(0, 2*np.pi, 100)
X = [np.cos(theta) for theta in angles]
Y3 = [np.sin(theta) for theta in angles] # 원형 관계 (비선형, 주기적 관계)
- 피어슨 상관 계수: $\rho \approx 0.0$ (거의 0에 가까운 값, 관계가 없다고 잘못 판단)
- Mutual Information: 높은 값 (원형 관계, 즉 비선형 관계를 잘 포착)
주요 차이점 비교: 관계 종류, 값 범위, 방향성
특징 | 상관 계수 (Pearson) | Mutual Information (MI) |
---|---|---|
관계 종류 | 선형 관계 (Linear) 만 포착 | 선형 및 비선형 (Nonlinear) 관계 모두 포착 |
값 범위 | -1 (음의 선형 관계) ~ +1 (양의 선형 관계) | 0 (독립) ~ $\infty$ (종속), 보통 정규화하여 0~1 사용 |
방향성 | 양의 관계, 음의 관계 구분 | 관계의 존재 여부만 측정 (방향 구분 X) |
해석 | 선형 관계 강도 및 방향 | 변수 간 공유 정보량, 관계 강도 |
계산 복잡도 | 상대적으로 낮음 | 상대적으로 높음 |
시각화를 통한 이해: 관계 유형별 상관 계수 vs. Mutual Information
관계 유형 데이터 분포 시각화 상관 계수 (ρ) Mutual Information (MI)
---------------------------------------------------------------------
선형 관계 *
*
*
* ρ ≈ 1.0 MI: 高
---------------------------------------------------------------------
비선형 관계 *
*
*
* ρ ≈ 0.91 MI: 高
---------------------------------------------------------------------
원형 관계 * * *
* *
* *
* * ρ ≈ 0.0 MI: 高
---------------------------------------------------------------------
독립 * * *
* * *
* * *
* * * ρ ≈ 0.0 MI: 0
위 그림에서 볼 수 있듯이, 상관 계수는 선형 관계를 잘 포착하지만, 비선형 관계나 복잡한 관계에서는 관계성을 제대로 측정하지 못할 수 있습니다. 반면 Mutual Information 은 선형 관계뿐만 아니라 비선형 관계, 주기적 관계 등 다양한 형태의 관계 를 포착할 수 있으며, 변수 간의 일반적인 의존성 을 측정하는 데 더 적합합니다.
언제 무엇을 사용해야 할까? 분석 목적에 따른 선택
- 상관 계수 (Correlation Coefficient) 를 사용하는 경우:
- 두 변수 사이의 선형 관계 에만 관심이 있을 때
- 관계의 방향 (양의 관계/음의 관계) 이 중요한 경우
- 계산이 간단 하고 빠르게 관계성을 파악하고 싶을 때
- Mutual Information (MI) 를 사용하는 경우:
- 두 변수 사이의 비선형 관계, 복잡한 관계 를 포함하여 일반적인 관계성 을 파악하고 싶을 때
- 관계의 강도 만 중요하고, 관계의 방향은 중요하지 않은 경우
- 데이터의 일반적인 패턴 이나 의존성 구조 를 탐색하고 싶을 때
실제 응용 예시: 주식 시장 분석, 생체 신호 분석
- 주식 시장 분석:
- 상관 계수: 두 주식 가격 변동의 선형적인 동조성 (주가가 함께 오르거나 내리는 경향) 을 파악하는 데 유용합니다. 예를 들어, 같은 산업 분야의 주식은 높은 양의 상관 관계를 가질 수 있습니다.
- Mutual Information: 주식 가격 변동의 비선형적인 연관성, 복잡한 거래 패턴의 연관성 을 파악하는 데 유용합니다. 예를 들어, 특정 경제 지표 변화와 특정 주식 거래량 변화 사이의 비선형적인 관계를 분석할 수 있습니다.
- 생체 신호 분석:
- 상관 계수: 심박수와 혈압과 같이 생리적으로 직접적인 관계 가 있는 생체 신호 간의 선형적인 관계를 파악하는 데 유용합니다.
- Mutual Information: 뇌파 신호 (EEG), 근전도 신호 (EMG) 와 같이 복잡한 상호 작용 을 하는 생체 신호 간의 비선형적인 관계, 정보 흐름, 네트워크 구조 등을 분석하는 데 유용합니다.
결론적으로, Mutual Information 은 상관 계수의 한계를 보완하는 더 일반적인 관계성 측정 도구입니다. 하지만 계산 복잡도가 높고, 해석이 다소 어려울 수 있다는 단점도 있습니다. 따라서 분석의 목적, 데이터의 특성, 그리고 필요한 정보의 종류를 고려하여 적절한 관계성 측정 도구를 선택하는 것이 중요합니다.
Mutual Information 심층 분석: 수학적 표현, 엔트로피 및 KL Divergence 와의 관계
1. Mutual Information 의 다양한 표현 방식: 수식의 심층적 이해
Mutual Information 은 여러 가지 동등한 형태로 표현될 수 있으며, 각 표현 방식은 Mutual Information 의 다양한 측면을 조명합니다.
1.1 기본 정의: 결합 확률 분포와 주변 확률 분포의 비율
Mutual Information 의 기본 정의는 다음과 같습니다.
$$
I(X;Y) = \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x,y) \log_2 \frac{p(x,y)}{p(x)p(y)}
$$
이 수식은 실제 결합 확률 분포 $p(x,y)$ 와 독립 가정 하의 결합 확률 분포 $p(x)p(y)$ 의 비율 에 대한 기댓값으로 Mutual Information 을 정의합니다. 로그 함수 내부의 비율 $\frac{p(x,y)}{p(x)p(y)}$ 는 각 $(x, y)$ 쌍에 대해 두 분포의 차이를 측정하며, 결합 확률 $p(x,y)$ 는 이러한 차이에 대한 가중치를 부여합니다.
- 로그 함수 $\log_2$: 정보량의 단위를 비트 (bit) 로 표현하고, 정보량의 가산성을 확보합니다.
- 비율 $\frac{p(x,y)}{p(x)p(y)}$: $X$ 와 $Y$ 가 독립일 때 1이 되고, 종속성이 강할수록 1에서 멀어지는 값입니다.
- 결합 확률 $p(x,y)$: 각 $(x, y)$ 쌍이 얼마나 자주 발생하는지를 나타내는 가중치입니다. 자주 발생하는 쌍의 정보량 차이에 더 큰 가중치를 부여합니다.
- 합 $\sum_{x} \sum_{y}$: 모든 가능한 $(x, y)$ 쌍에 대한 정보량 차이를 평균화하여 전체적인 상호 정보량을 계산합니다.
1.2 엔트로피를 이용한 표현: 불확실성 감소량으로서의 Mutual Information
Mutual Information 은 엔트로피와 조건부 엔트로피를 이용하여 다음과 같이 표현될 수도 있습니다.
$$
I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = H(X) + H(Y) - H(X,Y)
$$
이 표현은 Mutual Information 을 불확실성 감소량 으로 해석할 수 있음을 명확하게 보여줍니다.
- $I(X;Y) = H(X) - H(X|Y)$: $Y$ 에 대한 정보를 알기 전의 $X$ 의 불확실성 $H(X)$ 에서, $Y$ 에 대한 정보를 알고 난 후의 $X$ 의 불확실성 $H(X|Y)$ 를 뺀 값입니다. 이는 $Y$ 에 대한 정보를 통해 $X$ 의 불확실성이 얼마나 감소했는지를 나타냅니다.
- $I(X;Y) = H(Y) - H(Y|X)$: 마찬가지로, $X$ 에 대한 정보를 알기 전의 $Y$ 의 불확실성 $H(Y)$ 에서, $X$ 에 대한 정보를 알고 난 후의 $Y$ 의 불확실성 $H(Y|X)$ 를 뺀 값입니다. 이는 $X$ 에 대한 정보를 통해 $Y$ 의 불확실성이 얼마나 감소했는지를 나타냅니다.
- $I(X;Y) = H(X) + H(Y) - H(X,Y)$: 이 표현은 Mutual Information 을 결합 엔트로피 $H(X,Y)$ 와 개별 엔트로피 $H(X), H(Y)$ 의 관계 로 나타냅니다. 결합 엔트로피는 $X$ 와 $Y$ 를 함께 고려했을 때의 불확실성을 나타내며, 개별 엔트로피의 합 $H(X) + H(Y)$ 는 $X$ 와 $Y$ 를 독립적으로 고려했을 때의 불확실성의 합을 나타냅니다. $I(X;Y)$ 는 두 불확실성의 차이, 즉 $X$ 와 $Y$ 가 함께 있을 때 줄어드는 불확실성의 양을 의미합니다.
1.3 KL Divergence 를 이용한 표현: 분포 간의 거리로서의 Mutual Information
Mutual Information 은 KL Divergence 를 이용하여 다음과 같이 표현될 수도 있습니다.
$$
I(X;Y) = D_{KL}(p(x,y) || p(x)p(y))
$$
이 표현은 Mutual Information 을 결합 확률 분포 $p(x,y)$ 와 독립 가정 하의 결합 확률 분포 $p(x)p(y)$ 사이의 KL Divergence 로 정의합니다. KL Divergence 는 두 확률 분포의 차이를 측정하는 척도이므로, Mutual Information 은 실제 결합 분포가 독립 가정에서 얼마나 벗어나는지 를 KL Divergence 를 통해 정량화하는 것으로 해석할 수 있습니다.
[수식적 동치성 증명]
KL Divergence 정의 $D_{KL}(P||Q) = \sum_{i} p_i \log \frac{p_i}{q_i}$ 에 $P = p(x,y)$ 와 $Q = p(x)p(y)$ 를 대입하면,
$$
D_{KL}(p(x,y) || p(x)p(y)) = \sum_{x} \sum_{y} p(x,y) \log_2 \frac{p(x,y)}{p(x)p(y)} = I(X;Y)
$$
따라서 $I(X;Y) = D_{KL}(p(x,y) || p(x)p(y))$ 가 성립합니다.
[의미적 해석]
- Mutual Information 은 결합 분포 $p(x,y)$ 와 독립 분포 $p(x)p(y)$ 사이의 "정보 이론적 거리" 를 나타냅니다.
- 두 분포가 가까울수록 (KL Divergence 값이 작을수록), Mutual Information 값은 작아집니다. 이는 $X$ 와 $Y$ 가 독립에 가까울수록 공유하는 정보량이 적다는 의미입니다.
- 두 분포가 멀수록 (KL Divergence 값이 클수록), Mutual Information 값은 커집니다. 이는 $X$ 와 $Y$ 가 종속적일수록 공유하는 정보량이 많다는 의미입니다.
2. Mutual Information 의 주요 성질: 비음수성, 대칭성, 극값
Mutual Information 은 정보 이론적 척도로서 몇 가지 중요한 성질을 가집니다.
2.1 비음수성 (Non-negativity): 정보량은 항상 0 이상
Mutual Information 은 항상 0 이상의 값을 가집니다 ($I(X;Y) \geq 0$). 이는 두 확률 변수가 공유하는 정보량은 음수가 될 수 없다는 직관적인 의미를 반영합니다. Mutual Information 이 0 이 되는 경우는 $X$ 와 $Y$ 가 통계적으로 독립 (statistically independent) 일 때 뿐입니다.
[증명 방향: KL Divergence 의 비음수성 활용]
KL Divergence 는 항상 0 이상의 값을 가지는 비음수적인 척도입니다 ($D_{KL}(P||Q) \geq 0$). Mutual Information 은 KL Divergence 로 표현될 수 있으므로,
$$
I(X;Y) = D_{KL}(p(x,y) || p(x)p(y)) \geq 0
$$
따라서 Mutual Information 은 항상 0 이상의 값을 가집니다.
2.2 대칭성 (Symmetry): 관계 방향에 무관
Mutual Information 은 대칭적인 척도입니다 ($I(X;Y) = I(Y;X)$). 이는 $X$ 가 $Y$ 에 대해 갖는 정보량과 $Y$ 가 $X$ 에 대해 갖는 정보량이 동일하다는 의미입니다. 관계의 방향성은 Mutual Information 값에 영향을 미치지 않습니다.
[증명: 수식 전개]
$$
I(Y;X) = \sum_{y \in \mathcal{Y}} \sum_{x \in \mathcal{X}} p(y,x) \log_2 \frac{p(y,x)}{p(y)p(x)}
$$
결합 확률 분포는 대칭적이므로 ($p(x,y) = p(y,x)$),
$$
I(Y;X) = \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x,y) \log_2 \frac{p(x,y)}{p(x)p(y)} = I(X;Y)
$$
따라서 $I(X;Y) = I(Y;X)$ 가 성립합니다.
2.3 극값: 독립과 완전 종속 시의 값
- 독립 ($X \perp Y$): $X$ 와 $Y$ 가 통계적으로 독립일 때, Mutual Information 은 최솟값 0 을 가집니다 ($I(X;Y) = 0$). 이는 독립 변수 사이에는 공유하는 정보가 전혀 없음을 의미합니다.
- 완전 종속 (Deterministic relationship): $X$ 가 $Y$ 를 완전히 결정하거나, $Y$ 가 $X$ 를 완전히 결정하는 결정론적 관계일 때, Mutual Information 은 최댓값 $\min(H(X), H(Y))$ 를 가집니다. 이는 한 변수를 알면 다른 변수를 완벽하게 예측할 수 있다는 의미이며, 공유하는 정보량이 한 변수의 엔트로피와 같다는 것을 의미합니다. 특히 $H(X) = H(Y)$ 인 경우, $I(X;Y) = H(X) = H(Y)$ 가 됩니다.
3. 조건부 Mutual Information: 제 3의 변수 고려
Mutual Information 을 확장하여 제 3의 확률 변수 $Z$ 가 주어졌을 때의 조건부 Mutual Information (Conditional Mutual Information) 을 정의할 수 있습니다.
$$
I(X;Y|Z) = H(X|Z) - H(X|Y,Z) = H(Y|Z) - H(Y|X,Z) = H(X|Z) + H(Y|Z) - H(X,Y|Z)
$$
조건부 Mutual Information $I(X;Y|Z)$ 는 변수 $Z$ 가 주어졌을 때, $X$ 와 $Y$ 가 공유하는 정보량 을 나타냅니다. 이는 $Z$ 의 영향을 제거하거나 통제한 상태에서 $X$ 와 $Y$ 의 순수한 관계성을 파악하는 데 유용합니다.
[응용 예시: 스팸 메일 필터링]
- $X$: 메일 내용 (단어, 문장 등)
- $Y$: 메일 종류 (스팸/정상)
- $Z$: 발신자 정보 (IP 주소, 이메일 주소 등)
$I(X;Y|Z)$ 는 발신자 정보 $Z$ 를 알고 있을 때, 메일 내용 $X$ 와 메일 종류 $Y$ 가 공유하는 정보량 을 나타냅니다. 발신자 정보가 스팸 메일 여부를 판단하는 데 중요한 단서가 될 수 있으므로, 조건부 Mutual Information 은 스팸 메일 필터링 모델 개발에 활용될 수 있습니다.
Mutual Information 계산 및 추정: 실제적인 접근 방식
Mutual Information (MI) 의 이론적 정의와 의미를 이해하는 것도 중요하지만, 실제 데이터 분석 및 머신러닝 문제에 MI 를 적용하기 위해서는 MI 를 계산하거나 데이터로부터 추정하는 방법 을 알아야 합니다. MI 계산 방법은 확률 변수의 유형 (이산형 vs 연속형) 에 따라 달라지며, 실제 데이터로부터 MI 를 추정하는 것은 추가적인 고려 사항이 필요합니다.
4.1 이산형 확률 변수의 Mutual Information 계산: 결합 확률 분포 활용
이산형 확률 변수 $X$ 와 $Y$ 의 Mutual Information 은 정의에 따라 직접 계산할 수 있습니다. 계산 과정은 다음과 같습니다.
- 결합 확률 분포 $p(x,y)$ 및 주변 확률 분포 $p(x), p(y)$ 계산: 데이터로부터 또는 주어진 확률 모델로부터 결합 확률 분포 $p(x,y)$ 를 구합니다. 주변 확률 분포는 결합 확률 분포로부터 주변화 (marginalization) 하여 계산합니다.
$$
p(x) = \sum_{y} p(x,y)
$$
$$
p(y) = \sum_{x} p(x,y)
$$ - Mutual Information 수식에 대입하여 계산: 다음 수식에 $p(x,y), p(x), p(y)$ 값을 대입하여 MI 값을 계산합니다.
$$
I(X;Y) = \sum_{x \in \mathcal{X}} \sum_{y \in \mathcal{Y}} p(x,y) \log_2 \frac{p(x,y)}{p(x)p(y)}
$$
[예시: 날씨와 아이스크림 판매량 예시 재방문]
날씨 (X) 와 아이스크림 판매량 (Y) 의 결합 확률 분포가 다음과 같이 주어졌다고 가정합니다.
아이스크림: 많이 팔림 (y1) | 아이스크림: 보통 (y2) | 아이스크림: 적게 팔림 (y3) | $p(x)$ (주변 확률) | |
---|---|---|---|---|
날씨: 맑음 (x1) | 0.45 | 0.05 | 0.01 | 0.51 |
날씨: 흐림 (x2) | 0.15 | 0.15 | 0.05 | 0.35 |
날씨: 비 (x3) | 0.01 | 0.03 | 0.10 | 0.14 |
$p(y)$ (주변 확률) | 0.61 | 0.23 | 0.16 | 1.00 |
주변 확률 $p(x)$ 와 $p(y)$ 는 각 행과 열의 합으로 계산됩니다. 이제 MI 를 계산해 보겠습니다.
$$
I(X;Y) = \sum_{i=1}^{3} \sum_{j=1}^{3} p(x_i,y_j) \log_2 \frac{p(x_i,y_j)}{p(x_i)p(y_j)} \\[1em]
= 0.45 \log_2 \frac{0.45}{0.51 \times 0.61} + 0.05 \log_2 \frac{0.05}{0.51 \times 0.23} + 0.01 \log_2 \frac{0.01}{0.51 \times 0.16} \\[1em]
+ 0.15 \log_2 \frac{0.15}{0.35 \times 0.61} + 0.15 \log_2 \frac{0.15}{0.35 \times 0.23} + 0.05 \log_2 \frac{0.05}{0.35 \times 0.16} \\[1em]
+ 0.01 \log_2 \frac{0.01}{0.14 \times 0.61} + 0.03 \log_2 \frac{0.03}{0.14 \times 0.23} + 0.10 \log_2 \frac{0.10}{0.14 \times 0.16} \\[1em]
\approx 0.357 \text{ bits}
$$
계산 결과, 날씨와 아이스크림 판매량의 Mutual Information 은 약 0.357 비트입니다. 이는 날씨 정보를 통해 아이스크림 판매량에 대한 불확실성을 약 0.357 비트 감소시킬 수 있다는 의미입니다.
4.2 연속형 확률 변수의 Mutual Information 계산: 어려움과 해결 방법
연속형 확률 변수 $X$ 와 $Y$ 의 Mutual Information 을 계산하는 것은 이산형 변수보다 훨씬 복잡합니다. 연속형 변수의 확률 분포는 확률 질량 함수 (probability mass function) 대신 확률 밀도 함수 (probability density function, PDF) 로 표현되며, 합 (summation) 대신 적분 (integration) 을 사용해야 합니다.
연속형 변수의 Mutual Information 정의는 다음과 같습니다.
$$
I(X;Y) = \int_{\mathcal{X}} \int_{\mathcal{Y}} p(x,y) \log_2 \frac{p(x,y)}{p(x)p(y)} dx dy
$$
여기서 $p(x,y)$ 는 결합 확률 밀도 함수, $p(x)$ 와 $p(y)$ 는 주변 확률 밀도 함수입니다. 하지만 실제 문제에서 결합 확률 밀도 함수 $p(x,y)$ 를 정확하게 알기는 어렵고, 적분 계산도 복잡한 경우가 많습니다. 따라서 연속형 변수의 MI 를 계산하기 위해서는 다음과 같은 근사적인 방법들을 사용합니다.
4.2.1 이산화 (Discretization): 연속형 변수를 이산형 변수로 변환
연속형 변수를 적절한 구간으로 나누어 이산형 변수로 변환 하는 방법입니다. 이산화된 변수에 대해 앞서 설명한 이산형 MI 계산 방법을 적용합니다. 이산화 방법은 간단하지만, 구간 설정 방식에 따라 MI 값이 크게 달라질 수 있으며, 정보 손실이 발생할 수 있다는 단점이 있습니다.
- 균등 간격 분할 (Equal-width binning): 변수의 값 범위를 균등한 간격으로 나누는 방법입니다. 구간 경계 설정이 간단하지만, 데이터 분포가 불균형할 경우 정보 손실이 클 수 있습니다.
- 균등 빈도 분할 (Equal-frequency binning): 각 구간에 동일한 개수의 데이터 샘플이 포함되도록 구간을 나누는 방법입니다. 데이터 분포가 불균형한 경우에도 비교적 안정적인 결과를 얻을 수 있지만, 구간 경계 설정이 다소 복잡합니다.
4.2.2 커널 밀도 추정 (Kernel Density Estimation, KDE): 확률 밀도 함수 추정
커널 밀도 추정 (KDE) 은 데이터 샘플로부터 확률 밀도 함수를 비모수적으로 추정 하는 방법입니다. KDE 를 이용하여 결합 확률 밀도 함수 $p(x,y)$ 와 주변 확률 밀도 함수 $p(x), p(y)$ 를 추정한 후, MI 정의식에 대입하여 수치 적분 (numerical integration) 을 통해 MI 값을 계산합니다. KDE 는 이산화 방법보다 정보 손실이 적고, 더 정확한 MI 추정이 가능하지만, 커널 함수 및 대역폭 (bandwidth) 선택에 민감하며, 계산 복잡도가 높다는 단점이 있습니다.
- 커널 함수 (Kernel function): 일반적으로 가우시안 커널 (Gaussian kernel) 이 많이 사용됩니다.
- 대역폭 (Bandwidth): 커널 함수의 폭을 결정하는 파라미터로, 적절한 대역폭 선택이 중요합니다. 대역폭이 너무 작으면 과적합 (overfitting), 너무 크면 과소적합 (underfitting) 문제가 발생할 수 있습니다. 교차 검증 (cross-validation) 등을 통해 최적의 대역폭을 선택합니다.
4.2.3 기타 방법: 최근접 이웃 (k-NN) 기반 추정, Copula 기반 추정 등
이 외에도 다양한 연속형 변수 MI 추정 방법들이 연구되고 있습니다.
- k-최근접 이웃 (k-Nearest Neighbors, k-NN) 기반 추정: 데이터 샘플의 국소적인 밀도를 k-NN 알고리즘을 이용하여 추정하고, 이를 바탕으로 MI 값을 계산하는 방법입니다. 비모수적이며, 다양한 분포에 적용 가능하지만, k 값 선택에 민감하고, 고차원 데이터에서 성능이 저하될 수 있습니다.
- Copula 기반 추정: Copula 함수를 이용하여 결합 분포를 모델링하고, 이를 통해 MI 값을 계산하는 방법입니다. 다양한 종속성 구조를 모델링할 수 있지만, Copula 함수 선택 및 파라미터 추정이 복잡할 수 있습니다.
4.3 데이터로부터 Mutual Information 추정: 표본 기반 추정
실제 데이터 분석에서는 확률 분포를 미리 알 수 없는 경우가 대부분입니다. 따라서 주어진 데이터 샘플로부터 Mutual Information 을 추정해야 합니다. 앞서 설명한 이산화, KDE, k-NN, Copula 등의 방법들은 데이터 샘플로부터 MI 를 추정하는 데 활용될 수 있습니다.
[표본 기반 추정 시 고려 사항]
- 표본 크기 (Sample size): MI 추정의 정확도는 표본 크기에 크게 의존합니다. 표본 크기가 작으면 추정 오차가 커지고, 표본 크기가 클수록 추정 정확도가 향상됩니다. 일반적으로 MI 추정에는 충분히 많은 데이터 샘플이 필요합니다.
- 차원의 저주 (Curse of dimensionality): 변수의 차원 (dimension) 이 증가할수록 필요한 표본 크기가 기하급수적으로 증가합니다. 고차원 데이터에서 MI 를 정확하게 추정하는 것은 매우 어렵습니다. 차원 축소 (dimension reduction) 기법 등을 활용하여 차원을 줄이거나, 고차원 MI 추정에 적합한 방법을 사용해야 합니다.
- 추정 방법 선택: 데이터의 특성 (이산형/연속형, 분포 형태, 차원 등), 표본 크기, 계산 복잡도 등을 고려하여 적절한 MI 추정 방법을 선택해야 합니다. 일반적으로 KDE 기반 방법은 비교적 정확하지만 계산 비용이 높고, 이산화 방법은 계산은 빠르지만 정확도가 떨어질 수 있습니다.
Mutual Information 의 응용 분야: 다양한 문제 해결 도구
Mutual Information 은 두 변수 사이의 관계성을 정량화하는 강력한 도구로서, 머신러닝, 데이터 분석, 정보 검색, 뇌과학 등 다양한 분야에서 널리 활용되고 있습니다. 몇 가지 주요 응용 분야를 살펴보겠습니다.
5.1 머신러닝에서의 특징 선택 (Feature Selection): 관련성 높은 특징 추출
머신러닝 모델 학습 시, 입력 특징 (feature) 중에서 예측 목표 변수와 관련성이 높은 특징 만을 선택하는 특징 선택 (feature selection) 은 모델 성능 향상, 과적합 방지, 모델 해석력 향상에 중요한 역할을 합니다. Mutual Information 은 특징과 목표 변수 사이의 관련성을 측정하는 데 효과적인 척도로 활용될 수 있습니다.
- MI 기반 특징 선택: 각 특징 $X_i$ 와 목표 변수 $Y$ 사이의 Mutual Information $I(X_i;Y)$ 를 계산하고, MI 값이 높은 특징들을 선택합니다. MI 값이 높을수록 해당 특징이 목표 변수 예측에 중요한 정보를 많이 담고 있다는 의미입니다.
- 장점: 선형 및 비선형 관계를 모두 포착하므로, 다양한 데이터에 적용 가능합니다. 상관 계수 기반 특징 선택 방법의 한계를 극복할 수 있습니다.
- 단점: 계산 비용이 높고, 고차원 데이터에서 추정 정확도가 떨어질 수 있습니다. 특징 간의 상호 작용 (feature interaction) 을 고려하지 못할 수 있습니다.
[실제 응용 예시: 텍스트 분류]
텍스트 분류 문제에서 각 단어 (term) 를 특징으로 사용할 때, 모든 단어를 사용하는 대신 클래스 레이블 (topic, sentiment 등) 과 Mutual Information 이 높은 단어 들만 선택하여 특징 공간을 축소할 수 있습니다. 이를 통해 모델 학습 효율성을 높이고, 성능을 개선할 수 있습니다.
5.2 이미지 정합 (Image Registration) 및 정렬 (Alignment): 이미지 간 유사도 측정
이미지 정합 (image registration) 은 서로 다른 시점, 센서, 관점에서 획득한 여러 이미지를 공통 좌표계로 정렬 하는 기술입니다. 의료 영상 분석, 컴퓨터 비전, 로봇 공학 등 다양한 분야에서 활용됩니다. Mutual Information 은 이미지 간의 비슷한 정도 (similarity) 를 측정하는 데 효과적인 척도로 사용될 수 있습니다.
- MI 기반 이미지 정합: 두 이미지 $A$ 와 $B$ 의 겹치는 영역에서 각 픽셀 값 (또는 특징 벡터) 을 확률 변수로 간주하고, Mutual Information $I(A;B)$ 를 계산합니다. 이미지가 정확하게 정합될수록 겹치는 영역의 Mutual Information 값이 최대화됩니다. 최적화 알고리즘 (gradient descent 등) 을 이용하여 MI 값을 최대화하는 이미지 변환 파라미터를 찾습니다.
- 장점: 기하학적 변환 (translation, rotation, scaling 등) 에 강인하며, 서로 다른 센서로 획득한 이미지 간에도 유사도 측정이 가능합니다. 이미지 밝기 변화, 노이즈 등에 덜 민감합니다.
- 단점: 계산 비용이 높고, 최적화 과정이 어려울 수 있습니다. 초기 정합 상태에 따라 결과가 달라질 수 있습니다.
[실제 응용 예시: 의료 영상 정합]
CT, MRI 등 서로 다른 의료 영상 모달리티 (modality) 로 획득한 환자 이미지를 MI 기반으로 정합하여, 다양한 영상 정보를 통합 분석 하고, 진단 정확도를 높일 수 있습니다.
5.3 클러스터링 (Clustering) 및 커뮤니티 탐지 (Community Detection): 데이터 그룹핑
클러스터링 (clustering) 은 유사한 데이터 샘플들을 그룹 (cluster) 으로 묶는 비지도 학습 기법입니다. 커뮤니티 탐지 (community detection) 는 네트워크 데이터에서 밀접하게 연결된 노드 그룹 (커뮤니티) 을 찾는 문제입니다. Mutual Information 은 데이터 샘플 간 또는 노드 간의 유사성 을 측정하고, 클러스터링/커뮤니티 탐지 알고리즘에 활용될 수 있습니다.
- MI 기반 클러스터링/커뮤니티 탐지: 데이터 샘플 또는 노드 쌍에 대해 Mutual Information 을 유사도 척도로 사용합니다. MI 값이 높을수록 유사도가 높다고 판단하고, 클러스터링/커뮤니티 탐지 알고리즘 (hierarchical clustering, spectral clustering 등) 을 적용하여 그룹을 형성합니다.
- 장점: 다양한 형태의 데이터 (수치형, 범주형, 텍스트 등) 에 적용 가능하며, 비선형적인 유사성 패턴을 포착할 수 있습니다.
- 단점: 계산 비용이 높고, 클러스터/커뮤니티 구조가 복잡할 경우 성능이 저하될 수 있습니다. 클러스터 개수 또는 커뮤니티 크기 등을 미리 결정해야 할 수 있습니다.
[실제 응용 예시: 소셜 네트워크 커뮤니티 탐지]
소셜 네트워크 사용자 간의 상호 작용 (친구 관계, 메시지 교환 등) 데이터를 이용하여 사용자 간의 Mutual Information 을 계산하고, 이를 기반으로 관심사, 활동 패턴 등이 유사한 사용자 그룹 (커뮤니티) 을 탐지 할 수 있습니다. 마케팅, 추천 시스템 등에 활용될 수 있습니다.
5.4 뇌과학 (Neuroscience) 및 신경 데이터 분석 (Neural Data Analysis): 신경 신호 간 정보 흐름 분석
뇌과학 연구에서 뇌 영역 간 또는 신경 세포 (뉴런) 간의 정보 전달 및 상호 작용 을 분석하는 것은 뇌 기능 이해에 매우 중요합니다. Mutual Information 은 뇌파 (EEG), 뇌자도 (MEG), 기능적 자기 공명 영상 (fMRI) 등 신경 신호 간의 통계적 의존성 을 측정하고, 정보 흐름 방향 및 네트워크 구조를 추론하는 데 활용될 수 있습니다.
- MI 기반 신경 연결성 분석: 뇌 영역 또는 뉴런 쌍의 신경 신호 (시간 series 데이터) 간의 Mutual Information 을 계산합니다. MI 값이 높을수록 두 영역/뉴런 간의 정보 교환이 활발하다고 해석할 수 있습니다. MI 값을 이용하여 뇌 기능 네트워크 (functional brain network) 를 구성하고, 네트워크 특성을 분석합니다.
- 전달 엔트로피 (Transfer Entropy): Mutual Information 을 시간 지연 (time lag) 개념과 결합하여 정보 흐름의 방향성 을 추론하는 방법입니다. $X$ 의 과거 정보가 $Y$ 의 현재 정보에 미치는 영향을 측정합니다. 뇌 영역 간 정보 흐름 방향, 인과 관계 추론 등에 활용됩니다.
- 장점: 선형 및 비선형적인 신경 신호 간의 관계를 모두 포착할 수 있으며, 모델 가정이 필요 없는 비모수적인 방법입니다.
- 단점: 신경 신호 데이터는 노이즈가 많고, 데이터 길이가 제한적인 경우가 많아 MI 추정의 정확도가 떨어질 수 있습니다. 다변량 (multivariate) 신경 신호 분석에는 어려움이 있습니다.
[실제 응용 예시: 뇌 기능 네트워크 분석]
fMRI 데이터를 이용하여 뇌 영역 간 Mutual Information 을 계산하고, 뇌 기능 네트워크를 구성하여 특정 인지 기능 수행 시 활성화되는 뇌 영역 간의 연결 패턴 을 분석하거나, 뇌 질환 환자의 뇌 기능 네트워크 변화 를 연구할 수 있습니다.
5.5 정보 검색 (Information Retrieval) 및 자연어 처리 (Natural Language Processing): 텍스트 유사도 및 단어 관계 분석
정보 검색 시스템에서 쿼리 (query) 와 문서 (document) 간의 관련성 을 평가하거나, 자연어 처리에서 단어 간의 의미적 관계 를 분석하는 데 Mutual Information 이 활용될 수 있습니다.
- MI 기반 문서 검색: 쿼리와 문서의 텍스트를 단어 벡터 (term vector) 로 표현하고, 단어 벡터 간의 Mutual Information 을 계산하여 문서 관련도를 평가합니다. 쿼리에 포함된 단어와 문서에 포함된 단어의 공유 정보량이 많을수록 관련도가 높다고 판단합니다.
- 단어 공기 정보 (Pointwise Mutual Information, PMI): 두 단어 $w_1$ 과 $w_2$ 가 동시에 출현하는 빈도 를 이용하여 단어 간의 연관성을 측정하는 방법입니다. PMI 는 Mutual Information 정의에서 결합 확률 분포 대신 단어 공기 확률을 사용합니다. 단어 임베딩 (word embedding), 단어 의미 유사도 측정 등에 활용됩니다.
- 장점: 텍스트 데이터의 의미적 유사성, 단어 간의 비선형적인 관계를 포착할 수 있습니다.
- 단점: 텍스트 데이터는 고차원이고 희소 (sparse) 한 특징을 가지므로, MI 추정이 어려울 수 있습니다. 문맥 정보 (context information) 를 고려하기 어려울 수 있습니다.
[실제 응용 예시: 단어 임베딩 학습]
Word2Vec, GloVe 와 같은 단어 임베딩 모델 학습 시, PMI 기반 손실 함수를 사용하여 단어 벡터가 단어 간의 공기 정보를 잘 반영하도록 학습할 수 있습니다. 학습된 단어 임베딩은 다양한 자연어 처리 task 에 활용됩니다.
5.6 기타 응용 분야
Mutual Information 은 위에서 언급한 분야 외에도 다양한 분야에서 응용될 수 있습니다.
- 생물 정보학 (Bioinformatics): 유전자 발현 데이터 분석, 유전자 네트워크 추론, 단백질 상호 작용 예측 등에 활용됩니다.
- 경제학 (Economics) 및 금융 (Finance): 경제 변수 간의 관계 분석, 금융 시장 예측, 위험 관리 등에 활용됩니다.
- 기후 과학 (Climate Science): 기후 변수 간의 상관 관계 분석, 기후 모델 검증, 기후 변화 예측 등에 활용됩니다.
- 통신 공학 (Telecommunication Engineering): 채널 용량 (channel capacity) 계산, 신호 처리, 정보 압축 등에 활용됩니다.
결론: Mutual Information, 강력한 관계성 분석 도구
Mutual Information 은 두 확률 변수 사이의 선형 및 비선형적인 관계성을 포괄적으로 측정 할 수 있는 강력한 정보 이론적 척도입니다. 엔트로피, 조건부 엔트로피, KL Divergence 와의 깊은 연관성은 MI 의 이론적 토대를 강화하며, 다양한 표현 방식은 MI 의 다각적인 의미를 보여줍니다.
MI 는 특징 선택, 이미지 정합, 클러스터링, 뇌과학, 정보 검색 등 다양한 분야에서 핵심적인 도구로 활용되고 있으며, 데이터 기반 의사 결정, 모델 개발, 시스템 분석 등에 기여하고 있습니다. MI 계산 및 추정 방법은 확률 변수의 유형과 데이터 특성에 따라 다양하며, 적절한 방법을 선택하고, 표본 크기, 차원의 저주 등 실제적인 문제들을 고려해야 합니다.
Mutual Information 에 대한 깊이 있는 이해는 데이터 과학자, 머신러닝 엔지니어, 연구자들에게 필수적인 역량이며, 복잡한 데이터 세상에서 숨겨진 관계성을 발견하고, 의미 있는 정보를 추출 하는 데 중요한 역할을 할 것입니다.