🌳 Decision Tree Induction · Information Theory · Symbolic Machine Learning
홈 aistudy 메인

ID3 (Iterative Dichotomiser 3 : 반복적 이분법 3)

ID3의 올바른 풀임 명칭은 Iterative Dichotomiser 3(반복적 이분법 3)입니다.
• Iterative (반복적인) : 데이터를 반복적으로 분할하며 결정을 내리는 알고리즘의 특성을 나타냅니다.
• Dichotomiser (이분법자/분할기) : 개념이나 대상을 두 개 혹은 그 이상으로 갈라 나눈다는 의미를 담고 있습니다. ... ID3 알고리즘은 의사결정 나무(Decision Tree) 를 생성하는 가장 고전적이고 대표적인 기계학습 알고리즘입니다. 1986년 로스 퀸란(Ross Quinlan) 에 의해 개발되었으며, 주로 범주형(Categorical) 데이터의 분류 문제를 해결하는 데 사용됩니다. '반복적으로 이분(Dichotomise)하는 탐색기'라는 이름처럼, 데이터를 반복적으로 하위 그룹으로 분할하며 트리 구조를 확장해 나갑니다 ... 엔트로피(Entropy) 와 정보 이득(Information Gain) 을 나침반 삼아, 훈련 데이터로부터 사람의 개입 없이 최적의 분류 규칙 트리를 스스로 귀납 학습(Inductive Learning) 해내는 머신러닝 역사상 가장 위대한 고전 결정 트리 알고리즘
📖

1. 원전 기록 및 고전적 정의 보존

aistudy 원전 기록 보존

ID3 : 이재규 외 : ID3 는 Ross Quinlan 이 개발한 학습방법으로서 어떤 개념에 관한 예와 반례로써 훈련집합 (Training Set) 이 주어졌을 때 이로부터 개념을 구별할 수 있는 의사결정 트리 (Decision Tree) 형태의 분류규칙을 생성시킨다. 여기서 분류하고자 하는 개념들을 클래스 (Class) 라 하고, 이 클래스에 관한 예는 해당 클래스를 한정된 수의 특성 (Property, Attribute) 으로써 묘사된다 .....

ID3 approach : Yoh-Han Pao : 패턴인식과 분류에 대한 ID3 접근은 비수치 속성이나 변수값 (nonnumeric attributes or feature values) 을 가지는 패턴들을 분류하기 위한 효율적인 식별 트리 (discrimination tree) 를 생성하기 위한 과정이다. 식별 트리는 규칙들을 모아놓은 (a body of rules) 형태로서 표현될 수 있기 때문에, ID3 는 기계학습이나 규칙획득을 위한 귀납추론으로 생각되기도 한다 ....

일반적인 경우, N (N) 개의 문자로 표현된 패턴들이 클래스 c_i, i=1,2,3,...,C (c_i, i = 1, 2, 3, ..., C) 에 속하는 패턴 집합으로 분할됩니다. 클래스 c_i (c_i) 에서의 모집단은 N_i (N_i) 입니다. 각 패턴은 K (K) 개의 변수를 가지며, 각 변수는 J_k (J_k) 개의 값들을 가집니다. (여기서는 단순화시켜서, 모든 변수들이 J (J) 개의 값들을 가지는 것으로 합니다). 효율적인 decision tree 를 생성하기 위한 ID3 방법은 다음과 같은 단계를 거칩니다.

📋 ID3 알고리즘의 4대 고전 실행 절차 (Yoh-Han Pao 요약) :

  • Step 1. 엔트로피의 초기값을 계산한다. ...
  • Step 2. decision tree 의 root node 가 될 변수를 선택한다. ....
  • Step 3. decision tree 의 다음 level 을 만든다. .....
  • Step 4. Step 1에서 3 까지 반복한다. ....
🔗 관련 상세 문서 : ID3 상세 설명 보러가기
ID3 의사결정 트리 구조도
[그림 1] ID3 알고리즘이 훈련 데이터로부터 생성하는 의사결정 트리 (Decision Tree) 구조
📐

2. ID3 의 기본 개념과 정보이론적 작동 원리

1986년 로스 퀸란(J. Ross Quinlan) 교수가 제안한 ID3(Iterative Dichotomiser 3)는 '반복적 이분기'라는 이름 그대로, 복잡한 데이터 집합을 엔트로피(Entropy) 기준에 따라 반복적으로 쪼개어 가장 순수한(Pure) 하위 노드들로 분할해 나가는 하향식(Top-Down) 탐욕적(Greedy) 알고리즘입니다.

(1) 섀넌 엔트로피 (Shannon Entropy) : 데이터의 무질서도 측정

엔트로피(Entropy)는 물리학의 열역학 개념을 클로드 섀넌(Claude Shannon)이 정보이론으로 가져온 것으로, 데이터 집합 내에 존재하는 불확실성(Uncertainty) 또는 무질서도(Impurity)의 크기를 수치화합니다.

/* 섀넌 엔트로피 공식 (Shannon Entropy) */
H(S) = - ∑_(i=1)^C p_i × log_2(p_i)

/* 여기서 p_i 는 전체 데이터 집합 S 에서 클래스 i 에 속하는 데이터의 비율 */
🎯 순수 노드 (Entropy = 0)

모든 데이터가 단 하나의 클래스(예: 전부 Yes이거나 전부 No)에만 속해 있어 불확실성이 전혀 없는 가장 이상적인 상태입니다. 트리의 잎 노드(Leaf Node)가 됩니다.

🌪️ 최대 무질서 노드 (Entropy = 1.0)

