의사 결정 트리 정의
- 나무 형태로 표현되며 전체 재료를 여러 하위 그룹으로 분류하거나 예측하는 기술
- 상위 노드에서 하위 노드로 트리 구조 형성
- 단계별 분류 변수 및 분류 기준값 선택 중요
- 상위 노드로 분류된 각 하위 노드는 노드 내에서의 균질성이 커지고 노드간에 이질성이 커지는 방향으로 분류 변수와 기준값을 선택
- 모델의 크기는 과도 적합(또는 과소 적합)하지 않도록 적절하게 조정됩니다.
- 예) 시장조사, 광고조사, 품질관리, 타겟 고객분류, 고객신용분류, 행동예측 등
의사 결정 트리 구성
- 루트 노드(Root Node, 루트 노드)
- 나무가 시작되는 절
- 부모가 없는 단어로 대상이 되는 모든 자료 집합 포함
- 중간절(Internal Node)
- 근절에서 나온 각 나무의 줄기의 한가운데에 있는 절
- 종점(터미널 노드, 리프 노드)
- 각 나무의 줄기 끝에 있는 절
- 아이가 없는 절
- 자절(Child Node)
- 한 절에서 분리된 두 개 이상의 절
- 친절(Parent Node)
- 자절의 친절
- 브랜치
- 한 구절에서 마지막 구절로 이어진 구절
- 깊이
- 최장 가지의 크기(절의 개수)
의사 결정 유형
분류 트리
- 이산형(카테고리형) 목표 변수에 의한 빈도 기반 분리에 사용
- 이산 유형 목표 변수 : 목표 변수 카테고리에 속하는 빈도 기반 입력 데이터가 분류되는 클래스
- 상위 노드에서 분기 분할을 진행할 때의 분리 기준
- 카이 제곱 제어량의 p-value : ((실제 도수 – 기대 도수) ^ 2 / 기대 도수)의 합계
- Gini Index : 특정 세트에서 하나의 항목을 선택하여 무작위로 라벨을 추정하면 잘못된 것일 수 있습니다.
- 엔트로피 지수(Entropy Index): 무질서의 정도에 대한 측도
- 분리 기준을 선택할 때 하위 노드가 불순도를 통해 현재 노드에 비해 불순도가 감소하도록 설정
- 분리 기준 : 어떤 입력 변수를 입력하고 분리하는 것이 의사 결정 트리 모델의 목표에 가장 적합한 지에 대한 기준
- 불순도: 서로 다른 데이터가 혼합된 정도
- 정보 취득(Information Gain): 불순도의 차이
회귀 나무
- 연속형(수치형) 목표 변수에 의한 평균/표준 편차 기반 분리에 사용
- 연속형 목표 변수: 목표 변수 평균/표준 편차에 기초한 예측 결과로서 특정 의미를 갖는 실수값 출력
- 상위 노드에서 분기를 진행할 때의 분리 기준
- 분산 분석 F-통계량의 p-값(p-value of F-Statistic)
- 분산 감소량(Variance Reduction): 분산 감소량이 최대화될수록 낮은 불균일성, 순도가 높아지는 방향으로 분기 진행
의사 결정 트리 분석 프로세스
- 변수 선택
- 목표 변수와 관련된 설명(독립) 변수 선택
- 의사 결정 트리 형성
- 분석 목적에 따른 적절한 분리 기준과 정지 규칙, 평가 기준 등으로 의사 결정 트리 생성
- 정지 규칙: 더 이상 분리가 발생하지 않고 현재 절이 끝 절이 되도록 하는 몇 가지 규칙
- 전정
- 부적절한 나뭇가지 제거
- 오버 피팅을 방지하고 일반화 성능 향상
- 모델 평가 및 예측
- 이익(리스크), 리스크(리스크), 비용(비용) 등을 고려
- 모델을 평가하고 분류 및 예측 수행
- 정보 취득 (Information Gain)
- 순도가 증가하고 불확실성이 저하됨
- 현재 노드의 불순도와 자식 노드의 불순도의 차이를 의미
- 재귀적 분기(Recursive Partitioning) 학습
- 분기 전부터 분기 후의 각 영역의 정보 취득량이 높아지도록 입력 변수 영역 구분
- 사전 설정된 기준을 충족할 때까지 분기를 반복하는 학습
- 모든 잎(말미)의 엔트로피가 0이 될 때까지 반복하기 위해 새로운 데이터가 올바르게 분류되지 않는 현상을 방지하기 위해 일정 단계에서 정지 또는 분기를 재조정하는 전정 단계로 이동
- 전정
- 평가용 데이터 활용
- 부적절한 추론 규칙이 있거나 불필요하거나 분류 오류를 증가시키는 위험한 절을 제거합니다.
- 오류 감소 전정 (Reduced Error Pruning)
- 분할/조합 전후의 오류 비교
- 오류가 감소하지 않을 때까지 반복하는 방법
- 룰 포스트 전정(Rule Post Pruning)
- 트리 구조를 루트 노드에서 리프 노드까지 경로 형태로 변환
- 정밀도가 낮은 순서로 삭제하는 방법
- 분기가 너무 많으면 학습 데이터가 과도하게 되어 복잡한 트리 생성이 발생할 수 있습니다.
- 사전 전정과 사후 전정을 이용한 과적합 방지
- 타당성 평가
- 이익, 비용, 위험 등을 고려하여 모델 평가
- 이익도, 위험도, 교차 타당성(교차 검증)에서 의사결정 트리 평가
- 해석과 예측
- 의사결정 트리의 최종 모델 해석으로 분류 및 예측 모델 결정
- 의사결정 트리를 사용하여 인공지능을 배우기 위한 게시물
2022.05.09 – (Programming/Machine Learning (Python)) – 인공 지능 기계 학습 – Decision Tree 모델
의사 결정 트리의 대표 알고리즘
CART(Classification and Regression Trees)
- 일반적으로 사용되는 의사 결정 트리 알고리즘
- 불순도 측도에서 카테고리형 또는 이산형의 경우 지니지수 활용
- 불순도 측도로 연속형의 경우, 분산의 감소량을 이용한 바이너리 분리 활용
C4.5/C5.0
- 범주형/이산형 목표 변수에만 활용
- 불순도 측도에서 카테고리형 또는 이산형인 경우에만 엔트로피 지수를 이용
- 카테고리의 수만큼 분리가 일어나지만, 각 절에서 아마 분리(multiple split) 가능
CHAID (Chi-squared Automatic Interaction Detection)
- 카테고리형/이산형 목표 변수와 연속형 목표 변수에 활용
- 불순도 측도에서 카테고리형 또는 이산형의 경우, 카이 제곱 통계량을 활용
- 불순도 측도로 연속형의 경우 ANOVA F-통계량 활용
- 전정없이 적절한 크기로 성장을 멈추십시오.
- 분리 변수의 범주별로 절을 형성하는 아마 분리 가능
랜덤 포레스트
- 부트스트랩과 버깅을 이용하여 숲을 형성
- 부트 스트랩 기반 샘플링을 사용하여 의사 결정 트리 만들기
- 부트스트랩 (BootStrapping)
- 단순 복원 임의 추출법(랜덤 샘플링)
- 같은 크기의 여러 샘플 데이터 만들기
- 전체 관측치의 일부를 뽑아 통계치를 측정하는 과정을 여러 번 반복하는 것
- 부트스트랩 (BootStrapping)
- 그런 다음 버깅 기반 나무를 모아 앙상블 학습
- 버깅(Bagging, Bootstrap Aggregating)
- 여러 부트스트랩 데이터를 생성하고 학습하는 모델링
- 분류기를 만든 후 결과를 앙상블하는 방법
- 추출한 각 샘플에 대한 모델링 학습 후의 결과를 집계하여 최종 결과를 만드는 방법
- 카테고리 데이터: 다수결 투표 방식
- 연속 데이터 : 평균으로 결과 집계
- 앙상블 학습(Ensemble Learning)
- 여러 모델을 학습하고 결합하는 방법 학습 방법
- 일반화 성능을 향상시켜 과적합을 해결
- 부스트
- 가중치를 사용하여 약한 분류기를 강한 분류기로 만드는 방법
- 차례로 분류 모델이 잘못된 위치에 집중하여 새로운 분류 규칙을 만드는 기술
- 이전 분류기의 학습 결과에 따라 다음 분류기의 학습 데이터 샘플 가중치를 조정하여 학습 진행
- 잘 맞는 약 분류기: 가중치 추가
- 잘못 평가된 약한 분류기: 가중치 공제
- 누적 약 분류기의 가중치를 합하여 최종 학습을 모델링
- 버깅(Bagging, Bootstrap Aggregating)
의사결정 나무의 장점과 단점
- 장점
- 연속형, 카테고리형 변수 모두 적용
- 변수를 비교할 수 있으며 규칙을 쉽게 이해할 수 있습니다.
- 데이터에서 규칙을 도출하는 데 유용
- 활용 분야 : DB 마케팅, CRM, 시장 조사, 기업 부도/환율 예측 등
- 단점
- 트리 구조가 복잡한 경우 예측/해석력 저하
- 데이터 변형에 민감
메모