의사결정트리 :
머신러닝에서 지도학습의 알고리즘이다.
분류 또는 회귀 분석 목적으로 사용한다.
목표 변수 유형에 따른 의사결정트리
범주형 목표 변수(출력 타입이 이산형) : 분류 트리
연속형 목표 변수(출력 타입이 연속형) : 회귀 트리
의사결정트리 구성요소
- 루트 노드 : 트리 구조가 시작되는 노드
- 부모 노드 : 자식 노드의 상위 노드
- 자식 노드 : 하나의 노드로부터 분리되어나간 2개 이상의 노드들
- 터미널 노드 : 트리 줄기 끝에 위치하고 자식 노드가 없는 노드
- 가지 : 루트 노드로부터 터미널 노드까지 연결된 마디들
- 깊이 : 루트 노드로부터 터미널 노드를 이루는 층의 수
의사결정트리 생성 시 고려사항
어떤 기준으로 규칙 만들어야 가장 효율적인 분류가 될 것인가가 알고리즘 성능 크게 좌우
규칙이 많다 -> 좀 더 예측을 위한 학습이 잘됨, 동시에 복잡함
가지 분할 특징 선정
터미널 노드가 다른 데이터와 섞이지 않은 상태로 완전히 분류되어야 한다.
불순도 감소를 기반으로 루트 노드 선정 및 자식 노드 형성
불순도 : 해당 Class 안에 서로 다른 데이터가 얼마나 섞여 있는지에 대한 정도
불순도 측정 방법
: 지니 지수, 엔트로피 지수, 정보 이득
지니 지수
데이터 집합의 불순도를 측정한다.
지니 지수는 0~1 사이의 값을 가진다. 낮을 수록 잘 분류된 것이다.(불순도가 낮다)
예제 이용한 의사결정트리 지니지수 계산
특징 A의 Gain 값
Gain(A) = G(1) - G(A)
각 특징들의 Gain값 구하고 가장 큰 Gain값 가지는 특징을 루트 노드로 선정한다.
모델 성능평가 척도
- 오차행렬 : 모델의 성능을 통계적인 수치로 시각화 하는 방법
- 정확도 : 모델이 정확하게 분류 또는 예측하는 데이터의 비율
- 정밀도 : 모델이 검출한 데이터 중 올바르게 검출된 데이터의 비율
- 재현율 : 실제 해당 데이터 중 모델이 올바르게 검출한 데이터의 비율
모델의 성능을 측정할 때 정밀도와 재현율의 균형을 유지해야 한다.
정밀도와 재현율은 trade-off 관계다.
F-Measure
정밀도와 재현율은 모델의 성능을 객관적으로 판단하기에 부족하다
따라서 두 수치의 trade-off 관계를 통합해 하나의 수치로 정확도를 도출한 것이다.
Random Forest
의사결정트리의 단점을 개선하기 위한 알고리즘 중 하나이다.
의사결정트리의 확장이다.
1. 데이터셋에서 샘플 데이터 선택
2. 샘플 데이터 이용해 의사결정트리 생성
3. 과정 1,2를 n번 반복
4. 과정 3을 통해 생성된 n개의 의사결정트리를 이용해 예측
5. 예측 결과에서 가장 많이 등장하는 결과를 선택해 최종 결과로 선택
Random Forest 장점
여러 개의 의사결정트리를 결합해 단일 의사결정트리의 결점을 극복했다.
구현이 간단하고 병렬 계산이 간편하다.
Random Forest에서 2가지 Random
- 데이터셋에서 샘플 데이터를 랜덤으로 선택한다.
- 샘플 데이터에서 특징을 랜덤으로 선택해 의사결정트리를 생성한다.
자기성능평가
- Bagging : 63%의 데이터 이용해 매개 트리를 생성, 나머지 37%의 데이터 이용해 매개 트리 성능을 평가한다.
- Out-of-Bag : OOB 데이터를 이용해 트리 성능을 교정한다. 성능 통계에서 많이 사용된다.
'전공 지식 정리 > 인공지능' 카테고리의 다른 글
#8 인공신경망 (0) | 2022.06.20 |
---|---|
#6,7 은닉 마르코프 모델, 머신러닝 (0) | 2022.06.20 |
#4,5 불확실성 및 확률 / 베이지안 네트워크 (0) | 2022.06.19 |
#3 지식 표현과 추론 (0) | 2022.04.23 |
#2 문제해결 및 탐색 전략 (0) | 2022.04.23 |