지지플랏의 DataScience

(13)DSforS: Chap6. 6.2 트리 모델 - 정보이득개념 본문

Data Science/데이터과학을 위한 통계

(13)DSforS: Chap6. 6.2 트리 모델 - 정보이득개념

지지플랏 2024. 6. 23. 23:12
반응형

 

1. 책 목차

  • 6.2. 트리모델
  • 6.2.1. 간단한 예제
  • 6.2.2. 재귀 분할 알고리즘
  • 6.2.3. 동질성과 불순도 측정하기
  • 6.2.4. 트리 형성 중지하기
  • 6.2.5. 연속값 예측하기
  • 6.2.6. 트리 활용하기
  • 6.3. 배깅과 랜덤 포레스트
  • 6.3.1. 배깅
  • 6.3.2. 랜덤 포레스트

2. 본문

트리는 기본적으로 if-else로 이루어지는 구조로 성장한다. 트리(tree,나무)라는 표현을 쓰는 이유는 의사결정과정이 나무가 뻗어나가는 모양과 유사하기 때문이다. 시작하는 변수를 Root 노드(뿌리 노드)라고 하며 마지막 노드를 Leaf 노드(잎 노드)라고 한다. 

그렇다면 어떤 변수부터 시작하여 분기해가야하는가? 오늘은 분기를 나눌 때의 기준인 정보이득과 엔트로피를 알아보자. 

2.1. 엔트로피

첫번째로 엔트로피 개념이 등장한다. 열역학에서 무질서도로 해석되는 엔트로피는 통계학에서는 사뭇다르다.  정보엔트로피(Information Entorpy)는  주어진 확률 분포에서 발생할 수 있는 불확실성의 양을 측정하는 개념이다. 이는 미국의 수학자이자 전기공학자인 클로드 새년이 정의하였다. 

정보 엔트로피는 다음과 같이 정의된다. 

$H(X) = - \sum ^{i=1} _{n}{P(x_{i})\log_{b}{P(x_{i})}}$

  • $H(X)$는 랜덤 변수 $X$ 의 엔트로피
  • $P(x_{i})$는 랜덤 변수 $X$가 값 $x_{i}$를 가질 확률
  • $b$는일반적으로 2가 사용 됨(bit개념)
  • $n$는 가능한 사건의 수 

위 값이 높을 수록 시스템의 불확실성이 크다는 것이다.  예시를 들면 다음과 같다. 

동전을 던지는 경우

  • 앞,뒷면이 나올 확률은 0.5
  • 엔트로피 $H(X) = -(0.5\log_{2}{0.5} + 0.5\log_{2}{0.5}) = 1$

반면 주사위를 던지는 경우

  • 각 면이 나올 확률은 $1/6$
  • 엔트로피  $ H(X) = -\sum^{6}_{i=1}{\frac{1}{6}log_{2}}\frac{1}{6} = \log_{2}{6} = 2.585 $

따라서 값이 더 큰 주사위를 던지는 경우가 더 불확실성이 크다고 할 수 있다

2.2. 지니계수

지니계수는 노드의 불순도를 측정하며 더 낮을수록 더 순수하다는 것이다. 따라서 지니 계수를 사용하여 불순도가 낮아질수록 트리를 올바른 방향으로 성장시킬 수 있다. 식은 다음과 같다

$ G(t) = 1 - \sum^{C}_{i=1}{p(i)^{2}} $

  • $C$는 클래스 수 
  • $p(i)$는 노드 $t$에서 클래스 $i$에 속하는 데이터 비율 

 

2.3.정보이득

두 개념을 합쳐서 결국 트리가 추구하는 방향은 분기를 나눴을 때 정보이득(Infomation Gain)이 최대화 되는 방향으로 가는 것이다. 정보이득은 어떤 변수로 분할을 했을 때, 계산되는 불확실성의 차이이다. 엔트로피의 경우 다음과 같이 작동한다.

  1. 전체 데이터셋 엔트로피 계산
    • $ H(D) = - \sum^{n}_{i = 1}{P(c_{i})\log_{2}{P(c_{i})}} $
    • $D$는 전체 데이터셋, $c_{i} 각 클래스$
  2. 속성별 엔트로피 계산
  3. 정보이득 계산
    • 이때 정보이득은 분할전 엔트로피와 분할 후 엔트로피의 차이 
    • $IG(A) = H(D) - H(D|A)$

 

반응형