부본 의사 결정 트리 란 무엇입니까? - Unite.AI
Rescale 미팅 예약

AI 101

의사결정나무란?

mm
업데이트 on

의사결정나무란?

A 의사 결정 트리 회귀 및 분류 작업 모두에 사용되는 유용한 기계 학습 알고리즘입니다. "의사결정 트리"라는 이름은 데이터가 단일 인스턴스로 분할된 후 분류될 때까지 알고리즘이 데이터 세트를 점점 더 작은 부분으로 계속 분할한다는 사실에서 유래되었습니다. 알고리즘 결과를 시각화해 보면 카테고리를 나누는 방식이 나무와 나뭇잎과 비슷할 것입니다.

이것은 의사 결정 트리의 빠른 정의이지만 의사 결정 트리가 작동하는 방식에 대해 자세히 살펴보겠습니다. 의사 결정 트리의 작동 방식과 사용 사례를 더 잘 이해하면 기계 학습 프로젝트 중에 의사 결정 트리를 언제 사용해야 하는지 아는 데 도움이 됩니다.

의사 결정 트리의 형식

의사 결정 트리는 순서도와 비슷합니다. 순서도를 활용하려면 차트의 시작점 또는 루트에서 시작한 다음 해당 시작 노드의 필터링 기준에 응답하는 방식에 따라 가능한 다음 노드 중 하나로 이동합니다. 엔딩에 도달할 때까지 이 과정을 반복합니다.

결정 트리는 본질적으로 동일한 방식으로 작동하며 트리의 모든 내부 노드는 일종의 테스트/필터링 기준이 됩니다. 트리의 끝점인 외부의 노드는 해당 데이터 포인트의 레이블이며 "잎"이라고 합니다. 내부 노드에서 다음 노드로 이어지는 분기는 기능 또는 기능의 결합입니다. 데이터 포인트를 분류하는 데 사용되는 규칙은 루트에서 리프까지 실행되는 경로입니다.

의사 결정 트리를 위한 알고리즘

의사 결정 트리는 데이터 세트를 서로 다른 기준에 따라 개별 데이터 포인트로 분할하는 알고리즘 방식으로 작동합니다. 이러한 분할은 다른 변수 또는 데이터 세트의 다른 기능으로 수행됩니다. 예를 들어 목표가 입력 기능으로 개 또는 고양이를 설명하는지 여부를 확인하는 것이라면 데이터가 분할되는 변수는 "발톱" 및 "짖는 소리"와 같은 것일 수 있습니다.

그렇다면 실제로 데이터를 분기와 잎으로 분할하는 데 사용되는 알고리즘은 무엇입니까? 트리를 분할하는 데 사용할 수 있는 다양한 방법이 있지만 가장 일반적인 분할 방법은 "재귀 이진 분할". 이 분할 방법을 수행할 때 프로세스는 루트에서 시작하고 데이터 세트의 기능 수는 가능한 분할 수를 나타냅니다. 함수는 가능한 모든 분할에 드는 정확도를 결정하는 데 사용되며 분할은 최소 정확도를 희생하는 기준을 사용하여 이루어집니다. 이 프로세스는 재귀적으로 수행되며 동일한 일반 전략을 사용하여 하위 그룹이 형성됩니다.

... 할 목적으로 분할 비용 결정, 비용 함수가 사용됩니다. 회귀 작업과 분류 작업에는 다른 비용 함수가 사용됩니다. 두 비용 함수의 목표는 반응 값이 가장 유사한 분기 또는 가장 동질적인 분기를 결정하는 것입니다. 특정 클래스의 테스트 데이터가 특정 경로를 따르기를 원한다고 생각하면 직관적으로 이해할 수 있습니다.

재귀 이진 분할에 대한 회귀 비용 함수 측면에서 비용을 계산하는 데 사용되는 알고리즘은 다음과 같습니다.

합계(y – 예측)^2

특정 데이터 포인트 그룹에 대한 예측은 해당 그룹에 대한 교육 데이터 응답의 평균입니다. 모든 데이터 요소는 비용 함수를 통해 실행되어 가능한 모든 분할의 비용을 결정하고 비용이 가장 낮은 분할이 선택됩니다.

