Impurity 지표 – 엔트로피와 지니계수

생각보다 자주 잊어 Impurity의 대표 지표인 엔트로피와 지니계수의 계산 방법을 정리해본다.

엔트로피

엔트로피(Entropy)란 Shannon 박사의 정보이론에서 비롯된 정보량 개념으로 데이터를 불확실성으로 표현하는 방법이다.
각 확률변수 X의 분포가 특정 확률변수에만 몰려있으면 데이터의 불확실성(엔트로피)이 낮지만, 분포가 전체 확률변수에 고르게 분포하는 경우에는 데이터의 불확실성(엔트로피)이 크다고 할 수 있다.

엔트로피는 로그 확률변수의 평균으로 나타낸다.
갑자기 로그가 튀어나오는 것이 의외지만 확률곱을 확률합으로 나타낼 수 있다는 점에서 정보량 계산 시 많은 도움이 된다.
또한 확률밀도함수는 1보다 작기 때문에 로그를 취하면 음수가 되므로 마이너스 부호를 사용하여 양수로 바꾸어주는 것이 좋다.
로그의 밑은 임의로 사용해도 무방하나 정보이론은 이진법에서 정의되었기에 2를 일반적으로 사용한다.
확률변수 X = {x_1, ..., x_n}와 각 확률변수 별 확률 P(x_1), ..., P(x_n)이 주어졌을 때 엔트로피는 다음과 같이 구할 수 있다.

$$ E[-log_2(P(X))] = – \sum_{x_i \in X} P(x_i) * log_2 P(x_i) $$

E[f(X)] = \sum_{x_i \in X} f(x_i) * P(x_i) 인 점을 참고하면 엔트로피는 결국 확률에 대한 평균임을 이해할 수 있다.

엔트로피 계산은 비교적 단순하다.
예를 들어 확률변수 X={1, 2, 3}에 대해 사건 1, 1, 1, 2, 2, 3이 발생했을 때 각 확률변수 1, 2, 3에 대해 1/2, 1/3, 1/6의 확률을 계산할 수 있다.
그러므로 이 사건에 대한 엔트로피는 다음과 같이 계산할 수 있다.

$$
\begin{align*}
E[-log_2(P(X))] &= – \sum_{x_i \in X} P(x_i) * log_2 (P(x_i)) \\
&= – 1/2 * log_2 (1/2) – 1/3 * log_2 (1/3) – 1/6 * log_2 (1/6)
\end{align*}
$$

지니계수

지니계수(Gini Impurity)는 경제학에서의 지니계수(Gini Coefficient)와 혼동할 수 있는 개념이나 이와는 전혀 다른 지표이다.
경제학에서는 지니계수를 소득 불평형의 지표로서 사용한다.
이 또한 자주 언급되는 개념이니 잠깐 정리하고 넘어간다.

Figure from Wikipedia

경제학에서는 로렌츠 곡선을 사용하여 소득 불평형을 측정하는 방법을 제시한다.
위 그래프는 45도 기울기의 완전평등선과 하위 소득인구의 누적비율과 소득 누적 간 비중을 나타낸 로렌츠 곡선을 나타낸 것이다.
이 때 완전분배 직선과 로렌츠 곡선 사이의 파란 면적을 불평등 면적이라 하며, 이 불평등 면적과 완전평등선 아래의 면적(삼각형) 간 비를 지니계수라 한다.
그림에서는 삼각형의 크기를 1로 간주하였기에 파란 면적을 지니계수로 간주한 것이다.
경제학에서의 지니계수는 본질적으로 [0, 1] 구간에 존재하며 1에 가까울수록 소득이 완전히 평등하게 분배됨을 의미한다.

다만 이는 경제학의 지표이며 지금부터 이야기할 Impurity 지표로서의 지니계수와는 다르기 때문에 이 글에서는 경제학에서의 지니계수를 Gini-Index or Gini-Coefficient로, 정보이론에서의 지니계수를 Gini-Impurity로 정의한다.

우선 Simpson index를 정의한다.
Simpson index는 클래스마다 두 번 추출한 샘플이 같을 확률에 대한 합으로 나타낸다.

$$ \lambda = \sum^{C}_{i=1}{p_i}^2 $$

참고로 Simpson은 그 Simpson’s paradox의 Simpson이 맞다. [더 읽기]

Simpson’s paradox: 데이터의 세부 그룹별로 일정한 추세나 경향성이 나타나지만, 전체적으로 보면 그 추세가 사라지거나 반대 방향의 경향성을 나타내는 현상

Figure from Wikipedia
Figure from Wikipedia

이제 1에서 Simpson Index를 빼면 클래스마다 두 번 추출한 샘플이 다른 확률에 대한 합이 되며 이는 곧 다양성의 지표가 된다.
Gini-Simpson Index 또는 Gini-Impurity는 다음과 같다.

$$ 1 – \lambda = 1 – \sum^{C}_{i=1}{p_i}^2 $$

지니계수 계산 또한 단순하다.
엔트로피와 동일한 예제를 보자.
확률변수 X={1, 2, 3}에 대해 사건 1, 1, 1, 2, 2, 3이 발생했을 때 각 확률변수 1, 2, 3에 대해 1/2, 1/3, 1/6의 확률을 계산할 수 있다.
그러므로 이 사건에 대한 지니계수는 다음과 같이 계산할 수 있다.

$$
\begin{align*}
1 – \lambda &= 1 – \sum^{C}_{i=1}{p_i}^2 \\
&= 1 – (1/2)^2 – (1/3)^2 – (1/6)^2
\end{align*}
$$

Gini-Impurity가 높다는 것은 곧 다양성이 크다는 것을 의미하며 각 확률변수의 발생확률이 고르게 분포되어있음을 의미한다.

댓글 남기기