본문 바로가기

머신러닝

Decision Tree(결정 트리)가 왜 머신러닝 대표 알고리즘일까?

728x90
반응형

Decision Tree(결정 트리)가 왜 머신러닝 대표 알고리즘일까?

 

안녕하세요.

 

로스윗의 코딩캠프입니다.

 

오늘은 머신러닝 모델 중 Decision Tree에 대한 내용을 공유드리고자 합니다.

 

이후 모델인 Random Forest의 기본이 되는 모델이니열심히 배워봅시다~!

 

 

 

 

 

 

- Decision Tree란?


--> 조건에 따라 데이터를 분류하는 모델

Decision Tree는 대표적인 non-parametric모델입니다.

 

파라미터 w와 b가 존재하지 않지 때문이죠.

 

또한 Decision Tree는 대표적인 white-box 모델입니다.

 

모델이 훈련되는 과정을 명확하게 알 수 있기 때문입니다.

 

우리가 공부하는 Decision Tree모델은 CART입니다 (Classification And Regression Tree)


CART모델은 classification도 되고 regression도 되는 모델입니다.

CART는 대표적인 Decision Tree 모델 중에 하나입니다


CART binary tree입니다.


CART는 노드마다 feature 하나를 골라서 최적의 기준으로 나눌 수 있게 기준을 정합니다.


CART의 노드 하나는 feature 하나를 대상으로 합니다. 

 

 

그 특정 feature에서 어떤 기준을 주고 그 기준보다 크냐 작냐

 

카테고리의 경우에는 어떤 기준이냐 따라 데이터를 나눕니다.

 

그래서 어떤 기준은 최적의 기준인데 최적의 기준은 일반적으로

 

Gini Criterion이라는 지니계수를 사용합니다.

 

지니계수
지니계수

 

 

- Gini Criterion이란?

 

->> Gini Criterion은 불순도를 의미합니다.


불순도란 불순한 정도 즉, 섞여있는 정도를 의미합니다.


불순도가 낮은 경우가 서로 제일 안섞여 있는 경우입니다.


안섞여 있다는 것은 class끼리 clear하게 나누어져 있다는 말입니다.


Gini Criterion이 0이 될 때가 가장 깔끔하게 나뉘어 있는 경우입니다.

 

This is best case!

 

 

 

-Decision Tree는 어떻게 훈련(Training) 하나요?

CART 모델은 Gini Criterion이 가장 작아지는 포인트(최적의 기준)를 찾아서, 데이터를 나누게 됩니다.


그러면 그 최적의 기준은 어떻게 찾을까요?


슬프게도 Decision Tree에서의 최적의 tree를 찾는게

 

NP-complete 문제라서 현실적으로 불가능 합니다.

 

그래서 우리는 heuristic한 방식으로 찾습니다.
 
먼저 Income에 대해 오름차순 정렬해서 y값이 Ownership이 바뀌는 포인트를 찾아

 

그 지점의 중간값을 기준으로 사용합니다


그 다음에 또 Ownership이 바뀌는 포인트를 찾아 그 지점의 중간값을 기준으로 삼습니다.


그렇게 모든 데이터 끝까지 모두 기준점을 잡습니다.


그 다음에 Lotsize에 대해 오름차순 정렬해서 동일한 조건으로 기준값을 또 다 찾습니다.


그 기준값들을 전부 다 Gini Criterion을 계산한 다음에 그 중에 가장 작은 값을 best split point로 삼습니다. 


이것이 첫번째 루트 노드의 기준이 됩니다.


그 다음에 left subtree, right subtree에 대해서 반복적으로 같은 작업을 수행하면서

 

best split point를 구해 데이터를 나눠줍니다.


(특별한 제약 조건이 없다면) 모든 데이터가 나눠져서

 

leaf node가 모두 순수한 상태가 되면 멈춥니다. (=Gini Criterion이 0이 되는 케이스)

 

 

- Decision Tree는 어떻게 추론(Inference) 하나요?

 

만들어진 DT(Decision Tree)에 test data를 넣어서

 

트리를 탐색(retrieve)하게 되면 최종 결과가 나오게 됩니다.


이 결과를 예측값으로 사용해서 분류를 하게 됩니다.

 

-Decision Tree의 장단점

장점

-white box model (학습결과가 클리어하게 해석 가능하다)
-easy to train (학습이 쉽다)

단점
-easy to overfit (쉽게 training data를 외우게 됩니다)
-training data가 조금만 바뀌어도 학습 모델이 전혀 다르게 만들어집니다.

 

머신러닝 엔지니어가 되고 싶은 분들에게..

 

머신러닝 엔지니어가 되고 싶은 분들에게..

머신러닝 엔지니어가 되고 싶은 분들에게.. 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 머신러닝 엔지니어가 되고 싶은 여러분들이 입사 하게 되면 일하는 현실적인 부분과 주니어로 시작해

rosweet-ai.tistory.com

그림으로 쉽게 이해하는 머신러닝 분류(Classification) 모델

 

그림으로 쉽게 이해하는 머신러닝 분류(Classification) 모델

그림으로 쉽게 이해하는 머신러닝 분류(Classification) 모델 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 머신러닝의 task중 classification(분류)에 대해서 그림으로 쉽고 똑똑하게 알아보도록 하겠

rosweet-ai.tistory.com

 

728x90
반응형