의사결정나무 모델
- 데이터에 내재되어 있는 패턴을 변수의 조합으로 나타내는 예측/분류 모델을 나무의 형태로 만드는 것
- 질문을 던져서 맞고 틀리는 것에 따라 우리가 생각하고 있는 대상을 좁혀나감
- 스무고개 놀이와 비슷한 개념
- 데이터를 2개 혹은 그 이상의 부분집합으로 데이터가 균일해지도록 분할
- 분류 : 비슷한 범주를 갖고 있는 관측치끼리 모음
- 예측 : 비슷한 수치를 갖고 있는 관측치끼리 모음
- `뿌리 마디(Root node)`, `중간마디(Intermediate node)`, `끝마디(Terminal node)`로 구성
예측나무 모델(Regression Tree)
예측나무 모델에 대하여 다음 3가지 방법은 같은 문제를 다르게 표현한 것이다.
예측나무 모델링 프로세스는 다음과 같다.
이제 분할변수(j)와 분할점(s)을 어떻게 결정할지를 본다. 만약 X1 >= 2를 기준으로 마디가 나눠진다면, 분할변수 j = 1이며, 분할점 s = 2가 된다. 이렇게 어떤 분할변수와 분할점을 기준으로 마디를 나누게 되는지는 다음과 같다.
분류나무 모델(Classification Tree)
분류나무 모델에 대해 다음과 같이 정의한다. 결론적으로 끝 노드에서는 majority를 고려하여 분류를 수행한다.
분류나무 모델에 대하여 다음 3가지 방법은 같은 문제를 다르게 표현한 것이다.
분류나무 모델에서는 예측나무 모델에서처럼 비용 함수를 계산할 때 실제 값과 예측 값의 차이를 계산하는 것이 무의미하다. 따라서 분류나무 모델에서는 다음과 같은 3가지의 방법으로 비용 함수를 정의한다. 이를 불순도 측정이라고 한다. 분할변수(j)와 분할점(s)을 찾는 경우 해당 비용 함수를 최소화하는 값들을 찾으면 된다.
분류나무 모델의 분할법칙은 다음과 같다.
- 분할변수와 분할점은 목표변수의 분포를 가장 잘 구별해주는 쪽으로 정함
- 목표변수의 분포를 잘 구별해주는 측도로 `순수도(purity)` 또는 `불순도(impurity)`를 정의
- ex> 클래스 0과 1의 비율이 45%와 55%인 노드는 90%와 10%인 노드에 비하여 순수도가 낮다(불순도가 높다)고 해석
- 각 노드에서 분할변수와 분할점의 설정은 불순도의 감소가 최대가 되도록 선택
각 비용 함수들의 계산 예시는 다음과 같다.
Information Gain
`Information Gain`은 주요한 변수를 찾는 데 사용되는 값으로, 특정 변수를 사용했을 때의 entropy 감소량을 나타낸다. 이 값이 높을수록 주요한 변수라는 것을 의미하며, 다음과 같이 계산할 수 있다.
Information Gain의 계산 예시는 다음과 같다.
개별 트리 모델의 단점
- 계층적 구조로 인해 중간에 에러가 발생하면 다음 단계로 에러가 계속 전파
- 학습 데이터의 미세한 변동에도 최종 결과 크게 영향
- 적은 개수의 노이즈에도 크게 영향
- 나무의 최종 노드 개수를 늘리면 과적합 위험(Low Bias, Large Variance)
- 해결방안 → `랜덤 포레스트(Random forest)`
이 포스팅은 고려대학교 산업경영공학부 김성범 교수님 유튜브의 핵심 머신러닝 강의를 듣고 작성한 글입니다.
(이미지 출처 - 핵심 머신러닝)