스킬캠퍼스
17강 · 의사결정나무
강의

오늘 끝나면

의사결정나무

  • 의사결정나무의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 의사결정나무이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

스무고개처럼 조건 따져서 나누자 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

통계 · 17

의사결정
나무

스무고개처럼 조건을 따져 데이터를 나눔.
“이 값이 X보다 큰가?” 예/아니오로 갈라 가지를 침.
끝(잎)에 도달하면 거기서 예측을 냄.

P.01통계 · 17

예/아니오 질문으로 가지치기

의사결정나무는 스무고개임.
한 번에 하나씩 예/아니오 질문을 던져 데이터를 좁혀감.

질문은 늘 한 가지 모양임.
“이 변수 값이 임계값보다 큰가?”
예면 한쪽 가지, 아니오면 다른 쪽 가지로 감.

맨 위는 뿌리(root) / 첫 질문.
갈라지는 지점은 마디(node) / 또 다른 질문.
더 안 갈라지는 끝은 잎(leaf) / 여기서 예측을 내놓음.

새 데이터가 들어오면 뿌리부터 질문을 따라 내려가
도착한 잎의 답을 그대로 예측으로 씀.

질문 한 번 = 가지 두 개
스무고개 — 질문 따라 내려가기
아니오아니오X > 5 ?Y > 3 ?잎 · 클래스 B잎 · A잎 · B

뿌리 → 마디 → 잎 / 잎에서 예측을 냄

P.02통계 · 17

가장 잘 가르는 질문을 고른다

질문은 아무거나 막 던지지 않음.
그룹을 가장 깔끔하게 갈라주는 질문을 고름.

기준은 불순도(impurity)임.
한 그룹에 두 색이 반반 섞이면 불순도 최대.
한 색만 있으면 불순도 0 / 완전히 순수함.

많이 쓰는 척도가 지니 불순도임.
G = 1 − p₀² − p₁²
여기서 p₀, p₁은 각 색의 비율임.

모든 변수 · 모든 임계값을 후보로 놓고
나눈 뒤 불순도가 가장 많이 줄어드는 질문을 채택함.
이 한 번을 매 마디마다 탐욕적으로 반복함.

한 걸음 더 — 정보이득(information gain)

분할의 좋음은 이득(gain)으로 잼.
gain = G(부모) − [w_L·G(왼) + w_R·G(오)]
w_L, w_R은 양쪽으로 간 데이터 비율임.

불순도 대신 엔트로피 H = −Σ pᵢ log₂ pᵢ를 쓰면
그 이득이 곧 정보이득임. 고르는 논리는 같음.

섞인 그룹 → 순수한 그룹
지니 불순도 — 낮을수록 좋음
반반 섞임
불순도 최대
0.50
한쪽 우세
조금 순수
0.38
거의 한 색
꽤 순수
0.20
한 색만
완전 순수
0.00

분할 후 불순도를 가장 많이 낮추는 질문을 고름

P.03통계 · 17

해석이 쉬운 게 강점

많은 모델은 속을 못 봄(블랙박스).
의사결정나무는 길을 그대로 읽을 수 있음.

뿌리에서 잎까지 따라간 경로가 곧 if-then 규칙임.
“소득 > 5천 그리고 나이 ≤ 40 이면 → 승인” 처럼.

왜 이렇게 예측했는지 사람이 설명 가능함.
의료 · 금융처럼 근거가 필요한 곳에서 특히 쓸모 있음.

단점도 있음 — 경계가 늘 축에 수직인 계단 모양임.
비스듬한 진짜 경계는 계단으로 근사할 수밖에 없음.

뿌리 → 잎까지 = 규칙 한 줄
경로 = 사람이 읽는 규칙
뿌리소득 > 5천 ?→ 예
마디나이 ≤ 40 ?→ 예
잎 · 예측승인

if 소득>5천 and 나이≤40 then 승인
왜 그렇게 예측했는지 그대로 설명됨.

P.04통계 · 17

직접 평면을 쪼개 보기

오른쪽에서 직접 해봄.
두 색 점을 한 축 기준 수직/수평선으로 갈라감.

분할이 한 번 일어날 때마다
평면이 사각형 영역으로 쪼개짐.
각 영역은 그 안 다수 색으로 예측함.

깊이 슬라이더를 올려 보셈.
깊을수록 영역이 잘게 나뉘어 경계가 점 하나하나에 달라붙음.
훈련 정확도는 100%로 가지만 그게 함정임 — 다음 장.

깊이를 올리며 영역 분할을 관찰
의사결정나무 · 영역 분할
예/아니오 질문으로 평면을 사각형으로 나눔
클래스 A클래스 B
나무 깊이depth = 2

깊이를 올릴수록 질문이 늘어 영역이 잘게 쪼개짐.

훈련 데이터 정확도88%

깊이 2: 대각선 경계를 계단으로 근사 중. 적당히 단순함.

P.05통계 · 17

너무 깊으면 과적합

나무는 깊게 키울수록 훈련 데이터를 더 잘 맞춤.
끝까지 키우면 점 하나하나를 자기 영역으로 가둬 100% 맞음.

근데 그건 규칙을 배운 게 아니라 데이터를 통째로 외운 거임.
노이즈(우연한 라벨)까지 외워버림.
이게 과적합(overfitting)임.

외운 나무는 새 데이터에선 무너짐.
훈련 정확도는 높은데 실제 성능은 낮음.

그래서 깊이를 제한하거나(가지치기, pruning)
여러 나무를 묶어 평균 냄.
그 묶는 방법이 다음 강 랜덤 포레스트임.

Q. 의사결정나무를 너무 깊게 키우면 생기는 문제는?

정답은 과적합임.
훈련 데이터를 통째로 외워(노이즈까지) 새 데이터에선 성능이 떨어짐.
막으려면 깊이 제한 · 가지치기 · 여러 나무 앙상블을 씀.

얕은 나무 vs 깊은 나무
같은 데이터 · 다른 깊이
얕은 나무

매끈한 경계 · 일반화

깊은 나무

외운 경계 · 과적합

깊은 쪽은 노이즈 점까지 감싸 외움 → 새 데이터에 약함

3줄 요약

  1. 1스무고개처럼 조건 따져서 나누자
  2. 2의사결정나무은 분포 → 표본 → 검정 → 회귀 → 모델 선택 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

의사결정나무

스무고개처럼 조건 따져서 나누자

분포

데이터가 어떤 모양으로 퍼져 있는지 나타낸 것

표본

전체를 알기 위해 뽑아 본 일부 데이터