분류분석
의사결정나무의 분리 기준(지니지수·엔트로피·카이제곱)과 가지치기, CART·C4.5·CHAID 비교, KNN, 나이브베이즈, SVM의 초평면·마진·커널을 다룹니다.
노란 밑줄n회 기출에 나온 지점(숫자는 등장 문항 수)✎ 는 덧붙인 필기
출제 비중 — 의사결정나무16회 의 지니14회 계산과 알고리즘별 분리 기준, SVM6회 의 마진·커널이 핵심이다.
의사결정나무
데이터를 분류 규칙의 나무 구조로 표현하는 지도학습 기법입니다. 결과가 if-then 규칙으로 나와 해석이 쉽고, 비선형 관계와 범주형 변수를 그대로 다룰 수 있습니다.
| 구성요소 | 의미 |
|---|---|
| 뿌리 노드(Root) | 전체 데이터를 담은 최상위 노드 |
| 자식/부모 노드 | 분리로 생긴 하위 노드 / 그 상위 노드 |
| 끝 노드(Terminal, Leaf) | 더 이상 분리하지 않는 노드. 예측값이 확정되는 곳 |
| 깊이(Depth) | 뿌리에서 끝 노드까지의 층 수 |
| 가지(Branch) | 뿌리에서 끝 노드까지의 규칙 경로 |
분석 절차는 ① 성장(Growing) → ② 가지치기(Pruning) → ③ 타당성 평가 → ④ 해석·예측 입니다.
분리 기준 — 불순도 측정
| 기준 | 식 | 종속변수 | 값의 범위 |
|---|---|---|---|
| 지니 지수(Gini) | 1 - Σpᵢ² | 이산형 | 0 ~ 0.5(2범주) |
| 엔트로피4회(Entropy) | -Σ pᵢ log₂ pᵢ | 이산형 | 0 ~ 1(2범주) |
| 카이제곱 통계량 | Σ (관측 - 기대)² / 기대 | 이산형 | p-값이 작을수록 분리 |
| 분산 감소량 / F통계량 | 분산의 감소 | 연속형 | — |
지니지수·엔트로피는 작을수록 순수하고, 분리 기준은 불순도 감소량(정보 이득)이 가장 큰 변수·분할점을 고릅니다.
수치 예제 — 한 노드에 A 6개, B 4개 (총 10개)
- p(A) = 0.6, p(B) = 0.4
- 지니지수 = 1 - (0.6² + 0.4²) = 1 - (0.36 + 0.16) = 1 - 0.52 = 0.48
- 엔트로피 = -(0.6 × log₂0.6 + 0.4 × log₂0.4) = -(0.6 × (-0.737) + 0.4 × (-1.322)) = 0.442 + 0.529 = 0.971
극단값 확인. A 5개·B 5개(완전 혼합) → 지니 = 1 - (0.25+0.25) = 0.5, 엔트로피 = 1. A 10개·B 0개(완전 순수) → 지니 = 1 - 1² = 0, 엔트로피 = 0.
정보 이득 계산. 부모 노드(A6·B4, 지니 0.48)를 두 자식으로 나눠 왼쪽 4개가 A4·B0(지니 0), 오른쪽 6개가 A2·B4(지니 = 1 - (0.333²+0.667²) = 1 - (0.111+0.444) = 0.444)라면 가중 지니 = (4/10)×0 + (6/10)×0.444 = 0.267 → 불순도 감소량 = 0.48 - 0.267 = 0.213.
지니 = 1 − 제곱의 합, 엔트로피 = 마이너스 시그마 p 로그 p.
정지 규칙과 가지치기
| 구분 | 내용 |
|---|---|
| 정지 규칙(Stopping rule) | 더 이상 분리하지 않는 조건 — 최대 깊이 도달, 노드 최소 관측치 수 미달, 불순도 감소량이 기준 미만 |
| 가지치기4회(Pruning) | 다 자란 나무의 끝 노드를 잘라 단순화해 과대적합을 방지 |
가지치기는 비용복잡도(cost-complexity) 를 기준으로, 검증 데이터의 오분류율이 최소가 되는 크기로 자릅니다.
가지치기의 목적은 과대적합 방지이며 결과는 더 작고 단순한 나무입니다. 정지 규칙은 성장 중에 멈추는 것(사전 제한), 가지치기는 다 키운 뒤 잘라내는 것(사후 제거)이라는 시점 차이도 자주 묻습니다.
의사결정나무 알고리즘 비교
| 알고리즘 | 분리 기준 | 분리 형태 | 종속변수 |
|---|---|---|---|
| CART | 지니지수(이산형) / 분산 감소량(연속형) | 이진 분리만 | 이산형·연속형 모두 |
| C4.5 / C5.0 | 엔트로피 기반 정보 이득비 | 다지 분리 가능 | 이산형 |
| CHAID | 카이제곱 통계량(이산형) / F통계량(연속형) | 다지 분리 | 이산형·연속형 |
| ID3 | 정보 이득(엔트로피) | 다지 분리 | 이산형 |
"CART = 지니 = 이진분리", "C4.5 = 엔트로피", "CHAID = 카이제곱 = 다지분리" 이 세 짝은 통째로 암기 대상입니다. CART만 가지가 항상 둘로 갈라진다는 점이 결정적 구별점입니다.
의사결정나무의 단점: 데이터가 조금 바뀌면 나무 구조가 크게 변하는 불안정성, 경계가 축에 수직인 계단 모양이라 선형 경계 표현이 비효율적이라는 점입니다. 이 불안정성을 앙상블(랜덤포레스트)로 보완합니다.
KNN (K-최근접 이웃)
새 관측치와 가장 가까운 K개 이웃의 다수결로 분류합니다.
- 게으른 학습(lazy learning): 학습 단계에서 모형을 만들지 않고 예측 시점에 거리 계산
- 거리 척도: 유클리드, 맨하탄, 민코프스키, (범주형은 해밍)
- 스케일에 매우 민감 → 정규화·표준화 필수
- K가 작으면 잡음에 민감하고 과대적합, K가 크면 경계가 무뎌져 과소적합
- K는 보통 홀수로 잡아 동표를 피하고, 흔히 √n 부근에서 탐색
"KNN은 학습 단계에서 파라미터를 추정한다"는 오답입니다. 모형을 미리 만들지 않는 사례 기반(instance-based) 기법이라 학습은 빠르고 예측이 느립니다. 차원이 커지면 거리가 무의미해지는 차원의 저주에 취약합니다.
나이브베이즈 분류
베이즈 정리에 기반해 사후확률이 가장 큰 클래스로 분류합니다.
P(C | X) = P(X | C) × P(C) / P(X)
- "나이브"의 의미: 모든 설명변수가 조건부 독립이라고 가정
- 계산이 빠르고 적은 데이터로도 학습 가능, 고차원 텍스트 분류(스팸 필터) 에 강함
- 학습 데이터에 없던 조합은 확률이 0이 되므로 라플라스 스무딩으로 보정
나이브베이즈의 핵심 가정은 변수 간 조건부 독립입니다. "변수 간 상호작용을 잘 반영한다"는 서술은 정반대의 오답입니다.
서포트 벡터 머신 (SVM)
두 클래스를 가장 잘 나누는 초평면(hyperplane) 을 찾는 기법입니다.
| 용어 | 의미 |
|---|---|
| 초평면 | 데이터를 나누는 결정 경계. p차원 공간에서 p-1차원 |
| 서포트 벡터 | 초평면에 가장 가까운 관측치들. 이들만 경계를 결정 |
| 마진(Margin) | 초평면과 서포트 벡터 사이 거리의 폭. SVM은 마진을 최대화 |
| 하드 마진 | 오분류를 전혀 허용하지 않음 — 잡음에 취약 |
| 소프트 마진 | 슬랙 변수로 일부 오분류 허용. C가 크면 오분류에 엄격(마진 좁음, 과대적합 위험) |
| 커널5회 트릭 | 저차원에서 선형 분리가 안 되면 고차원으로 사상해 선형 분리 |
커널 종류: 선형, 다항(Polynomial), 가우시안 RBF, 시그모이드. 실무 기본값은 RBF입니다.
SVM의 목적은 "오차 최소화"가 아니라 마진 최대화입니다. 서포트 벡터가 아닌 관측치를 지워도 경계는 그대로입니다.
마무리 체크
- 지니(1−Σp²) vs 엔트로피(−Σp log p), 최댓값 0.5 / 1
- 정지 규칙(사전) vs 가지치기(사후)
- CART·C4.5·CHAID 의 분리 기준과 분리 형태
- KNN 은 게으른 학습, K 가 작으면 과대적합
- 나이브베이즈는 조건부 독립 가정
- SVM 은 마진 최대화, 커널 트릭 SVM은 거리 기반이므로 스케일링이 필요하고, 기본 형태는 이진 분류여서 다중 분류는 일대일·일대다로 확장합니다.