결정 트리

Youngho LEE·2025년 6월 1일

결정 트리(Decision Tree)

  • 의사결정나무

  • 분류(Classfication)와 회귀(Regression) 모두 가능한 지도 학습 모델 중 하나

  • 분류 트리 : 목표 변수가 유한한 수의 값을 가지는 것 (Decision Tree Classifier)

  • 회귀 트리 : 목표 변수가 연속하는 값를 가지는 것 (Decision Tree Regression)

    장점

  • 결과를 해석하고 이해하기 쉽다. 간략한 설명만으로 결정 트리를 이해하는 것이 가능하다.

  • 수치 자료과 범주 자료 모두에 적용할 수 있다.

  • 화이트박스 모델을 사용한다.

  • 안정적이다.

  • 대규모의 데이터 셋에서도 잘 동작한다.

    단점

  • 각 노드에서의 부분 최적값을 찾아내는 탐욕 알고리즘 같은 휴리스틱 기법을 기반으로 하고 있다.
    이런 알고리즘들은 최적 결정 트리를 알아낸다고 보장할 수는 없다. 부분 최적화에 의한 영향을 줄이기 위하여 이중 정보 거리(dual information distance, DID)와 같은 방법을 사용하기도 한다.

  • 훈련 데이터를 제대로 일반화하지 못할 경우 너무 복잡한 결정 트리를 만들 수 있다.(과적합)
    가지치기 같은 방법을 사용하여 해결해야한다.

  • 배타적 논리합이나 패리티, 멀티플렉서와 같은 문제를 학습하기 어렵다. 이런 문제를 학습하기 위해서는 결정 트리가 엄청나게 커지기 때문에 문제의 표현 방법을 바꾸거나 통계 관련 학습법이나 귀납 논리 프로그래밍처럼 더 많은 것을 표현할 수 있는 학습 알고리즘을 사용해야한다.

  • 각각 서로 다른 수의 단계로 분류가 가능한 변수를 포함하는 데이터에 대해 더 많은 단계를 가지는 속성 쪽으로 정보 획득량이 편향되는 문제가 있다. 하지만 이 문제는 조건부 추론을 통해 해결이 가능하다.

  • 데이터의 특성이 특정 변수에 수직/수평적으로 구분되지 못할 때 분류율이 떨어지고, 트리가 복잡해지는 문제가 발생한다. 신경망 등의 알고리즘이 여러 변수를 동시에 고려하지만, 결정 트리는 한 개의 변수만을 선택하기 때문에 발생하는 당연한 문제이다.

  • 약간의 차이에 따라 트리의 모양이 많이 달라질 수 있다. 두 변수가 비슷한 수준의 정보력을 갖는다고 했을 때, 약간의 차이에 의해 다른 변수가 선택되면 이후의 트리 구성이 크게 달라질 수 있다.

관련 용어

  • root node : 최상위 노드

  • parent / child node : 노드 A가 B를 가리킬 때, A가 부모, B가 자식 노드

  • leaf node : 자식노드가 없는 노드 (terminal node)

  • internal node : root나 leaf node가 아닌 노드

  • 가지치기(Pruning)
    : 하부 트리를 제거하여 일반화 성능을 높임. overfitting 해결 가능

    • 속성제한 : Depth, Leaf Node의 최대 개수, 노드가 분할하는 최대 개수

    출처
    wikipedia

profile
개발자

0개의 댓글