패스트캠퍼스 데이터사이언스 스쿨 강의노트를 참고했습니다
- 의사 결정 나무(Decision Tree)는 분류, 회귀 문제에 널리 사용하는 모델입니다.
- 의사 결정 나무를 이용한 분류법은 다음과 같습니다.
- 여러가지 독립변수 중 하나의 독립변수를 선택합니다.
- 그 독립변수에 대한 기준값(threshold) - 분류 규칙 - 을 정합니다.
- 전체 학습 데이터 집합을 분류 규칙에 따라, 기준값보다 큰 데이터 그룹(노드 1)과 기준값보다 작은 데이터 그룹(노드 2)로 나눕니다.
- 각 노드에 대해서 1~3 단계를 반복하여 한 가지 클래스만 존재할 때까지 혹은 사전에 지정한 일정 기준까지 하위 노드를 만듭니다.
의사 결정 나무를 사용한 분류 예측
- 의사 결정 나무 모형에 데이터를 입력하면, 데이터는 분류 규칙(기준값)에 따라 특정 노드를 선택해서 내려가게 됩니다.
- 이때 노드에 속한 데이터의 클래스의 비율을 구하여, 노드의 조건부 확률 분포 $P(Y = k \mid X)_{\text{node}}$ 라고 정의합니다.
$$P(Y=k \mid X){\text{node}} \approx \dfrac{N{\text{node}, k}}{N_{\text{node}}}$$
정보획득량: 분류 규칙을 정하는 방법
- 분류 규칙은 부모 노드, 자식 노드 간 엔트로피를 가장 낮게 만드는 독립변수와 기준값을 찾는 식으로 이루어집니다.
- 다시 말해 정보 획득량(information gain)이 가장 높은 독립변수와 기준값은 찾는 셈인데요. 정보 획득량은 변수 X가 확률변수 Y의 엔트로피를 얼마나 줄였는지 나타내는 값입니다.
$$IG[Y, X] = H[Y] - H[Y \mid X]$$
부록: 엔트로피
엔트로피
- 엔트로피는 확률분포가 가질 수 있는 확신의 정도를 수치로 표현한 것입니다.
- 예를 들어, 확률변수에 여러가지 값이 나올 확률이 비슷하면 엔트로피가 높아지고, 특정값이 나올 확률이 높아지고 나머지값이 나올 확률이 낮아진다면 엔트로피는 낮아집니다.
수학적으로는 이산확률변수이면,
$$H[Y] = -\sum_{k=1}^K P(y_k) \log_2 P(y_k)$$연속확률변수이면,
$$H[Y] = -\int_{-\infty}^{\infty} p(y) \log_2 p(y) \; dy$$
엔트로피와 정보량
- 엔트로피는 확률변수가 담을 수 있는 정보량을 의미하기도 합니다.
- 엔트로피가 0이라면, 확률변수는 결정론적(항상 예측할 수 있는 값이 나온다) 이기 때문에, 추가 정보량은 없습니다.
- 반면 엔트로피가 크다면, 확률변수는 다양한 결과값을 내놓을 수 있기 때문에 추가로 획득할 수 있는 정보량이 상대적으로 많습니다.
크로스엔트로피
크로스엔트로피는 확률분포의 차이를 정량화한 값이지만 기준 분포가 $p$로 고정되어 있습니다. $$H[p, q] \neg H[q, p]$$
크로스엔트로피는 분류 모형의 성능을 측정할 때도 사용합니다.
부록: 지니불순도(Gini impurity)
- 지니불순도는 엔트로피와 유사한 개념으로, 확률분포가 어느 쪽에 치우쳐 있는가를 재는 척도입니다.
- 엔트로피와 달리 로그를 사용하지 않아 계산량이 적습니다. 그래서 엔트로피 대용으로 많이 사용합니다.
$$G[Y] = \Sigma_{k=1}^K P(y_k)(1 - P(y_k))$$