기계 학습의 의사결정 트리란 무엇입니까?
게시 됨: 2024-08-14의사결정 트리는 데이터 분석가의 기계 학습 툴킷에서 가장 일반적인 도구 중 하나입니다. 이 가이드에서는 의사결정 트리의 정의, 구축 방법, 다양한 애플리케이션, 이점 등에 대해 알아봅니다.
목차
- 의사결정 트리란 무엇입니까?
- 의사결정 트리 용어
- 의사결정나무의 유형
- 의사결정 트리의 작동 방식
- 응용
- 장점
- 단점
의사결정 트리란 무엇입니까?
기계 학습(ML)에서 의사결정 트리는 순서도 또는 의사결정 차트와 유사한 지도 학습 알고리즘입니다. 다른 많은 지도 학습 알고리즘과 달리 의사결정 트리는 분류 및 회귀 작업 모두에 사용할 수 있습니다. 데이터 과학자와 분석가는 새로운 데이터 세트를 탐색할 때 의사결정 트리를 사용하는 경우가 많습니다. 의사결정 트리는 구성 및 해석이 쉽기 때문입니다. 또한 의사결정 트리는 보다 복잡한 ML 알고리즘을 적용할 때 유용할 수 있는 중요한 데이터 기능을 식별하는 데 도움이 될 수 있습니다.
의사결정 트리 용어
구조적으로 의사결정 트리는 일반적으로 루트 노드, 리프 노드, 의사결정(또는 내부) 노드의 세 가지 구성요소로 구성됩니다. 다른 도메인의 순서도나 트리와 마찬가지로 트리의 결정은 일반적으로 루트 노드에서 시작하여 일부 결정 노드를 통과하고 특정 리프 노드에서 끝나는 한 방향(아래쪽 또는 위쪽)으로 이동합니다. 각 리프 노드는 훈련 데이터의 하위 집합을 레이블에 연결합니다. 트리는 ML 학습 및 최적화 프로세스를 통해 구성되며, 일단 구축되면 다양한 데이터 세트에 적용할 수 있습니다.
다음은 나머지 용어에 대해 자세히 알아보는 것입니다.
- 루트 노드:의사결정 트리가 데이터에 대해 묻는 일련의 질문 중 첫 번째를 보유하는 노드입니다. 노드는 최소한 하나(일반적으로 두 개 이상)의 결정 또는 리프 노드에 연결됩니다.
- 결정 노드(또는 내부 노드):질문이 포함된 추가 노드입니다. 결정 노드는 데이터에 대한 정확히 하나의 질문을 포함하고 응답을 기반으로 하위 노드 중 하나로 데이터 흐름을 전달합니다.
- 하위:루트 또는 결정 노드가 가리키는 하나 이상의 노드입니다. 이는 의사 결정 프로세스에서 데이터를 분석할 때 취할 수 있는 다음 옵션 목록을 나타냅니다.
- 리프 노드(또는 터미널 노드):결정 프로세스가 완료되었음을 나타내는 노드입니다. 결정 프로세스가 리프 노드에 도달하면 리프 노드의 값을 출력으로 반환합니다.
- 레이블(클래스, 카테고리):일반적으로 일부 훈련 데이터와 함께 리프 노드에 연결된 문자열입니다. 예를 들어, 리프는 "만족한 고객"이라는 레이블을 의사 결정 트리 ML 훈련 알고리즘이 제시된 특정 고객 집합과 연결할 수 있습니다.
- 분기(또는 하위 트리):이는 트리의 모든 지점에 있는 결정 노드와 모든 하위 노드, 리프 노드까지 구성된 노드 집합입니다.
- 가지치기(Pruning):트리를 더 작게 만들고 출력을 더 빠르게 반환하기 위해 일반적으로 트리에서 수행되는 최적화 작업입니다. 가지치기는 일반적으로 ML 훈련 프로세스가 트리를 구축한 후 노드나 가지를 알고리즘적으로 제거하는 "사후 가지치기"를 의미합니다. "사전 가지치기"는 훈련 중에 의사결정 트리가 얼마나 깊거나 크게 성장할 수 있는지에 대한 임의의 제한을 설정하는 것을 의미합니다. 두 프로세스 모두 일반적으로 최대 깊이 또는 높이로 측정되는 의사결정 트리에 최대 복잡성을 적용합니다. 덜 일반적인 최적화에는 결정 노드 또는 리프 노드의 최대 수를 제한하는 것이 포함됩니다.
- 분할:훈련 중 의사결정 트리에서 수행되는 핵심 변환 단계입니다. 여기에는 루트 또는 결정 노드를 두 개 이상의 하위 노드로 나누는 작업이 포함됩니다.
- 분류:클래스, 범주 또는 레이블의 상수 및 개별 목록 중에서 데이터에 적용할 가능성이 가장 높은 항목을 파악하려고 시도하는 ML 알고리즘입니다. "비행기를 예약하기에 가장 좋은 요일이 언제입니까?"와 같은 질문에 답하려고 시도할 수도 있습니다. 아래에서 분류에 대해 자세히 알아보세요.
- 회귀:항상 경계가 없을 수 있는 연속 값을 예측하려고 시도하는 ML 알고리즘입니다. "다음 주 화요일에 비행기를 예약할 가능성이 있는 사람은 몇 명입니까?"와 같은 질문에 대답(또는 대답 예측)을 시도할 수 있습니다. 다음 섹션에서 회귀 트리에 대해 더 자세히 설명하겠습니다.
의사결정나무의 유형
의사결정 트리는 일반적으로 분류 트리와 회귀 트리라는 두 가지 범주로 그룹화됩니다. 분류, 회귀 또는 두 가지 사용 사례 모두에 적용하기 위해 특정 트리를 구축할 수 있습니다. 대부분의 최신 의사결정 트리는 두 가지 유형의 작업을 모두 수행할 수 있는 CART(분류 및 회귀 트리) 알고리즘을 사용합니다.
분류 트리
가장 일반적인 유형의 의사결정 트리인 분류 트리는 분류 문제를 해결하려고 시도합니다. 질문에 대한 가능한 답변 목록(종종 "예" 또는 "아니오"와 같이 간단함)에서 분류 트리는 제시된 데이터에 대해 몇 가지 질문을 한 후 가장 가능성이 높은 답변을 선택합니다. 일반적으로 이진 트리로 구현됩니다. 즉, 각 결정 노드에는 정확히 두 개의 하위 항목이 있습니다.
분류 트리는 "이 고객이 만족합니까?"와 같은 객관식 질문에 답하려고 시도할 수 있습니다. 또는 “이 고객이 방문할 가능성이 있는 실제 매장은 어디입니까?” 또는 “내일은 골프장 가기 좋은 날이 될까요?”
분류 트리의 품질을 측정하는 가장 일반적인 두 가지 방법은 정보 획득과 엔트로피를 기반으로 합니다.
- 정보 획득:답변에 도달하기 전에 더 적은 수의 질문을 하면 트리의 효율성이 향상됩니다. 정보 이득은 각 결정 노드에서 데이터 조각에 대해 얼마나 많은 정보를 학습했는지 평가하여 트리가 얼마나 "빠르게" 답변을 얻을 수 있는지를 측정합니다. 가장 중요하고 유용한 질문이 트리에서 먼저 묻는지 여부를 평가합니다.
- 엔트로피:의사결정 트리 레이블에는 정확성이 매우 중요합니다. 엔트로피 측정항목은 트리에서 생성된 레이블을 평가하여 이 정확도를 측정합니다. 무작위 데이터 조각이 잘못된 레이블로 끝나는 빈도와 동일한 레이블을 받는 모든 훈련 데이터 조각 간의 유사성을 평가합니다.
트리 품질에 대한 고급 측정에는지니 지수,이득 비율,카이 제곱 평가및 분산 감소를 위한 다양한 측정이 포함됩니다.
회귀 트리
회귀 트리는 일반적으로 고급 통계 분석을 위한 회귀 분석에 사용되거나 연속적이고 잠재적으로 무한한 범위에서 데이터를 예측하는 데 사용됩니다. 다양한 연속 옵션(예: 실수 척도에서 0에서 무한대)이 주어지면 회귀 트리는 일련의 질문을 한 후 주어진 데이터에 대해 가장 일치할 가능성이 높은 항목을 예측하려고 시도합니다. 각 질문은 답변의 잠재적 범위를 좁힙니다. 예를 들어 회귀 트리를 사용하여 신용 점수, 사업 부문의 수익 또는 마케팅 비디오의 상호 작용 수를 예측할 수 있습니다.
회귀 트리의 정확성은 일반적으로평균 제곱 오차또는평균 절대 오차와 같은 측정항목을 사용하여 평가됩니다. 이는 특정 예측 세트가 실제 값과 얼마나 떨어져 있는지 계산합니다.
의사결정 트리의 작동 방식
지도 학습의 예로 의사결정 트리는 교육을 위해 올바른 형식의 데이터를 사용합니다. 원본 데이터에는 일반적으로 모델이 예측하거나 분류하기 위해 학습해야 하는 값 목록이 포함되어 있습니다. 각 값에는 첨부된 레이블과 관련 기능 목록이 있어야 합니다. 이 속성은 모델이 레이블과 연결하는 방법을 배워야 합니다.
구축 또는 교육
훈련 프로세스 중에 결정 트리의 결정 노드는 하나 이상의 훈련 알고리즘에 따라 더 구체적인 노드로 반복적으로 분할됩니다. 프로세스에 대한 인간 수준의 설명은 다음과 같습니다.
- 전체 훈련 세트에 연결된루트 노드부터 시작합니다.
- 루트 노드 분할:통계적 접근 방식을 사용하여 데이터 특징 중 하나를 기반으로 루트 노드에 결정을 할당하고 루트에 하위로 연결된 두 개 이상의 별도 리프 노드에 교육 데이터를 배포합니다.
- 각 하위 노드에2단계를 반복적으로 적용하여리프 노드에서 결정 노드로 전환합니다. 일부 제한에 도달하거나(예: 트리의 높이/깊이, 각 노드의 각 리프에 있는 하위 항목의 품질 측정 등) 데이터가 부족하면(예: 각 리프에 데이터가 포함되어 있음) 중지합니다. 정확히 하나의 라벨과 관련된 포인트).
각 노드에서 고려해야 할 기능에 대한 결정은 분류, 회귀, 결합된 분류 및 회귀 사용 사례에 따라 다릅니다. 각 시나리오에 대해 선택할 수 있는 알고리즘이 많이 있습니다. 일반적인 알고리즘은 다음과 같습니다.
- ID3(분류):엔트로피 및 정보 획득 최적화
- C4.5(분류):ID3의 더욱 복잡한 버전으로, 정보 획득에 정규화를 추가합니다.
- CART(분류/회귀): "분류 및 회귀 트리"; 결과 집합의 불순물을 최소화하도록 최적화하는 그리디 알고리즘
- CHAID(분류/회귀): "카이제곱 자동 상호 작용 감지"; 엔트로피 및 정보 이득 대신 카이 제곱 측정을 사용합니다.
- MARS(분류/회귀): 조각별 선형 근사치를 사용하여 비선형성을 포착합니다.
일반적인 훈련 방식은 랜덤 포레스트(Random Forest)입니다. 랜덤 포레스트(Random Forest) 또는 랜덤 결정 포레스트(Random Decision Forest)는 관련된 많은 의사결정 트리를 구축하는 시스템입니다. 훈련 알고리즘의 조합을 사용하여 여러 버전의 트리를 병렬로 훈련할 수 있습니다. 나무 품질에 대한 다양한 측정을 기반으로 이러한 나무의 하위 집합을 사용하여 답변을 생성합니다. 분류 사용 사례의 경우 가장 많은 수의 트리가 선택한 클래스가 답변으로 반환됩니다. 회귀 사용 사례의 경우 답변은 일반적으로 개별 트리의 평균 또는 평균 예측으로 집계됩니다.
의사결정 트리 평가 및 사용
의사결정 트리가 구축되면 새로운 데이터를 분류하거나 특정 사용 사례에 대한 값을 예측할 수 있습니다. 트리 성능에 대한 측정항목을 유지하고 이를 사용하여 정확성과 오류 빈도를 평가하는 것이 중요합니다. 모델이 예상 성능에서 너무 많이 벗어나면 새 데이터로 모델을 재교육하거나 해당 사용 사례에 적용할 다른 ML 시스템을 찾아야 할 때일 수 있습니다.
ML의 의사결정 트리 적용
의사결정나무는 다양한 분야에서 폭넓게 응용됩니다. 다음은 다양성을 보여주는 몇 가지 예입니다.
정보에 입각한 개인 의사결정
개인은 자신이 방문한 레스토랑에 대한 데이터를 추적할 수 있습니다. 이동 시간, 대기 시간, 제공되는 요리, 영업 시간, 평균 리뷰 점수, 비용 및 가장 최근 방문과 같은 관련 세부 정보를 개인의 해당 레스토랑 방문에 대한 만족도 점수와 함께 추적할 수 있습니다. 이 데이터를 바탕으로 의사결정 트리를 학습하여 새 레스토랑에 대한 만족도 점수를 예측할 수 있습니다.
고객 행동에 대한 확률 계산
고객 지원 시스템은 의사결정 트리를 사용하여 고객 만족도를 예측하거나 분류할 수 있습니다. 고객이 지원에 문의했는지, 반복 구매를 했는지, 앱 내에서 수행된 작업을 기반으로 하는지 등 다양한 요소를 기반으로 고객 만족도를 예측하도록 의사결정 트리를 훈련할 수 있습니다. 또한 만족도 조사나 기타 고객 피드백의 결과를 통합할 수도 있습니다.
비즈니스 결정을 알리는 데 도움이 됩니다.
풍부한 과거 데이터를 바탕으로 특정 비즈니스 결정을 내릴 때 의사결정 트리는 다음 단계에 대한 추정 또는 예측을 제공할 수 있습니다. 예를 들어, 고객에 대한 인구통계 및 지리적 정보를 수집하는 기업은 어떤 새로운 지리적 위치가 수익성이 높거나 피해야 하는지 평가하기 위해 의사결정 트리를 훈련할 수 있습니다. 의사결정 트리는 또한 고객을 그룹화할 때 별도로 고려할 연령대를 식별하는 등 기존 인구통계 데이터에 대한 최상의 분류 경계를 결정하는 데 도움이 될 수 있습니다.
고급 ML 및 기타 사용 사례를 위한 기능 선택
의사결정 트리 구조는 사람이 읽고 이해할 수 있습니다. 트리가 구축되면 데이터 세트와 가장 관련성이 높은 기능과 순서를 식별할 수 있습니다. 이 정보는 더 복잡한 ML 시스템이나 결정 알고리즘의 개발을 안내할 수 있습니다. 예를 들어, 기업이 결정 트리를 통해 고객이 제품 비용을 무엇보다 우선시한다는 사실을 알게 되면 이 통찰력에 더 복잡한 ML 시스템에 집중하거나 더 미묘한 기능을 탐색할 때 비용을 무시할 수 있습니다.
ML의 의사결정 트리의 장점
결정 트리는 ML 애플리케이션에서 인기 있는 선택이 되는 몇 가지 중요한 이점을 제공합니다. 다음은 몇 가지 주요 이점입니다.
빠르고 쉽게 구축
의사결정 트리는 가장 성숙하고 잘 이해되는 ML 알고리즘 중 하나입니다. 특별히 복잡한 계산에 의존하지 않으며 빠르고 쉽게 구축할 수 있습니다. 필요한 정보를 쉽게 사용할 수 있는 한 문제에 대한 ML 솔루션을 고려할 때 의사결정 트리는 쉽게 취할 수 있는 첫 번째 단계입니다.
인간이 이해하기 쉬운
의사결정 트리의 출력은 특히 읽고 해석하기 쉽습니다. 의사결정 트리의 그래픽 표현은 통계에 대한 고급 이해에 의존하지 않습니다. 따라서 의사결정 트리와 그 표현은 보다 복잡한 분석의 결과를 해석, 설명 및 지원하는 데 사용될 수 있습니다. 의사결정 트리는 주어진 데이터세트의 일부 상위 수준 속성을 찾고 강조하는 데 탁월합니다.
최소한의 데이터 처리 필요
불완전한 데이터나 이상값이 포함된 데이터에 대해서도 의사결정 트리를 쉽게 구축할 수 있습니다. 흥미로운 특징으로 장식된 데이터가 주어지면 의사결정 트리 알고리즘은 전처리되지 않은 데이터가 제공되는 경우 다른 ML 알고리즘만큼 영향을 받지 않는 경향이 있습니다.
ML의 의사결정 트리의 단점
의사결정 트리에는 많은 이점이 있지만 몇 가지 단점도 있습니다.
과적합에 취약함
의사결정 트리는 모델이 훈련 데이터의 노이즈와 세부 사항을 학습하여 새 데이터에 대한 성능을 저하시킬 때 발생하는 과적합에 취약합니다. 예를 들어 훈련 데이터가 불완전하거나 희박한 경우 데이터의 작은 변화로 인해 트리 구조가 크게 달라질 수 있습니다. 가지치기 또는 최대 깊이 설정과 같은 고급 기술을 사용하면 나무 동작을 개선할 수 있습니다. 실제로 의사결정 트리는 종종 새로운 정보로 업데이트되어야 하며, 이로 인해 구조가 크게 변경될 수 있습니다.
확장성이 좋지 않음
과대적합 경향 외에도 의사결정 트리는 훨씬 더 많은 데이터가 필요한 고급 문제로 인해 어려움을 겪습니다. 다른 알고리즘에 비해 의사결정 트리의 훈련 시간은 데이터 양이 증가함에 따라 급격히 늘어납니다. 감지할 상당한 상위 수준 속성이 있을 수 있는 대규모 데이터 세트의 경우 의사결정 트리가 적합하지 않습니다.
회귀 또는 지속적인 사용 사례에는 효과적이지 않습니다.
의사결정나무는 복잡한 데이터 분포를 잘 학습하지 못합니다. 이해하기 쉽지만 수학적으로 간단한 선을 따라 기능 공간을 분할합니다. 이상치가 관련된 복잡한 문제, 회귀 및 지속적인 사용 사례의 경우 이는 다른 ML 모델 및 기술보다 성능이 훨씬 떨어지는 경우가 많습니다.