Unisquads
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

결정 트리 (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.12 06:27

결정 트리

분류

머신러닝

유형

지도 학습

알고리즘 종류

분류 및 회귀 분석

구성 요소

루트 노드, 내부 노드, 리프 노드

핵심 개념

정보 이득, 지니 불순도, 엔트로피

장점

해석 용이성, 범주형/연속형 데이터 처리

단점

과적합 가능성, 데이터 작은 변화에 민감

알고리즘 상세

알고리즘 종류

ID3, C4.5, CART

분할 기준

정보 이득 최대화, 지니 불순도 최소화

가지치기

사전 가지치기, 사후 가지치기

특징 중요도

분할 시 정보 이득 기반 계산

앙상블 활용

랜덤 포레스트, 그래디언트 부스팅의 기본 구성 요소

연속형 변수 처리

임계값 기반 이진 분할

결측값 처리

대체값 할당 또는 별도 분기

시각화

트리 구조 다이어그램

응용 분야

의료 진단, 금융 리스크 평가, 고객 세분화

소프트웨어 구현

scikit-learn, R의 rpart, XGBoost

1. 개요

결정 트리는 분류와 회귀 분석에 사용되는 지도 학습 머신러닝 알고리즘이다. 이 모델은 데이터의 특성에 기반한 일련의 질문(규칙)을 통해 결정을 내리는 과정을 나무 구조로 표현한다. 최종 결과는 마치 스무고개 게임처럼, 뿌리(root) 노드에서 시작하여 내부 노드에서의 분기 결정을 거쳐 잎(leaf) 노드에 도달함으로써 얻어진다.

결정 트리의 핵심 아이디어는 데이터를 가장 잘 구분할 수 있는 특성을 기준으로 반복적으로 분할하여, 각 최종 그룹(잎 노드)이 가능한 한 동질적인(순도가 높은) 샘플들로 구성되도록 하는 것이다. 이 과정은 재귀 알고리즘 형태로 구현된다. 결정 트리는 해석이 매우 용이한 화이트박스 모델로, 생성된 규칙 집합을 사람이 쉽게 이해하고 설명할 수 있다는 장점을 가진다.

결정 트리의 역사는 1980년대 초반으로 거슬러 올라간다. ID3 알고리즘[1]은 범주형 특성에 대한 분류 트리를 생성하는 초기 알고리즘으로 개발되었다. 이후 이를 개선하여 연속형 특성을 처리하고 가지치기 기능을 추가한 C4.5 알고리즘이 등장했다. 한편, CART 알고리즘[2]은 분류와 회귀 모두에 사용할 수 있는 더 범용적인 프레임워크를 제공했다.

이 알고리즘은 금융 위험 평가, 의료 진단, 고객 세분화 등 다양한 분야에서 활용된다. 또한, 단일 트리의 성능 한계를 극복하기 위해 랜덤 포레스트나 그래디언트 부스팅 같은 강력한 앙상블 학습 방법의 기본 구성 요소로 널리 사용된다.

2. 기본 원리

결정 트리의 기본 원리는 트리 구조를 사용하여 데이터를 분류하거나 회귀 예측을 수행하는 것이다. 이 구조는 루트 노드, 내부 노드, 리프 노드로 구성된다. 루트 노드는 전체 데이터셋을 포함하며, 내부 노드는 특정 조건에 따라 데이터를 하위 노드로 분할한다. 최종적으로 데이터가 도달하는 리프 노드는 분류의 경우 클래스 레이블을, 회귀의 경우는 수치적 예측값을 출력한다.

학습 과정의 핵심은 각 내부 노드에서 최적의 분할 기준을 찾는 것이다. 이는 데이터를 가장 잘 구분할 수 있는 특성과 그 임계값을 선택하는 것을 의미한다. 선택은 주어진 순도 지표를 최적화하는 방식으로 이루어진다. 분할은 일반적으로 재귀적으로 반복되어, 더 이상 분할할 수 없거나 정지 조건에 도달할 때까지 계속된다.

주요 순도 지표로는 지니 불순도와 엔트로피가 널리 사용된다. 지니 불순도는 한 노드 내에서 무작위로 두 개의 샘플을 추출했을 때 서로 다른 클래스에 속할 확률을 의미한다. 값이 0에 가까울수록 노드의 순도가 높다. 엔트로피는 노드 내 클래스 분포의 무질서함 또는 불확실성을 측정한다. 엔트로피 역시 0에 가까울수록 노드가 하나의 클래스로 완전히 분리된 순수한 상태임을 나타낸다.

이러한 지표를 바탕으로 분할의 효과를 정량화하는 정보 이득이나 지니 이득을 계산한다. 정보 이득은 분할 전 노드의 엔트로피에서 자식 노드들의 가중 평균 엔트로피를 뺀 값이다. 알고리즘은 각 가능한 분할에 대해 이득을 계산하고, 이득을 최대화하는 분할을 선택하여 트리를 성장시킨다.

2.1. 노드와 분할

결정 트리는 트리 구조를 사용하여 데이터를 분류하거나 회귀 분석을 수행하는 지도 학습 알고리즘이다. 이 트리는 내부 노드와 단말 노드로 구성되며, 각 내부 노드는 데이터의 특성에 대한 조건(분할 규칙)을 나타낸다. 단말 노드, 즉 리프 노드는 최종 예측값(클래스 라벨이나 회귀 값)을 담당한다. 학습 과정은 데이터를 가장 잘 구분할 수 있는 질문(분할 기준)을 반복적으로 찾아 트리를 성장시키는 것이다.

분할의 핵심 목표는 자식 노드들이 부모 노드보다 더 '순수'해지도록 하는 것이다. 즉, 같은 클래스의 데이터가 한 노드에 모이거나 회귀 값의 분산이 줄어들도록 한다. 이를 위해 각 노드에서 모든 가능한 특성과 그 임계값을 평가하여 최적의 분할 점을 선택한다. 분할 평가는 일반적으로 지니 불순도나 엔트로피(분류 문제), 또는 분산 감소(회귀 문제)와 같은 순도 지표를 사용하여 계산된 정보 이득을 기준으로 한다.

분할 과정은 의사결정 규칙을 생성하며, 이는 if-then-else 규칙 집합으로 해석될 수 있다. 예를 들어, "특성 A의 값이 X 이상인가?"라는 질문에 따라 데이터는 왼쪽 또는 오른쪽 자식 노드로 이동한다. 이 과정은 미리 정의된 정지 조건(예: 노드의 데이터가 모두 같은 클래스이거나, 최대 깊이에 도달하거나, 노드의 샘플 수가 최소값 미만인 경우)이 충족될 때까지 재귀적으로 반복된다.

노드 유형

역할

설명

루트 노드

트리의 시작점

전체 데이터셋을 포함하며, 첫 번째 분할이 이루어진다.

내부 노드

결정 지점

특성에 대한 테스트(분할 규칙)를 수행하여 데이터를 하위 노드로 전달한다.

리프 노드

최종 예측

더 이상 분할되지 않으며, 해당 노드에 도달한 데이터에 대한 예측값(클래스 또는 수치)을 출력한다.

2.2. 순도 지표 (지니 불순도, 엔트로피)

결정 트리 알고리즘이 노드를 분할할 때, 어떤 기준으로 분할하는 것이 가장 효과적인지를 수치화하여 판단하는 지표를 순도 지표라고 한다. 이 지표는 자식 노드들의 클래스 분포가 얼마나 순수한지, 즉 한 클래스로 잘 모여 있는지를 측정한다. 일반적으로 분할 전의 불순도에서 분할 후의 불순도를 뺀 값, 즉 정보 이득이 큰 분할 기준을 선택한다.

가장 널리 사용되는 순도 지표는 지니 불순도와 엔트로피이다. 지니 불순도는 한 노드에서 무작위로 두 개의 샘플을 뽑았을 때 서로 다른 클래스일 확률을 의미한다. 수식은 $G = 1 - \sum_{i=1}^{c} p_i^2$로 표현되며, 여기서 $p_i$는 해당 노드에서 i번째 클래스의 비율이다. 값이 0이면 해당 노드의 샘플이 모두 동일한 클래스라는 것을 의미하며, 완전히 순수한 상태이다.

지니 불순도 값

의미

0.0

노드 내 모든 샘플이 동일 클래스 (완전 순수)

0.5 (이진 분류, 균등 분포)

두 클래스가 정확히 반반씩 있음 (최대 불순도)

엔트로피는 정보 이론에서 비롯된 개념으로, 시스템의 무질서도 또는 불확실성을 측정한다. 결정 트리에서의 엔트로피는 $H = -\sum_{i=1}^{c} p_i \log_2 p_i$로 계산된다. 엔트로피 역시 값이 0이면 완전한 순수성을, 최댓값(예: 이진 분류에서 1)에 가까울수록 클래스 분포가 균등하여 불확실성이 큰 상태를 나타낸다. 알고리즘은 엔트로피 감소량, 즉 정보 이득을 최대화하는 분할을 선택한다.

두 지표 모두 분류 문제에서 노드의 불순도를 정량화하는 데 사용되며, 실제 성능 차이는 크지 않은 경우가 많다. CART 알고리즘은 주로 지니 불순도를, ID3와 C4.5 알고리즘은 엔트로피와 정보 이득을 기본 분할 기준으로 사용한다는 점이 특징이다.

3. 학습 알고리즘

결정 트리를 학습시키는 주요 알고리즘으로는 ID3, C4.5, CART 등이 있다. 이 알고리즘들은 모두 탐욕 알고리즘적 접근을 사용하여, 각 단계에서 최적의 분할을 선택함으로써 전체 트리를 구성한다. 핵심 차이는 분할 기준으로 사용하는 순도 지표와 트리가 처리할 수 있는 데이터 유형(범주형 또는 연속형)에 있다.

알고리즘

주요 발명가

분할 기준

지원 데이터 유형

주요 특징

ID3

로스 퀸란

정보 이득 (엔트로피 기반)

범주형 특성만

다지 분지 가능, 과적합 경향 높음

C4.5

로스 퀸란

정보 이득률

범주형 및 연속형 특성

지속값 처리, 가지치기 기능, 불완전 데이터 처리

CART

레오 브레이만 등

지니 불순도

범주형 및 연속형 특성

이진 분지만 가능, 회귀 트리 생성 가능

ID3는 가장 초기의 알고리즘 중 하나로, 엔트로피와 정보 이득을 기반으로 분할할 특성을 선택한다. 이 알고리즘은 순수 범주형 데이터를 처리하도록 설계되었으며, 하나의 노드에서 두 개 이상의 자식 노드로 분기하는 다지 분지를 수행한다. 그러나 연속형 숫자 데이터를 직접 처리할 수 없고, 훈련 데이터에 과적합되는 경향이 강한 단점이 있다.

이러한 ID3의 한계를 보완하여 개발된 것이 C4.5 알고리즘이다. C4.5는 연속형 속성을 이산화하여 처리할 수 있으며, 분할 기준으로 정보 이득을 그대로 사용하는 대신, 정보 이득을 분할 자체의 엔트로피로 정규화한 '정보 이득률'을 사용한다. 이는 값이 많은 특성에 대한 편향을 줄이는 효과가 있다. 또한 사후 가지치기를 통해 과적합을 완화하고, 결측값을 처리하는 메커니즘을 포함한다.

CART 알고리즘은 지니 불순도를 최소화하는 방향으로 분할을 선택한다. ID3나 C4.5와 달리 각 노드에서 항상 두 개의 자식 노드만 생성하는 이진 분지 방식을 사용한다는 점이 특징이다. CART는 분류 문제뿐만 아니라 연속적인 타깃값을 예측하는 회귀 트리를 생성하는 데에도 사용될 수 있다. 회귀 트리의 경우, 분할 기준으로 분산 감소 등을 사용한다.

3.1. ID3

ID3는 로스 퀸란이 1986년에 제안한 결정 트리 학습 알고리즘이다. 이 알고리즘은 정보 이론의 개념, 특히 엔트로피와 정보 이득을 기반으로 하여 트리를 상향식으로 구축하는 것을 핵심으로 한다. ID3는 범주형(명목형) 특성만을 처리할 수 있으며, 수치형 특성에 대한 처리는 지원하지 않는다. 또한, 이 알고리즘은 학습 과정에서 가지치기를 수행하지 않아 과적합되기 쉬운 경향이 있다.

알고리즘의 작동 방식은 다음과 같다. 먼저, 전체 데이터셋을 루트 노드로 시작한다. 각 단계에서 알고리즘은 아직 사용되지 않은 모든 특성에 대해 정보 이득을 계산한다. 정보 이득은 해당 특성으로 데이터를 분할하기 전후의 엔트로피 감소량을 의미하며, 가장 높은 정보 이득을 제공하는 특성을 선택하여 노드를 분할한다. 이 과정은 순수 노드(한 클래스의 샘플만 포함)가 생성되거나 더 이상 분할할 특성이 없을 때까지 재귀적으로 반복된다.

용어

설명

엔트로피

데이터셋의 불확실성이나 무질서도를 측정하는 지표이다. 클래스 분포가 균일할수록 엔트로피는 높아진다.

정보 이득

특정 특성으로 분할함으로써 엔트로피가 얼마나 감소하는지를 수치화한 것이다. 정보 이득이 클수록 해당 특성의 분류 능력이 뛰어나다.

ID3 알고리즘은 그 단순함과 개념적 명료성 덕분에 결정 트리 방법론의 초석이 되었다. 그러나 연속형 값을 처리하지 못하고, 결측치를 다루는 메커니즘이 없으며, 과적합에 취약하다는 한계를 지닌다. 이러한 한계점을 보완하고 발전시킨 후속 알고리즘으로 C4.5와 CART가 등장하게 되었다.

3.2. C4.5

C4.5 알고리즘은 로스 퀸란이 1993년에 제안한 결정 트리 학습 알고리즘으로, 그의 이전 알고리즘인 ID3의 한계를 보완하여 발전시킨 것이다. 이 알고리즘의 핵심 개선점은 연속형 변수를 처리할 수 있는 능력과 결정 트리의 과적합을 줄이기 위한 가지치기 메커니즘의 도입이다.

C4.5는 분할 기준을 선택할 때 정보 이득 대신 정보 이득비를 사용한다. 정보 이득은 값의 범위가 많은 특성(예: 고유 ID)을 선호하는 경향이 있는데, 정보 이득비는 이러한 편향을 보정하여 보다 균형 잡힌 특성 선택을 가능하게 한다[3]. 또한, ID3가 처리하지 못했던 연속적인 수치형 특성(예: 나이, 온도)을 처리하기 위해, 데이터를 정렬한 후 가능한 모든 분할 지점에서 정보 이득비를 계산하여 최적의 임계값을 찾는다.

이 알고리즘의 또 다른 중요한 특징은 사후 가지치기를 수행한다는 점이다. 학습 데이터로 완전한 트리를 성장시킨 후, 통계적 검정을 기반으로 하위 트리를 리프 노드로 대체하여 모델의 복잡도를 줄인다. 이 과정은 학습 데이터에 대한 지나친 맞춤, 즉 과적합을 방지하는 데 기여한다. C4.5는 결측값을 처리하는 메커니즘도 포함하고 있으며, 이는 알려지지 않은 특성 값을 가진 샘플을 분류할 때 사용된다.

C4.5 알고리즘의 출력은 단순한 결정 트리뿐만 아니라, 이해하기 쉬운 의사결정 규칙 집합의 형태로도 변환될 수 있다. 이 알고리즘의 성공과 영향력은 이후 등장한 C5.0 알고리즘과 CART 알고리즘을 포함한 많은 트리 기반 모델의 개발에 기초를 제공했다.

3.3. CART

CART는 Classification And Regression Trees의 약자로, 분류와 회귀 모두에 사용할 수 있는 결정 트리 알고리즘이다. ID3나 C4.5 알고리즘과 달리, 이진 분할을 기본으로 한다는 특징을 가진다. 즉, 각 노드는 '예' 또는 '아니오' 질문을 통해 두 개의 자식 노드로만 나뉜다. 이 방식은 트리 구조를 단순화하고 계산 효율성을 높이는 장점이 있다.

CART 알고리즘은 목표 변수의 유형에 따라 다른 순도 지표를 사용하여 최적의 분할 점을 찾는다. 분류 문제에서는 주로 지니 불순도를 최소화하는 방향으로 분할을 진행한다. 회귀 문제에서는 분산 감소, 즉 자식 노드들의 목표 값 분산을 최소화하는 기준을 사용한다. 각 분할에서 가능한 모든 특성과 모든 가능한 분할 임계값을 평가하여 가장 순도를 높이는 단일 분할을 선택하는 탐욕적 알고리즘을 적용한다.

CART로 생성된 트리는 일반적으로 매우 크게 성장한 후, 비용 복잡도 가지치기를 통해 과적합을 방지한다. 이 과정에서는 트리의 크기(노드 수)와 검증 데이터에 대한 오류를 함께 고려한 비용 복잡도 파라미터를 사용하여 서브트리를 제거할지 결정한다. 최종 모델은 교차 검증을 통해 선택된 최적의 가지치기 수준을 가진다.

CART 알고리즘의 주요 특징은 다음과 같이 정리할 수 있다.

특징

설명

용도

분류(Classification)와 회귀(Regression) 모두 지원

분할 방식

각 노드에서 이진 분할(Binary Split) 수행

분류 기준

주로 지니 불순도(Gini Impurity) 최소화

회귀 기준

분산(Variance) 감소, 평균 제곱 오차 최소화

가지치기

비용 복잡도 가지치기(Cost-Complexity Pruning) 사용

결과물

이진 트리 구조

이 알고리즘은 그 유연성과 해석의 용이성 덕분에 랜덤 포레스트나 그래디언트 부스팅 머신 같은 고급 앙상블 방법의 기본 구성 요소로 널리 채택되었다.

4. 과적합과 정규화

결정 트리는 훈련 데이터에 지나치게 복잡하게 맞추려는 경향이 있어 과적합 문제에 취약하다. 이는 트리의 깊이가 깊어지고 가지가 많아질수록 훈련 데이터의 잡음까지 학습하여 새로운 데이터에 대한 일반화 성능이 떨어지는 현상을 의미한다. 이를 방지하고 모델의 일반화 능력을 향상시키기 위한 기법을 정규화 또는 가지치기라고 한다.

가장 일반적인 정규화 방법은 사후 가지치기이다. 이는 최대한 성장시킨 트리에서 불필요하다고 판단되는 가지를 제거하여 모델을 단순화하는 방식이다. 사후 가지치기에는 비용-복잡도 가지치기와 최소 오류 감소 가지치기 등이 있다. 비용-복잡도 가지치기는 트리의 복잡도에 대한 패널티를 더한 비용 함수를 최소화하는 서브트리를 선택한다. 사전 가지치기는 트리 성장을 사전에 제한하는 방법으로, 최대 깊이, 리프 노드의 최소 샘플 수, 분할 시 최소 정보 이득 등 하이퍼파라미터를 설정하여 트리의 성장을 조기에 중단시킨다.

정규화 기법

설명

주요 하이퍼파라미터 예시

사후 가지치기

완전히 성장한 트리에서 가지를 제거

CCP 알파(비용 복잡도 매개변수)

사전 가지치기

트리 성장 과정에서 제한을 가함

max_depth(최대 깊이), min_samples_split(분할을 위한 최소 샘플 수), min_impurity_decrease(최소 불순도 감소량)

정규화의 효과는 검증 세트나 교차 검증을 통해 평가한다. 과적합된 복잡한 트리는 훈련 세트에서는 높은 정확도를 보이지만, 검증 세트에서는 성능이 급격히 떨어진다. 적절한 가지치기를 통해 이 지점을 찾아 트리의 크기를 조절하면, 검증 세트 성능을 최적화하면서 일반화된 모델을 얻을 수 있다.

4.1. 가지치기 (Pruning)

가지치기는 결정 트리 모델의 과적합을 방지하고 일반화 성능을 높이기 위해 사용되는 정규화 기법이다. 학습 과정에서 생성된 트리의 크기나 복잡도를 사후적으로 줄이는 과정을 의미한다. 가지치기는 주로 학습 데이터에 지나치게 맞춰져 분기한 가지(노드)를 제거하여 모델을 단순화한다.

가지치기 방법은 크게 사전 가지치기와 사후 가지치기로 나뉜다. 사전 가지치기는 트리 성장 중에 최대 깊이 제한이나 노드의 최소 데이터 포인트 수 같은 제약 조건을 두어 성장을 미리 멈추는 방법이다. 반면, 사후 가지치기는 트리가 완전히 성장한 후에 불필요하거나 유의미하지 않은 부분을 제거하는 방식으로, 일반적으로 더 나은 성능을 보인다. 대표적인 사후 가지치기 알고리즘으로는 비용-복잡도 가지치기가 있다. 이 방법은 트리의 오류와 복잡도에 패널티를 부과하는 비용-복잡도 함수를 최소화하는 서브트리를 선택한다.

가지치기의 효과는 검증 세트를 사용하여 평가하는 것이 일반적이다. 가지를 하나씩 제거해가며 검증 세트에 대한 성능이 저하되기 시작하는 지점을 찾거나, 교차 검증을 통해 최적의 트리 크기를 결정한다. 이를 통해 학습 데이터의 노이즈나 특이치에 과도하게 반응한 부분을 제거할 수 있다. 결과적으로 가지치기를 적용한 트리는 더 간결한 규칙을 가지며, 새로운 데이터에 대한 예측 정확도와 해석 가능성이 향상된다.

4.2. 최대 깊이 제한

최대 깊이 제한은 결정 트리 모델의 과적합을 방지하기 위한 가장 직관적인 정규화 기법 중 하나이다. 이 방법은 트리가 성장할 수 있는 최대 레벨(깊이)을 사전에 지정하여 모델의 복잡도를 강제로 제한한다. 깊이가 깊어질수록 트리는 훈련 데이터의 세부적인 패턴과 노이즈까지 학습하게 되어 일반화 성능이 저하되는 경향이 있다. 따라서 적절한 최대 깊이를 설정함으로써 모델이 지나치게 복잡해지는 것을 사전에 차단할 수 있다.

최대 깊이를 설정할 때는 편향-분산 트레이드오프를 고려해야 한다. 너무 낮은 깊이(예: 1 또는 2)는 모델이 데이터의 기본적인 구조조차 학습하지 못하는 과소적합을 초래할 수 있다. 반면, 너무 높은 깊이는 위에서 언급한 대로 과적합을 유발한다. 일반적으로 적절한 최대 깊이는 교차 검증을 통해 결정한다. 모델의 검증 세트에 대한 성능을 평가하면서 깊이를 조정하여 최적의 균형점을 찾는 것이 일반적인 절차이다.

최대 깊이 설정

예상되는 영향

일반적인 특징

매우 낮음 (1-3)

과소적합 가능성 높음

모델이 단순하고 해석이 쉽지만, 예측 성능이 낮을 수 있음

적절함 (검증 통해 결정)

편향과 분산의 균형

일반화 성능이 좋으며, 과적합 위험이 관리됨

매우 높음 또는 제한 없음

과적합 가능성 매우 높음

훈련 데이터에 대해 완벽히 맞출 수 있지만, 새로운 데이터 성능이 떨어짐

이 기법은 구현이 간단하고 계산 비용이 낮다는 장점이 있어 널리 사용된다. 대부분의 머신러닝 라이브러리에서는 max_depth와 같은 매개변수로 이 기능을 제공한다. 다른 정규화 방법인 가지치기가 트리를 완전히 성장시킨 후 후처리로 노드를 제거하는 방식이라면, 최대 깊이 제한은 트리 성장 과정 자체에 선제적인 제약을 가하는 선제적 방법이다. 두 방법은 종종 함께 사용되어 더 강력한 정규화 효과를 낸다.

5. 장단점

결정 트리의 가장 큰 장점은 해석의 용이성에 있다. 트리 구조를 시각화하면 데이터가 어떻게 분류되거나 예측되는지 그 흐름을 직관적으로 이해할 수 있다. 이는 블랙박스 모델로 불리는 복잡한 알고리즘과 대비되는 중요한 특징이다. 또한, 데이터 전처리 과정이 비교적 간단한 편이다. 수치형과 범주형 데이터를 함께 다루는 데 특별한 변환이 필요하지 않으며, 결측값을 다루는 데도 상대적으로 강건한 편이다. 계산 비용이 낮아 학습과 예측 속도가 빠르다는 점도 실무에서의 장점으로 꼽힌다.

반면, 결정 트리는 단독으로 사용될 때 심각한 과적합 문제에 취약하다. 특히 트리의 깊이가 깊어질수록 훈련 데이터의 세부 패턴까지 과도하게 학습하여 새로운 데이터에 대한 일반화 성능이 급격히 떨어진다. 이는 모델의 분산이 높아지는 현상이다. 또한, 결정 트리의 결정 경계는 데이터 축에 수직이거나 수평한 형태를 띠기 때문에, 비선형적이거나 복잡한 관계를 가진 데이터를 표현하는 데 한계가 있다. 데이터의 작은 변화에도 트리 구조가 크게 달라질 수 있는 불안정성도 단점이다.

이러한 단점을 보완하기 위해 결정 트리는 주로 앙상블 학습 방법의 기본 구성 요소로 활용된다. 예를 들어, 배깅 기법을 사용하는 랜덤 포레스트는 여러 결정 트리의 예측을 평균내어 과적합을 줄이고 안정성을 높인다. 부스팅 기법을 사용하는 그래디언트 부스팅 머신은 순차적으로 트리를 학습시켜 잔차를 보완함으로써 단일 트리보다 훨씬 높은 예측 정확도를 달성한다. 따라서, 결정 트리의 장점을 살리면서 단점을 극복하기 위해서는 이러한 앙상블 방법과의 결합이 일반적이다.

6. 앙상블 방법과의 연관

결정 트리는 단일 모델로 사용될 때 과적합에 취약하고 변동성이 큰 경향이 있다. 이러한 단점을 보완하고 예측 성능을 극대화하기 위해 다수의 결정 트리를 결합하는 앙상블 학습 방법이 널리 활용된다. 대표적인 앙상블 방법으로는 배깅 기반의 랜덤 포레스트와 부스팅 기반의 그래디언트 부스팅 머신(GBM)이 있다.

랜덤 포레스트는 부트스트랩 샘플링으로 생성된 여러 데이터셋에 대해 각각 결정 트리를 독립적으로 학습시키고, 그 결과를 평균(회귀)하거나 투표(분류)하여 최종 예측을 만든다. 이 과정에서 각 트리의 분할 시점에는 전체 특성 중 무작위로 선택된 일부만 후보로 고려하는 랜덤 서브스페이스 방식을 적용한다. 이 이중 무작위화는 개별 트리 간의 상관관계를 낮추어 모델의 분산을 감소시키고 일반화 성능을 향상시킨다.

방법

기본 원리

주요 특징

랜덤 포레스트

배깅 + 특성의 무작위 선택

트리가 독립적으로 병렬 학습됨. 과적합에 강하고, 특성 중요도 제공.

그래디언트 부스팅 머신

부스팅 (잔차를 학습하는 순차적 학습)

트리가 이전 트리의 오차를 보정하도록 순차적으로 학습됨. 일반적으로 더 높은 예측 정확도를 보임.

그래디언트 부스팅 머신은 결정 트리를 약학습기로 사용하여 순차적으로 앙상블을 구축한다. 각 새로운 트리는 이전까지의 앙상블 모델이 만든 예측 오차(잔차)의 그래디언트 방향을 학습하도록 설계된다. 이는 손실 함수를 최소화하기 위해 경사 하강법을 적용하는 것과 유사한 개념이다. XGBoost, LightGBM, CatBoost와 같은 현대적 구현체는 계산 효율성과 정규화 기법을 강화하여 매우 높은 예측 성능을 달성한다.

6.1. 랜덤 포레스트

랜덤 포레스트는 결정 트리 알고리즘의 단점인 과적합 경향을 줄이고 일반화 성능을 높이기 위해 고안된 앙상블 학습 방법이다. 레오 브레이만에 의해 제안된 이 방법은 배깅과 무작위 특성 선택의 개념을 결합하여 다수의 결정 트리를 구성하고, 그 결과를 종합하여 예측을 수행한다.

랜덤 포레스트의 학습 과정은 크게 두 가지 무작위성을 기반으로 한다. 첫째, 부트스트랩 샘플링을 통해 원본 데이터셋에서 중복을 허용하여 무작위로 추출된 여러 개의 서브셋을 생성한다. 각 결정 트리는 이렇게 생성된 서브셋을 학습 데이터로 사용한다. 둘째, 각 노드에서 분할 기준을 찾을 때, 전체 특성 중 무작위로 선택된 일부 특성만을 후보로 고려한다[4]. 이 과정을 통해 서로 다른 데이터와 특성을 바탕으로 학습된 다수의 트리가 생성된다.

예측 시에는 분류 문제의 경우 다수결 투표를, 회귀 문제의 경우 평균을 취하여 최종 결과를 도출한다. 이는 개별 트리의 예측 오차가 서로 상쇄되도록 하여, 단일 결정 트리보다 훨씬 안정적이고 강건한 성능을 보장한다. 또한, OOB 오차 평가를 통해 추가적인 검증 데이터 없이도 모델의 일반화 성능을 추정할 수 있다는 장점이 있다.

랜덤 포레스트는 다음과 같은 주요 특성을 지닌다.

특성

설명

다양성 확보

부트스트랩 샘플링과 무작위 특성 선택으로 트리 간 상관관계 감소

과적합 방지

다수 트리의 평균화 효과로 단일 트리 대비 과적합에 강함

병렬 처리 가능

각 트리의 학습이 독립적이므로 병렬 처리가 용이함

특성 중요도 제공

각 특성이 모델 성능에 기여한 정도를 측정할 수 있음

6.2. 그래디언트 부스팅 머신

그래디언트 부스팅 머신(GBM)은 여러 개의 약한 학습기, 주로 결정 트리를 순차적으로 학습하여 강력한 예측 모델을 구성하는 앙상블 학습 기법이다. 이전 트리의 오차를 보완하는 방식으로 새로운 트리를 추가하여 성능을 점진적으로 향상시킨다. 부스팅 알고리즘의 한 종류로, 특히 회귀와 분류 문제에 널리 사용된다.

알고리즘의 핵심은 경사 하강법을 손실 함수 공간에 적용하는 것이다. 먼저, 초기 모델(예: 상수값)을 만든다. 이후 각 반복(부스팅 라운드)에서는 현재 모델의 예측과 실제 값 사이의 오차, 즉 손실 함수의 음의 경사(negative gradient)를 계산한다. 이 계산된 '잔차' 또는 '경사'를 목표값으로 삼아 새로운 결정 트리를 학습시킨다. 새 트리는 이전 모델이 잘못 예측한 부분을 수정하는 방향으로 학습되며, 학습된 트리는 작은 학습률(보통 0.01~0.1)을 곱한 후 기존 모델에 추가된다. 이 과정을 정해진 횟수만큼 반복한다.

GBM의 성능은 여러 하이퍼파라미터에 의해 크게 영향을 받는다. 주요 파라미터로는 트리의 개수(n_estimators), 각 트리의 최대 깊이(max_depth), 학습률(learning_rate), 그리고 트리를 학습할 때 사용할 데이터 샘플의 비율(subsample)이나 특성의 비율(colsample_bytree) 등이 있다. 학습률을 낮게 설정하면 더 많은 트리가 필요하지만 일반적으로 더 나은 일반화 성능을 보인다. 또한, 조기 종료(early stopping) 기능을 활용하여 검증 세트 성능이 더 이상 향상되지 않을 때 학습을 중단함으로써 효율성과 과적합 방지를 동시에 달성할 수 있다.

GBM은 XGBoost, LightGBM, CatBoost와 같은 고도로 최적화된 라이브러리의 등장으로 실무에서 가장 강력하고 인기 있는 머신러닝 알고리즘 중 하나가 되었다. 이 라이브러리들은 정규화 항 추가, 결측값 처리 최적화, 범주형 변수 자동 처리 등의 고급 기능을 제공하며, 대규모 데이터셋에서도 뛰어난 속도와 정확도를 보인다.

7. 실무 적용

결정 트리는 모델의 해석 가능성이 높아 실무에서 다양한 방식으로 적용된다. 주요 활용 분야는 특성 중요도 분석과 결의 경계 시각화이다.

특성 중요도 분석은 모델이 예측을 수행할 때 각 입력 변수(특성)가 기여하는 상대적 중요도를 수치화한다. 이는 CART 알고리즘 기반의 트리에서 각 특성이 데이터의 불순도를 감소시키는 정도(지니 불순도 또는 엔트로피 감소량)를 기준으로 계산된다[5]. 분석 결과는 아래와 같은 표 형태로 정리될 수 있다.

특성 이름

중요도 점수

나이

0.45

소득 수준

0.30

거주 지역

0.15

교육 수준

0.10

이러한 분석은 비즈니스 의사 결정에서 핵심 영향 요인을 식별하거나, 불필요한 특성을 제거하여 모델을 단순화하는 특성 선택에 직접 활용된다.

결정 경계 시각화는 2개 또는 3개의 주요 특성으로 공간을 구성한 뒤, 트리가 어떻게 영역을 분할하는지를 직관적으로 보여준다. 각 내부 노드의 분할 기준(예: '나이 <= 30')은 경계선이 되고, 최종 리프 노드는 분할된 영역에 해당한다. 이 시각화는 모델의 논리적 판단 과정을 쉽게 설명할 수 있게 하여, 기술적 배경이 없는 이해관계자에게 모델의 동작을 전달하는 데 효과적이다. 그러나 트리의 깊이가 깊어질수록 경계가 매우 복잡해져 과적합된 모델을 드러내는 지표로도 기능한다.

7.1. 특성 중요도 분석

결정 트리 모델은 학습 과정에서 각 특성이 목표 변수를 예측하는 데 기여한 정도를 정량적으로 평가할 수 있다. 이 평가 결과를 특성 중요도라고 부르며, 모델 해석과 특성 선택에 유용하게 활용된다.

특성 중요도를 계산하는 일반적인 방법은 해당 특성이 데이터를 분할하는 기준으로 사용되었을 때, 불순도(예: 지니 불순도 또는 엔트로피)가 감소한 양을 누적하는 것이다. 각 노드에서의 불순도 감소량은 해당 노드의 샘플 가중치와 곱해져 전체 트리에 대한 기여도로 합산된다. 최종적으로 모든 특성의 중요도 합이 1이 되도록 정규화하여 상대적 중요도를 파악한다.

중요도 계산 요소

설명

불순도 감소

해당 특성으로 분할했을 때 부모 노드 대비 자식 노드들의 불순도 평균 감소량

노드 가중치

해당 노드에 도달한 훈련 샘플의 비율

누적 합산

트리 내에서 동일한 특성이 사용된 모든 노드의 (불순도 감소 × 노드 가중치)를 합산

이 분석 결과는 특성 공학에 직접적인 인사이트를 제공한다. 중요도가 매우 낮은 특성은 모델 성능에 거의 영향을 미치지 않으므로 제거하여 모델을 단순화할 수 있다. 또한, 도메인 지식과 상반된 중요도 순위가 나올 경우 데이터 전처리 과정이나 특성 자체에 문제가 있을 수 있음을 시사한다. 랜덤 포레스트나 그래디언트 부스팅 같은 트리 기반 앙상블 학습 방법에서는 개별 트리들의 특성 중요도를 평균내어 더욱 안정적인 평가를 얻는다.

7.2. 결정 경계 시각화

결정 트리의 결정 경계는 모델이 입력 공간을 어떻게 분할하는지를 직관적으로 보여준다. 각 내부 노드의 분할 규칙은 하나의 특성과 그 임계값을 기준으로 공간을 두 부분으로 나누며, 이 과정이 반복되어 최종적으로 다차원 공간이 여러 개의 직사각형 영역(리프 노드에 해당)으로 분할된다. 이러한 경계는 축에 평행한 선분들로 구성되기 때문에 해석이 용이하다는 장점이 있다.

시각화는 주로 두 개의 입력 특성(X1, X2)을 선택한 2차원 평면에서 수행된다. 각 리프 노드가 할당한 클래스 레이블에 따라 영역에 색상을 칠하고, 내부 노드의 분할 조건에 해당하는 수직선 또는 수평선을 그려 결정 경계를 나타낸다. 아래 표는 간단한 예시 데이터에 대한 결정 트리의 분할 과정과 그에 따른 결정 경계를 보여준다.

분할 노드

분할 조건 (특성, 임계값)

생성된 영역

할당 클래스

루트 노드

X1 < 5.0

왼쪽 영역

클래스 A

오른쪽 영역

(추가 분할 필요)

오른쪽 자식 노드

X2 < 3.0

오른쪽-아래 영역

클래스 B

오른쪽-위 영역

클래스 C

고차원 데이터의 경우 주성분 분석(PCA)이나 t-SNE 같은 차원 축소 기법을 먼저 적용하여 2차원으로 투영한 후 결정 경계를 시각화하기도 한다. 그러나 이 경우 원본 특성 공간의 축에 평행한 경계라는 본래 특성이 왜곡될 수 있음에 유의해야 한다.

결정 경계 시각화는 모델의 복잡도를 진단하는 데 유용한 도구이다. 깊이가 얕은 트리는 넓고 단순한 직사각형 영역을 만들지만, 깊이가 깊어지고 가지치기가 충분히 이루어지지 않으면 훈련 데이터의 작은 변동까지 잡아내며 구불구불하고 복잡한 경계를 형성한다. 이는 과적합의 징후로 해석될 수 있다. 따라서 시각화를 통해 모델이 데이터의 일반적인 패턴을 잘 학습했는지, 아니면 노이즈에 과민 반응하는지를 판단하는 데 도움을 얻을 수 있다.

8. 관련 문서

  • Wikipedia - 결정 트리

  • Wikipedia - Decision tree

  • Scikit-learn 공식 문서 - 결정 트리

  • 나무위키 - 결정 트리

  • Google Developers - 결정 트리 소개

  • Towards Data Science - Understanding Decision Trees

리비전 정보

버전r1
수정일2026.02.12 06:27
편집자unisquads
편집 요약AI 자동 생성