차곡차곡

[머신러닝] Decision Tree (의사결정 나무) 본문

2021 데이터 청년 캠퍼스/머신러닝과 딥러닝

[머신러닝] Decision Tree (의사결정 나무)

sohy 2021. 7. 7. 01:47

Decision Tree (의사결정 나무)

의사결정 나무란? 머신러닝 모델 중 하나로, 데이터로부터 규칙들을 학습해 이를 조합하여 의사결정에 사용하는 모델. 전체 데이터를 여러 개의 소집단으로 나눈 뒤, 각 집단 내에서 분류 혹은 예측 시행

 

모든 데이터가 모여 있는 출발 지점을 root node라 하며, 최종 의사결정을 하는 마지막 지점을 terminal node라 한다.

root node에서 terminal node까지 가는 과정은 데이터 공간 분할의 연속

* 분할했을 때 분할하기 전보다 데이터 분포의 경향성 혹은 특징이 더 뚜렷하게 드러나야 한다. > 이를 수치적으로 계산해주는 함수를 불순도 함수라 한다.

불순도 함수가 계산한 불순도(불확실성)가 감소하는 방향으로 분할을 진행한다.

 

불순도란? 한 집합 내에서 데이터가 균일하지 않은 정도를 나타낸다.

 

정보이론이란? 정보이론에서 정보란 놀라움의 정도를 뜻한다. 놀라운 사건은 그렇지 않은 사건보다 더 많은 정보량을 갖고 있다. 

엔트로피란? 가능한 모든 사건이 가진 정보량의 기댓값이다. 엔트로피를 계산하면 현재 상황에 얻을 수 있는 놀라움의 기댓값을 알 수 있다.

불순도↑ = 엔트로피 수치 ↑ = 분류 어려움

 

정보획득량이란? 어떤 사건이 얼마만큼의 정보를 줄 수 있는지를 수치화한 값

정보획득량(information gain) = 분할 전 엔트로피 - 분할 후 엔트로피

정보획득량이 크면 불순도가 줄어든다는 것을 의미하며, 정보획득량을 계산하여 가장 큰 속성부터 기준을 삼아 의사결정나무에서 분할하게 된다.

의사결정나무를 효과적으로 배치하는 방법:

1) 앞 노드들의 엔트로피 합계를 최소화

2) 정보획득량을 최대화할 수 있는 속성을 순서대로 배치하는 것

[출처] [머신러닝] 의사결정나무(Decision Trees)와 엔트로피(Entropy) 정리|작성자 leehj9012

 

++코드

'2021 데이터 청년 캠퍼스 > 머신러닝과 딥러닝' 카테고리의 다른 글

머신러닝의 기초  (0) 2021.07.06
Comments