결정트리
결정트리(Decision Tree)는 일련의 분류 규칙을 통해 데이터를 분류(classification) 혹은 회귀(regression)할 수 있는 지도학습 모델 중 하나이다. 전체적인 모양이 나무를 닮아 붙어진 명칭이다.
[아사달] 스마트 호스팅 |
목차
[숨기기]개요[편집]
결정트리는 분류 및 회귀 문제를 해결하는 데 널리 사용되는 지도학습(supervised learning) 기반의 기계학습 알고리즘 중 하나이다. 마치 실제 나무(tree)처럼 뿌리에서 시작해 가지(branch)를 뻗고, 마지막 잎사귀(leaf node)에서 최종 결정을 내리는 구조를 갖는다. 이 알고리즘은 데이터의 특징(feature)을 기준으로 불순도(impurity)를 줄이면서 데이터를 반복적으로 분할하는 방식으로 학습을 진행한다. 결정트리는 데이터의 흐름이 직관적으로 표현되기 때문에 설명 가능성(explainability)이 높은 대표적인 모델로 평가받는다. 트리 기반의 구조는 인간의 사고방식과 유사하여 직관적인 해석이 가능하며, 복잡한 데이터 관계를 효과적으로 모델링할 수 있는 장점을 지닌다. 단점인 과적합 문제와 민감성을 보완하기 위해 다양한 앙상블 기법과 함께 사용되며, 오늘날의 머신러닝과 인공지능에서 핵심적인 알고리즘으로 자리 잡고 있다.[1]
구성 요소[편집]
결정트리는 여러 구성 요소로 이뤄져 있으며, 각각의 요소는 예측을 위한 논리적 분기 역할을 수행한다. 트리의 시작점인 루트 노드(root node)는 전체 데이터를 가장 잘 분할할 수 있는 기준(feature)을 찾는다. 이 기준은 지니 불순도(Gini Impurity), 엔트로피(Entropy), 분산 감소(Variance Reduction) 등 다양한 척도에 따라 결정된다. 이후 데이터는 조건을 만족하는지에 따라 내부 노드(internal node)를 거쳐 잎 노드(leaf node)에 도달하며, 이 잎 노드에는 최종 예측값(분류 클래스 또는 회귀값)이 저장된다. 이처럼 트리는 조건 기반의 분기를 통해 학습 및 예측을 수행하며, 사람에게도 쉽게 해석 가능한 형태로 결과를 제공한다.
학습 과정과 주요 기준[편집]
결정트리 학습의 핵심은 각 분기에서 어떤 기준으로 데이터를 나눌 것인가이다. 대표적인 기준으로는 지니 지수, 정보 이득, 분산 감소가 있다.
- 지니 지수: 불순도를 계산하는 데 사용되며, 특정 노드에서 데이터가 얼마나 혼합되어 있는지를 나타낸다. 이 값이 작을수록 더 순수한 상태임을 의미한다.
- 엔트로피와 정보 이득: 정보 이론에 기반한 기준으로, 데이터의 불확실성을 측정하고 이를 줄이는 방식으로 분기를 선택한다.
- 분산 감소: 회귀 문제에서 자주 사용되며, 노드를 분할했을 때 전체 분산이 얼마나 줄어드는지를 측정한다.
이러한 기준에 따라 트리는 데이터를 반복적으로 분할하고, 최종적으로는 각 데이터 샘플이 특정 잎 노드에 도달하도록 한다. 과적합을 방지하기 위해서는 트리의 깊이(depth), 최소 샘플 수(min_samples_leaf), 최대 분할 수(max_features) 등을 제한할 수 있으며, 사전 가지치기(pre-pruning)와 사후 가지치기(post-pruning)를 통해 일반화 성능을 높일 수 있다.[2]
지니지수[편집]
지니지수는 주로 분류 문제에서 사용되며, 노드의 불순도(impurity)를 측정하는 지표이다. 불순도란 노드에 속한 데이터가 얼마나 다양한 클래스로 이루어져 있는지를 의미한다. 지니지수는 다음과 같이 계산된다.
여기서 는 노드 에서 클래스 가 등장할 확률이다. 는 클래스의 총 개수이다.
- 예시
어떤 노드에 두 클래스 A, B가 각각 50%씩 있다면, 즉, 가장 불순한 상태이다. 반대로, 모두 A 클래스일 경우 즉, 가장 순수한 상태이다. 지니지수가 낮을수록 더 순수한 노드이며, 결정트리는 지니지수가 가장 크게 감소하는 방향으로 분할을 시도한다.
정보 이득[편집]
정보 이득 역시 분류 문제에서 많이 사용되는 지표로, 엔트로피를 기반으로 불순도를 측정한다. 정보 이득은 분할 전후의 엔트로피 차이를 이용하여, 분할이 얼마나 정보를 얻었는지를 평가한다.
여기서
- 는 전체 데이터 집합
- 는 분할 기준이 되는 특성
- 는 특성 A가 값 를 가질 때의 데이터 하위 집합
- 는 데이터 집합 D의 엔트로피이다.
정보 이득은 분할을 통해 얼마나 불확실성이 줄어들었는지를 나타낸다. 엔트로피가 높다는 것은 데이터가 여러 클래스에 걸쳐 있어 불순도가 높음을 의미한다. 정보 이득이 크다는 것은 좋은 분할이라는 뜻이다.
- 예시
A 노드의 엔트로피가 1이고, 두 자식 노드의 가중 평균 엔트로피가 0.4라면
즉, 0.6만큼의 정보 이득이 있다.
ID3 알고리즘은 정보 이득을 기준으로, C4.5는 정보 이득비율(Gain Ratio)을 기준으로 분할한다.
분산 감소[편집]
분산 감소는 주로 회귀 문제에서 사용되며, 노드에서의 타깃 변수의 분산을 기준으로 분할을 판단한다. 분산은 다음과 같이 정의된다.
여기서 는 각 샘플의 타깃 값, 는 샘플들의 평균 값이다.
분산 감소는 다음과 같이 계산된다.
여기서 는 전체 노드의 데이터, 는 분할 후 i번째 자식 노드의 데이터, 는 자식 노드의 수이다. 즉, 분할 전 분산 - 분할 후 가중 평균 분산으로, 값이 클수록 분산이 많이 줄었다는 의미이며, 이는 곧 예측값의 정확도가 높아졌음을 뜻한다.
주요 기법[편집]
가지치기[편집]
결정트리는 학습 데이터에 대해 완벽히 맞추려고 하다 보면 과적합이 발생할 수 있다. 이를 방지하기 위해 가지치기(pruning) 기법이 사용된다. 가지치기는 과하게 분기된 트리의 일부를 제거하여 일반화 성능을 높이는 데 기여한다. 가지치기에는 크게 두 가지 방식이 있다.
- 사전 가지치기: 트리를 생성하는 도중, 노드를 더 이상 분할하지 않도록 제한 조건(예: 최소 샘플 수, 최대 깊이 등)을 두는 방식이다.
- 사후 가지치기: 트리를 모두 만든 뒤, 일부 분기를 제거하거나 병합하여 일반화 성능을 높이는 방식이다. 비용 복잡도 가지치기(Cost Complexity Pruning)가 대표적이다.
장점[편집]
결정트리는 다음과 같은 장점을 지닌다. 첫째, 결과가 나무 구조로 표현되므로 해석이 매우 쉽다. 전문가가 아닌 사람도 트리 구조를 보고 의사결정의 흐름을 이해할 수 있다. 둘째, 수치형 변수와 범주형 변수를 모두 처리할 수 있으며, 결측값이나 데이터 정규화가 반드시 필요하지 않다. 셋째, 다차원 공간에서도 빠르게 학습과 예측을 수행할 수 있어 속도가 빠르다. 마지막으로, 적절한 설정을 통해 매우 강력한 예측 모델로 활용할 수 있으며, 앙상블 기법에서 핵심 구성요소로 사용되기도 한다.
단점과 한계[편집]
하지만 결정트리는 과적합의 위험이 크다는 단점이 있다. 특히 학습 데이터에 과하게 적응해 테스트 데이터에서는 낮은 성능을 보일 수 있으며, 작은 변화에도 구조가 크게 달라질 수 있는 불안정성도 존재한다. 또, 다수의 특성 중 일부에 지나치게 의존하는 편향된 구조가 생성될 가능성도 있다. 이를 해결하기 위해 앙상블 학습 기법인 배깅(Bagging)이나 부스팅(Boosting)이 활용되며, 랜덤 포레스트(Random Forest), 그레이디언트 부스팅(Gradient Boosting) 등의 모델이 개발되었다. 이들 알고리즘은 다수의 결정트리를 결합해 단일 트리의 약점을 보완하고 예측 성능을 향상시킨다.
활용 분야[편집]
결정트리는 금융, 의료, 제조, 마케팅, 교육 등 다양한 산업에서 널리 활용된다. 예를 들어, 금융에서는 고객의 신용도 평가, 부정 거래 탐지 등에 사용되며, 의료에서는 질병 예측, 환자 분류 등의 목적으로 활용된다. 또한 텍스트 분류, 이미지 기반 분류, 추천 시스템 등 여러 AI 분야에서도 기초 모델로 사용되거나, 복합 모델의 일부로 통합된다. 특히 결정트리는 설명 가능한 인공지능(Explainable AI)을 구성하는 중요한 요소 중 하나로 평가되며, 고도의 예측 성능뿐 아니라 투명성과 책임성까지 요구되는 상황에서 더욱 각광받고 있다.
각주[편집]
참고자료[편집]
같이 보기[편집]