머신러닝 개요, 결정트리와 랜덤포레스트
1. 결정 트리
결정 트리는 주어진 문제에 관해 결정을 내리는 함수를 트리 형태로 구성한 것이다. 이 방법은 결과에 대한 뛰어난 설명력을 제공하고 있는 것으로 알려져 있고, CART(Classification and Regression Trees)라고도 불리운다.
- 분류 트리분석 : 예측된 결과로 입력 데이터가 분류되는 클래스 출력
- 회귀 트리분석: 예측된 결과로 특정 의미를 지니는 실수 값 출력
루트 노드와 내부 노드는 결정 요인(속성)에 해당하며, 결정 요인의 값에 따라 가지의 개수가 결정되고, 리프 노드는 최종 결과에 대응된다.
이 기업의 학습 과정은 루트 노드에서 시작하여 각 노드에 적절한 속성을 선택하고 그 속성값에 따라 기준을 정하여 가지로 나누고 자식 노드를 추가한다. 각 자식 노드를 다시 루트 노드로 두고 이 과정을 반복한다. 또한 어떤 자식 노드에 할당된 데이터의 클래스 레이블이 모두 동일하면 해당 노드는 더 이상의 분할이 필요 없는 리프 노드가 된다.
- 지니 불순도: 각 노드에 할당된 데이터들의 혼합 정도를 측정하는 값
- 지니 평가지수: 특정 노드에서 자식 노드의 지니 불순도의 가중합 → 지니 평가지수를 최소화하는 속성 노드를 선택하여 레벨을 확장하는 과정을 반복
- 회귀를 위한 결정 트리: 리프 노드가 가지는 출력값이 실수값이 되어야 하고, 이를 위해 해당 노드에 할당된 데이터들이 가지는 목표 출력값의 평균값을 사용함
2. 랜덤 포레스트
결정 트리의 문제는 학습 데이터가 가지는 노이즈까지 완벽하게 표현할 수 있을 정도로 과다적합되어 일반화 성능이 저하된다는 데에 있다. 이를 해결하기 위해 결정 트리와 앙상블 학습기법을 결합한 랜덤 포레스트가 등장한 것이다.
랜덤 포레스트는 배깅 방법으로 데이터를 리샘플링하여 복수 개의 결정 트리를 학습하고 결합하는 방법이다. 분류 문제는 보팅 그리고 회귀 문제는 출력값의 평균을 취하는 결합 방법을 주로 사용한다. 사용한 결정 트리의 수가 증가함에 따라 정교한 결정경계가 만들어지고, 노이즈를 포함하는 데이터에 대하여 과다적합되는 현상이 많이 완화된다. 또한 생성 과정에서 많은 시간이 걸리고, 예측 결과를 해석하기 어려운 단점도 있다.