[OUTLIER] 의사결정나무(Decision Tree) 발제
의사결정나무는 나무 구조로 도표화하여 분류 및 예측을 수행하는 머신러닝 알고리즘이다.
가지치기와 같은 방법을 통해 오버 피팅을 최소화하며, Random Forest의 기본 구성 요소다.
다음은 의사결정나무의 장점과 단점이다.
장점 | 단점 |
- 직관적으로 결과 해석이 가능하다 - 이상치나 노이즈에 큰 영향을 받지 않는다 - 연속형 데이터와 범주형 데이터 모두 처리가 가능하다 |
- 오버피팅(과적합)의 가능성이 높다 - 학습 데이터에 따라 결과 차이가 커서 불안전성이 크다 |
의사결정 나무의 분할 기준에 지니 불순도(Gini Impurity)라는 개념이 있다.
지니 불순도는 집합의 순도를 측정한다.
맨 왼쪽 파란 구슬만 들어있는 집합과 맨 오른쪽 빨간 구슬만 들어있는 집합의 지니 불순도는 0 임을 알 수 있다.
지니 불순도의 식은 다음과 같다.
데이터의 총 개수 : n , 레이블 A에 포함된 수 : a, 레이블 B에 포함된 수 : b
1 - ( a / n )^2 - ( b / n )^2
또 다른 개념으로는 정보 획득량(Information Gain)이 있다.
정보 획득량은 어떤 사건이 얼만큼의 정보를 주는가에 대해 수치화한 값이다.
정보의 가치는 확률이 1에 가까울 수록가까울수록 0에 수렴하고, 확률이 0에 가까울수록 무한대에 수렴하는 특징을 가지고 있다.
그만큼 더 생소한 정보일수록 그 가치가 높다는 것을 뜻한다.
다음과 같은 상황일 때, 정보 획득량은 0.5 - (0 + 0.375 + 0) = 0.125의 결과값을 얻을 수 있다.
여기에 가중치를 주며 계산할 수도 있다. 이런 개념을 Weighted Information Gain 이라고 한다.
weight를 각각 지정하여 준다면 정보 획득량은 0.5 - ((2.10) * 0.5 + (5/10) * 0.48 + (3/10) * 0.44)) = 0.026의 결과값을 얻을 수 있다.
의사결정나무의 동작에 대해서 알아보겠다.
의사결정나무는 재귀적(Recursive) 트리 빌딩이다.
1. 정보 획득량이 큰 순서대로 질문을 배치하고
2. 속성에 대해 어느 기준으로 나누는 게 좋을지 반복적으로 적용하여 최적의 트리를 찾는다.
이렇게 반복적으로 적용한다는 점에서 '재귀'라고 표현한다.
3. 그 다음으로 더 이상 정보 획득량이 없을 때 재귀를 중단한다.