의사결정나무
쉽게 말하면
스무고개처럼 질문을 이어 가며 답을 좁히는 모형이에요. '나이 30 이상?' → '소득 5천 이상?' 같은 질문을 따라 내려가면 맨 끝에서 '구매함/안 함'이 나와요. 질문을 고를 때는 나눈 뒤 각 무리가 최대한 한쪽 답으로 몰리도록(순수해지도록) 골라요.
시험용 정의
의사결정나무는 독립변수의 조건으로 데이터를 반복해서 나누어 나무 구조의 규칙을 만드는 지도학습 모형이다. 맨 위 뿌리마디에서 시작해 중간마디를 거쳐 더 나누지 않는 끝마디(잎)에서 결과를 낸다. 목표변수가 범주형이면 분류나무, 연속형이면 회귀나무다. 각 마디에서는 나눈 뒤 자식마디의 불순도가 가장 많이 줄어드는 변수와 기준값을 고른다. 분류나무의 기준은 지니 지수(1 - Σp²), 엔트로피 지수(-Σ p log₂p), 카이제곱 통계량의 p값이고, 회귀나무의 기준은 F 통계량의 p값과 분산 감소량이다. 너무 깊이 자라면 과대적합되므로 정지 규칙과 가지치기를 쓴다.
비유로 이해하기
택배 분류 센터다. 첫 컨베이어에서 '수도권이냐'로 나누고, 다음에 '서울이냐'로 나누는 식으로 상자를 점점 순수한 무리로 만든다. 질문을 너무 잘게 만들어 상자 하나마다 레일을 따로 깔면(과대적합) 새 상자가 오면 갈 곳을 못 찾는다. 쓸모없는 레일을 걷어 내는 것이 가지치기다.
자세히
먼저 알아 둘 말
| 말 | 뜻 |
|---|---|
| 뿌리마디 | 나무 맨 위, 전체 데이터 |
| 부모·자식마디 | 나뉘기 전 마디와 나뉜 뒤 마디 |
| 끝마디 (잎) | 더 나누지 않는 마디. 여기서 분류 결과가 정해진다 |
| 불순도 | 한 마디 안에 여러 범주가 섞인 정도. 반대말은 순수도 |
| 깊이 | 뿌리에서 끝마디까지 거친 층 수 |
분리 기준
| 나무 | 기준 | 좋은 방향 | 알고리즘 |
|---|---|---|---|
| 분류나무 | 지니 지수 | 작아지게 | CART |
| 분류나무 | 엔트로피 지수 (정보이득) | 작아지게 (정보이득은 커지게) | C4.5, C5.0 |
| 분류나무 | 카이제곱 통계량의 p값 | 작아지게 | CHAID |
| 회귀나무 | F 통계량의 p값 | 작아지게 | CHAID |
| 회귀나무 | 분산 감소량 | 커지게 | CART |
지니와 엔트로피 값
| 마디 구성 (A : B) | 지니 | 엔트로피 |
|---|---|---|
| 10 : 0 (순수) | 0 | 0 |
| 8 : 2 | 0.32 | 0.72 |
| 6 : 4 | 0.48 | 0.97 |
| 5 : 5 (가장 섞임) | 0.5 | 1 |
멈추기와 다듬기
- 정지 규칙: 더 나눠도 불순도가 거의 줄지 않을 때, 마디의 관측치가 최소 개수 이하일 때, 최대 깊이에 이르렀을 때 멈춘다. 정보이득이 임계값을 '넘으면' 멈추는 것이 아니라 '못 미치면' 멈춘다
- 가지치기: 다 키운 뒤 일반화에 도움이 안 되는 가지를 잘라 낸다. 검증 데이터 성능은 좋아지지만 훈련 데이터 정확도는 떨어질 수 있다
- 아래로 내려갈수록 불순도는 줄어든다
장점과 단점
| 장점 | 단점 |
|---|---|
| 규칙으로 읽혀 해석이 쉽다 | 데이터가 조금만 바뀌어도 구조가 크게 바뀐다 (불안정) |
| 정규성 같은 분포 가정이 필요 없다 (비모수) | 경계 근처에서 오차가 크고 예측이 계단처럼 끊긴다 |
| 중요한 변수를 스스로 고른다 | 변수끼리의 중요도를 정확히 비교하기 어렵다 |
| 이상값에 덜 민감, 범주형·연속형 모두 사용 | 깊게 자라면 과대적합. 훈련 정확도 100% 가 '항상' 되는 것은 아니다 |
시험에 이렇게 나와요
- 지니 지수 계산: 1 - Σp² (6 : 4 → 0.48), 순수 마디는 지니 0, 엔트로피 0
- 지니가 작을수록 순수 ('지니가 낮을수록 불순도가 높다', '지니가 최대가 되게 분리'는 틀림)
- 분류나무 기준: 지니·엔트로피·카이제곱 (잔차 제곱합은 아님), 카이제곱 p값은 작아지게, 분산 감소량은 커지게
- 가지치기는 과대적합 방지 ('훈련 정확도를 높인다'는 틀림)
- 정지 규칙: 정보이득이 임계값 '초과'면 정지는 틀림, 최소 관측치·최대 깊이
- 연속형이면 항상 훈련 정확도 100% 는 틀림
확인 문제
Q1. 한 마디에 A 범주 6개, B 범주 4개가 있다. 지니 지수는?
- 0.24
- 0.48
- 0.5
- 0.6
정답 보기
2번 0.48
지니 = 1 - (0.6² + 0.4²) = 1 - (0.36 + 0.16) = 0.48. 반반(0.5)에 가까울수록 섞여 있다.
Q2. A 8개, B 2개인 마디의 지니 지수는?
- 0.16
- 0.2
- 0.32
- 0.64
정답 보기
3번 0.32
1 - (0.8² + 0.2²) = 1 - 0.68 = 0.32.
Q3. 분류나무의 분리 기준으로 쓰기 어려운 것은?
- 엔트로피 지수
- 지니 지수
- 잔차 제곱합
- 카이제곱 통계량
정답 보기
3번 잔차 제곱합
잔차 제곱합(분산)은 회귀나무 쪽 기준이다.
Q4. 가지치기의 목적으로 알맞은 것은?
- 변수 수를 늘린다
- 훈련 데이터 정확도를 100% 로 만든다
- 과대적합을 막아 일반화 성능을 높인다
- 나무를 더 깊게 만든다
정답 보기
3번 과대적합을 막아 일반화 성능을 높인다
필요 없는 가지를 잘라 새 데이터에 잘 맞게 한다.
Q5. 엔트로피 지수를 분리 기준으로 쓰는 알고리즘은?
- CHAID
- Apriori
- k-평균
- C4.5
정답 보기
4번 C4.5
C4.5·C5.0 은 엔트로피(정보이득), CART 는 지니, CHAID 는 카이제곱.
Q6. 의사결정나무의 단점은?
- 결과를 해석하기 어렵다
- 데이터가 조금 바뀌어도 구조가 크게 바뀔 수 있다
- 정규분포 가정이 꼭 필요하다
- 범주형 변수를 쓸 수 없다
정답 보기
2번 데이터가 조금 바뀌어도 구조가 크게 바뀔 수 있다
불안정성이 대표적인 단점이다. 그래서 앙상블로 보완한다.
Q7. 마디 분리 기준에 대한 설명으로 옳지 않은 것은?
- 지니 지수가 최대가 되는 방향으로 분리한다
- 분산 감소량이 커지는 방향으로 분리한다
- 엔트로피가 작아지는 방향으로 분리한다
- 카이제곱 p값이 작아지는 방향으로 분리한다
정답 보기
1번 지니 지수가 최대가 되는 방향으로 분리한다
지니는 불순도라 작아지는 방향이다.
헷갈리기 쉬운 O·X
지니 지수가 낮아질수록 노드의 불순도는 높아진다.
정답 보기
X 지니 지수가 곧 불순도다. 낮을수록 순수하다.
한 범주만 있는 마디의 지니 지수와 엔트로피는 모두 0 이다.
정답 보기
O
분할로 얻는 정보이득이 임계값을 초과하면 성장을 멈춘다.
정답 보기
X 이득이 임계값에 못 미칠 때 멈춘다.