이진 분류에서 Yes와 No의 비율이 정확히 50:50인 상태입니다. 동전을 던지는 것과 같아 어떤 예측도 할 수 없는 최대 불확실성 상태입니다.

(2) 정보 이득 (Information Gain) : 최적의 분기 질문 선택 기준

어떤 속성(Attribute, A)으로 데이터를 분할했을 때, 분할 전의 엔트로피에서 분할 후 하위 부분집합들의 가중 평균 엔트로피를 뺀 값을 정보 이득(Information Gain)이라고 합니다. 즉, "이 질문을 던짐으로써 불확실성이 얼마나 감소했는가?"를 뜻합니다.

/* 정보 이득 (Information Gain) 공식 */
IG(S, A) = H(S) - ∑_(v ∈ Values(A)) ( |S_v| / |S| ) × H(S_v)

/* |S_v| / |S| 는 속성 A 가 값 v 를 갖는 하위 집합의 비율 */
💡 오컴의 면도날(Occam's Razor)과 ID3의 탐욕적 선택 :
"동일한 설명력을 가진 여러 가설 중에서는 가장 단순한 것을 선택해야 한다." — ID3는 가능한 모든 트리를 조합론적으로 전부 탐색하지 않고, 현재 단계에서 가장 정보 이득(IG)이 큰 속성을 루트 노드로 즉시 채택하는 국소 탐욕적(Local Greedy) 방식을 통해 매우 신속하게 작고 콤팩트한 트리를 완성합니다.
⚙️

3. ID3 알고리즘의 4단계 상세 작동 프로세스

기계학습 교과서(Tom Mitchell의 Machine Learning 등)에서 가장 널리 인용되는 로스 퀸란의 전설적인 '테니스 플레이(Play Tennis)' 데이터셋을 통해 ID3의 작동 절차를 분해해 봅니다.

📌 ID3의 재귀 정지 조건 (Termination Conditions) :
① 해당 노드의 모든 데이터가 동일한 클래스에 속할 때 (순수 노드 달성)
② 더 이상 분할할 수 있는 속성이 남아있지 않을 때 (다수결 투표로 클래스 결정)
③ 해당 가지에 속하는 데이터가 전혀 없을 때 (부모 노드의 다수 클래스로 결정)
⚡

4. ID3 의 본질적 한계와 C4.5 · CART 로의 진화

ID3는 인공지능 역사에 큰 획을 그었지만, 현실 세계의 복잡한 데이터셋에 적용하기에는 몇 가지 치명적인 태생적 한계를 안고 있었습니다. 이를 보완하며 현대 머신러닝의 표준 트리들이 탄생했습니다.

⚠️ 1. 다치 속성 선호 편향 (Multi-Valued Bias)

'주민등록번호', '고객ID', '날짜'처럼 고유한 값이 매우 많은 속성은 각 값마다 데이터가 1개씩만 배정되어 엔트로피가 0이 되므로, 무조건 최상위 분기 노드로 잘못 선택되는 치명적 편향이 있었습니다.

⚠️ 2. 연속형 수치 속성 처리 불가

나이(23.5세), 소득(5,400만원) 같은 연속형 실수를 직접 분할하지 못하고, 오직 범주형(이산형) 기호 속성만 다룰 수 있었습니다.

⚠️ 3. 결측치(Missing Data) 처리 불가

훈련 데이터에 특정 속성 값이 비어 있으면 엔트로피 계산이 중단되어 학습을 진행할 수 없었습니다.

⚠️ 4. 과적합(Overfitting)과 가지치기 부재

훈련 데이터의 모든 노이즈와 특이점까지 100% 외워버려 트리가 비정상적으로 거대해지고, 새로운 테스트 데이터에 대한 일반화 성능이 급격히 떨어졌습니다.

📊 결정 트리 알고리즘의 진화 계보

알고리즘 개발자 및 연도 분기 기준 (Split Criterion) 주요 혁신 및 특징
ID3 Ross Quinlan
(1986년)
정보 이득 (Information Gain)
엔트로피 기반
최초의 체계적 기호 트리 알고리즘, 이산형 속성 전용, 가지치기 없음
C4.5 Ross Quinlan
(1993년)
정보 이득비 (Gain Ratio)
분할 정보(Split Info)로 정규화
다치 속성 편향 해결, 연속형 수치 분할, 결측치 자동 처리, 사후 가지치기(Pessimistic Pruning) 도입
CART Breiman et al.
(1984년)
지니 불순도 (Gini Impurity)
또는 분산 감소량
언제나 이진 트리(Binary Tree)로만 분할, 분류(Classification)와 회귀(Regression)를 모두 지원
🚀

5. ID3 가 AI 와 기계학습 발전에 어떻게 기여했는가?

ID3는 단순한 통계적 분류기를 넘어, 인공지능이 "인간이 손수 코딩한 지식 주입"에서 벗어나 "데이터로부터 스스로 지식 규칙을 캐내는 데이터 주도형 머신러닝"으로 대전환을 이루게 한 기념비적 전환점이었습니다.

🎬

추천 강의 : Decision Trees and ID3 / Information Gain 명쾌한 해설

Josh Starmer 박사의 StatQuest 명강의 — 엔트로피(Entropy)와 정보 이득(Information Gain)을 이용해 결정 트리를 밑바닥부터 구축하는 원리

📚

6. 고전 원전 문헌 · 논문 · 연구자 아카이브

📖 ID3 핵심 고전 논문 및 저서 (Key References) :

🌐 aistudy 내부 및 외부 연구 아카이브 링크 :

🌐

7. aistudy 인공지능 · 기계학습 연계 지식 네트워크

ID3 알고리즘과 유기적으로 연결되는 aistudy 핵심 지식 문서들을 탐색할 수 있습니다.