정보 이득 (Information Gain)은 의사결정 트리(Decision Tree)라는 인공지능 모델을 만들 때, 데이터를 가장 잘 나누는 기준(속성)을 찾기 위해 사용하는 핵심 개념입니다. 가장 쉽게 설명하자면, 정보 이득은 "특정 질문(분할 기준)을 했을 때 데이터의 불확실성(혼잡도)이 얼마나 줄어드는가?"를 측정하는 지표입니다.
1. 기본 원리
정보 이득을 이해하려면 두 가지 핵심 개념을 먼저 알아야 합니다.
A. 엔트로피 (Entropy)
불확실성 또는 혼잡도엔트로피는 데이터 집합이 얼마나 '순수하지 않고' '섞여 있는지', 즉 불확실한 정도를 나타내는 값입니다.
어떤 상자 안에 사과 5개와 오렌지 5개가 있다면, 이 상자의 엔트로피는 높습니다 (불확실). 무작위로 하나를 꺼낼 때 사과인지 오렌지인지 예측하기 어렵기 때문입니다. 반면 상자 안에 사과만 10개가 있다면, 이 상자의 엔트로피는 0 또는 매우 낮습니다 (순수). 무엇을 꺼내도 사과라는 것을 확실히 알 수 있기 때문입니다. 즉, 의사결정 트리는 노드를 분할하여 엔트로피를 최소화하는 방향으로 성장해야 합니다.
B. 정보 이득 (Information Gain)
정보 이득은 분할 전의 높은 엔트로피에서 분할 후의 (가중 평균) 낮은 엔트로피를 뺀 값입니다.
$\text{Information Gain} = \text{Entropy}_{\text{Before}} - \text{Entropy}_{\text{After}}$
- 의미 : 어떤 속성(질문)을 기준으로 데이터를 나누었을 때, 불확실성이 얼마나 많이 사라졌는지를 측정합니다.
- 목표 : 의사결정 트리는 가장 큰 정보 이득을 주는 속성을 선택하여 노드를 분할합니다.
2. 의사결정 트리에서의 적용
의사결정 트리는 데이터를 분류하기 위해 '질문'을 계속 던지면서 가지를 쳐 나갑니다. 이 '질문'을 정하는 기준이 바로 정보 이득입니다.
- 시작 노드 (P) : 전체 데이터를 보고 엔트로피($E(\text{P})$)를 계산합니다. (예: 0.7)
- 속성 후보 : 트리가 나눌 수 있는 모든 속성(예: 성별, 나이, 수입 등)을 후보로 둡니다.
- 정보 이득 계산 : 각 속성으로 데이터를 나누었을 때의 정보 이득을 계산합니다.분할 후 자식 노드들($C_1, C_2, \dots$)의 엔트로피($E(\text{C}_i)$)를 각각 계산합니다. 이 자식 노드들의 엔트로피를 가중 평균하여 분할 후의 엔트로피를 구합니다. (데이터 개수가 많은 자식 노드의 엔트로피에 더 큰 가중치를 줌)
- $\text{Information Gain} = E(\text{P}) - \sum (\text{가중치} \times E(\text{C}_i))$
- 최적의 분할 선택 : 계산된 정보 이득 값 중 가장 높은 값을 가지는 속성을 선택하여 실제로 노드를 분할합니다. 이 속성이 데이터를 가장 잘 분류하는 '최적의 질문'이 됩니다.

위 문제는 의사결정 트리(Decision Tree)를 구축할 때 사용되는 정보 이득(Information Gain)을 계산하는 문제입니다. 정보 이득은 특정 속성으로 분할하기 전의 엔트로피에서 분할 후의 가중 평균 엔트로피를 뺀 값이며, 수식으로 나타내면 다음과 같습니다.
$$\text{Information Gain}(\text{P}, \text{A}) = \text{Entropy}(\text{P}) - \sum_{i=1}^{v} \frac{|\text{C}_i|}{|\text{P}|} \times \text{Entropy}(\text{C}_i)$$
$\text{P}$: 분할 전 부모 노드 (Parent Node)
$\text{A}$: 분할에 사용된 속성
$\text{C}_i$: 분할 후 자식 노드 (Child Node) $i$
$|\text{P}|$: 노드 P에 속한 엔트리(데이터) 개수
$|\text{C}_i|$: 노드 $\text{C}_i$에 속한 엔트리 개수
$\text{Entropy}(\cdot)$: 해당 노드의 엔트로피 값
❶ 주어진 값 확인
문제 그림에서 주어진 값은 다음과 같습니다.
분할 전 부모 노드 (P)
노드 P에 속한 엔트리 개수, $N(\text{P}) = |\text{P}| = \mathbf{20}$
노드 P의 엔트로피, $E(\text{P}) = \text{Entropy}(\text{P}) = \mathbf{0.7}$
분할 후 자식 노드 1 (C1)
노드 C1에 속한 엔트리 개수, $N(\text{C1}) = |\text{C1}| = \mathbf{12}$
노드 C1의 엔트로피, $E(\text{C1}) = \text{Entropy}(\text{C1}) = \mathbf{0.5}$
분할 후 자식 노드 2 (C2)
노드 C2에 속한 엔트리 개수, $N(\text{C2}) = |\text{C2}| = \mathbf{8}$
노드 C2의 엔트로피, $E(\text{C2}) = \text{Entropy}(\text{C2}) = \mathbf{0.6}$
❷ 분할 수 가중 엔트로피 계산
먼저, 분할 후의 자식 노드들의 가중 평균 엔트로피를 계산합니다. 가중치는 각 자식 노드에 속한 엔트리 개수를 부모 노드의 전체 엔트리 개수로 나눈 비율입니다.
$$\text{Weighted Average Entropy} = \frac{|\text{C1}|}{|\text{P}|} \times E(\text{C1}) + \frac{|\text{C2}|}{|\text{P}|} \times E(\text{C2})$$
$$\text{Weighted Average Entropy} = \frac{12}{20} \times 0.5 + \frac{8}{20} \times 0.6$$
- $\frac{12}{20} \times 0.5 = 0.6 \times 0.5 = \mathbf{0.30}$
- $\frac{8}{20} \times 0.6 = 0.4 \times 0.6 = \mathbf{0.24}$
$$\text{Weighted Average Entropy} = 0.30 + 0.24 = \mathbf{0.54}$$
❸ 정보 이득 (Information Gain) 계산
정보 이득은 분할 전 엔트로피에서 분할 후의 가중 평균 엔트로피를 빼서 계산합니다.
$$\text{Information Gain} = E(\text{P}) - \text{Weighted Average Entropy}$$$$\text{Information Gain} = 0.7 - 0.54 = \mathbf{0.16}$$