본문 바로가기
데이터 및 Programing/Part1. Basic Knowledge

[ML Algorithm] Decision Tree (머신러닝, 의사결정나무, 엔트로피, 가지치기)

by 깜장스 2022. 1. 29.
반응형

Machine Learning Algorithm 중 하나인 Decision Tree에 대해 알아보겠습니다.

 

 

1. 의사결정 트리(Decision Tree) 란?!

 

- 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델

 

- 지도 학습으로 가장 유용하게 사용되고 있는 방법 중 하나임.

의사결정나무 예시 (출처 : 위키)

 

- 의사결정 나무를 만들기 위한 노드와 분기점을 찾기 위해서는 엔트로피를 이해해야함.

- 일반적으로 엔트로피의 개념을 쓰긴 하지만, 지니계수를 이용한 방법도 사용됨.

 

 

2. 엔트로피와 지니계수

 

   * 여기서 말하는 엔트로피는 열역학에서 말하는 것과 유사한 것으로 정보의 복잡도를 의미함.

 

      데이터가 어느 정도 순수한지, 분류가 잘되는 정도인지, 질서가 있는지 등을 측정하는 수치
 

      정보 엔트로피라 부르기도 함.

 

 

 

        박스로 둘러싸인 A 영역의 엔트로피를 구함.

        전체 16개(m=16) 가운데 빨간색 동그라미(범주=1)는 10개, 파란색(범주=2)은 6개.

        A 영역의 엔트로피는 아래와 같음.

 

 

        A 영역에 빨간색 점선을 그어 두 개 부분집합(R1, R2)으로 분할한다고 가정.

 

       두 개 이상 영역에 대한 엔트로피 공식은 아래 식과 같음.

       이 공식에 의해 분할 수 A 영역의 엔트로피를 아래와 같이 각각 구해보면

       (Ri=분할 전 레코드 가운데 분할 후 i 영역에 속하는 레코드의 비율)

 

 

 

       분기 전 엔트로피가 0.95였는데 분할한 뒤에 0.75가 되었으며, 0.2만큼 엔트로피 감소한 걸로 봐서

       의사결정 나무 모델은 분할한 것이 분할 전보다 낫다는 판단 하에 데이터를 두 개의 부분집합으로 나누게 됨.

 

 

 

    * 지니계수 역시 불순도 지표로 많이 사용됨.

 

 

- 선택된 기준에 의해 분할이 일어날 때, 노드에서의 지니 지수나 엔트로피 지수는 그 값이 클수록 노드 내의

  이질성이 큼을 의미하며,
  이 값들이 가장 작아지는 방향으로 가지 분할을 수행하게 됨.

 

3. 가지치기

 

- 의사결정 나무 모델 학습의 또 다른 축은 가지치기(pruning)입니다.

  모든 terminal node의 순도가 100%인 상태를 Full tree라고 하는데요.

  이렇게 Full tree를 생성한 뒤 적절한 수준에서 terminal node를 결합해주어야 합니다.

  왜냐하면 분기가 너무 많아서 학습 데이터에과적합(overfitting)할 염려가 생기기 때문입니다.

 

  다만 가지치기는 데이터를 버리는 개념이 아니고 분기를 합치는(merge) 개념으로 이해해야 합니다.

 

  terminal node가 너무 많으면 새로운 데이터에 대한 예측 성능인 일반화(generalization) 능력이 매우 떨어질

  염려가 있음.

 

4. 종류

 

- 분류 트리 분석은 예측된 결과로 입력 데이터가 분류되는 클래스를 출력.

 

- 회귀 트리 분석은 예측된 결과로 특정 의미를 지니는 실수 값을 출력

 

 (이 부분은 조금 공부해서 보강해 보아야 할 것 같다.. 의지가 오늘은 여기까지였다)

 

============================================================================

 

※ 엔트로피 계산 참고한 예시 출처 : https://ratsgo.github.io/machine%20learning/2017/03/26/tree/

반응형