분류를 위한 비용 함수는 다음과 같습니다.

G = 합계(pk * (1 – pk))

이것은 Gini 점수이며 분할로 인해 그룹에 서로 다른 클래스의 인스턴스가 얼마나 많은지에 따라 분할의 효율성을 측정한 것입니다. 즉, 분할 후 그룹이 얼마나 혼합되어 있는지 정량화합니다. 최적의 분할은 분할로 인한 모든 그룹이 한 클래스의 입력으로만 구성되는 경우입니다. 최적 분할이 생성된 경우 "pk" 값은 0 또는 1이 되고 G는 50이 됩니다. 최악의 경우 분할은 이진 분류의 경우 분할에서 클래스의 50-0.5 표현이 있는 경우라고 추측할 수 있습니다. 이 경우 "pk" 값은 0.5이고 G도 XNUMX입니다.

모든 데이터 포인트가 잎사귀로 바뀌고 분류되면 분할 프로세스가 종료됩니다. 그러나 트리의 성장을 조기에 중지할 수 있습니다. 크고 복잡한 트리는 과대적합되기 쉽지만 이를 방지하기 위해 여러 가지 방법을 사용할 수 있습니다. 과적합을 줄이는 한 가지 방법은 리프를 만드는 데 사용할 데이터 포인트의 최소 수를 지정하는 것입니다. 과적합을 제어하는 ​​또 다른 방법은 트리를 특정 최대 깊이로 제한하는 것입니다. 이 깊이는 경로가 루트에서 리프까지 확장될 수 있는 길이를 제어합니다.

의사 결정 트리 생성과 관련된 또 다른 프로세스 가지치기 중입니다. 가지치기는 모델에 대한 예측력/중요도가 거의 없는 기능이 포함된 분기를 제거하여 의사 결정 트리의 성능을 높이는 데 도움이 될 수 있습니다. 이러한 방식으로 트리의 복잡성이 줄어들고 과적합될 가능성이 줄어들며 모델의 예측 유용성이 증가합니다.

가지치기를 수행할 때 프로세스는 트리의 맨 위 또는 트리의 맨 아래에서 시작할 수 있습니다. 그러나 가장 쉬운 가지치기 방법은 리프에서 시작하여 해당 리프 내에서 가장 일반적인 클래스를 포함하는 노드를 삭제하는 것입니다. 이 작업을 수행할 때 모델의 정확도가 저하되지 않으면 변경 사항이 보존됩니다. 가지치기를 수행하는 데 사용되는 다른 기술이 있지만 위에서 설명한 방법(오류 감소 가지치기)이 아마도 의사결정 트리 가지치기의 가장 일반적인 방법일 것입니다.

의사결정나무 사용 시 고려사항

의사 결정 트리 종종 유용하다 분류를 수행해야 하지만 계산 시간이 주요 제약 조건인 경우. 의사 결정 트리는 선택한 데이터 세트에서 가장 예측력이 뛰어난 기능을 명확하게 할 수 있습니다. 또한 데이터를 분류하는 데 사용되는 규칙을 해석하기 어려울 수 있는 많은 기계 학습 알고리즘과 달리 의사 결정 트리는 해석 가능한 규칙을 렌더링할 수 있습니다. 결정 트리는 또한 범주형 및 연속형 변수를 모두 사용할 수 있습니다. 즉, 이러한 변수 유형 중 하나만 처리할 수 있는 알고리즘에 비해 사전 처리가 덜 필요합니다.

결정 트리는 연속 속성의 값을 결정하는 데 사용될 때 잘 수행되지 않는 경향이 있습니다. 결정 트리의 또 다른 한계는 분류를 할 때 훈련 예제가 적고 클래스가 많으면 결정 트리가 부정확해지는 경향이 있다는 것입니다.

전문 분야의 블로거 및 프로그래머 기계 학습 깊은 학습 주제. 다니엘은 다른 사람들이 사회적 이익을 위해 AI의 힘을 사용하도록 돕기를 희망합니다.