캡쳐 사진 및 글작성에 대한 도움 출저 : 유튜브 - 허민석님


의사결정 트리

image

위의 그림이 있는 상태에서, 아무것도 모르는 애기한테 '겨울가족 사진 한번 찾아봐' 라고 얘기했다고 가정해보자.
애기는 아무것도 모르니까 우리는 힌트를 줘야한다.
'1. 사람이 있어야 가족사진이란다.'

image

그렇다면, 애기는 만화가족사진 + 사람가족사진 중 사람가족사진 걸러낼 것이다.

두번째 힌트는 '2. 이 있어야 겨울사진이지'라고 힌트를 주자. 그렇다면 눈없는 사람가족사진 + 눈있는 사람가족사진 중 눈있는 가족사진을 걸러낼 것이다.

image


세번째 힌트는 '3.사람이 여러명 있어야 겨울가족사진이란다'라고 주자.

image


이렇게 학습이 된 애기한테, 다른 사진을 보여주면서 겨울가족사진인지 알아맞추라고 해보자.

image


엘사사진 -> 만화라서 바로 걸러진다.
겨울가족사진 -> 만화x사람o -> 눈o-> 1명이상 o -> 겨울가족사진 맞아!
라는 답이 나올 것이다.
image


여기서 애기는 머신이고, 우리가 가르쳐준 것을 배우는 러닝을 하였고, 이러한 과정을 통해서 푸는 것이 Decision Tree 알고리즘이다.


의사결정트리의 2가지 메인 컨셉

image

  1. 머신은 애기와 같이, 아무것도 모른다. 우리가 알려줘야한다. 일단 문제부터 알려줘야한다. -> Define Problem
    여기서는, 겨울가족사진이 맞는지?을 Define Problem으로 선택했다.
    그리고 맨처음 8개 사진을 준 것이 -> Collect training Data이다.

  2. 두번째는 Decision Tree를 만드는 과정이다. --> Build a tree
    tree를 만들려면
    1) Extract Data ( Data에서 중요한 feature(여기서는 cartoon? / winter?1명이상? ) 를 뽑아내야한다.
    2) 그 다음에 Build a tree한다.

  3. 만든 Decision Tree알고리즘으로 머신을 돌리는 것을 Deploy Machine이라고 한다.

  4. 이제 학습이된 똑똑한 머신에게 새로운 data(여기서는 사진 ,엘사/스키장사진)를 보여주는 것을 Test라 한다.


Extract Data란? 

데이터에서 중요한 feature(속성)를 뽑아내서 tree의 결정 기준으로 삼는 과정이다.
겨울가족사진 data에서 extract한 feautre는 cartoon? / winter?1명이상? 3가지였다.
image



Build a Decision Tree

뽑아낸 중요feature(속성)어떤 것을 먼저 사용해야 효율적일까?

image

카툰?을 기준으로 split해보면-----> 4개가 떨어져나간다.
winter? 로 split해보면 -----------> 3개가 떨어져나간다
1명이상?으로 split해보면 --------> 3개가 떨어져나간다.

가장 직관적으로 가장 많이 떨어져나가는 카툰? 을 먼저 사용하는 것이 효율적이게 된다.

image
남은 것은
winter? --> 1개 떨어져나감
1명이상?-> 2개 떨어져나감.
2번째로는 1명이상? 을 tree의 기준으로 삼아주고 마지막으로 winter?로 나누면 될것이다.
image


Entropy?

image

왼쪽 방처럼 많이 어질러져있다면, High Entropy / 오른쪽방처럼 조금 어질러져있다면 Low Entropy라 한다.


다시 아까 tree를 만드는 과정으로 돌아와보자.
image


3개의 속성(attribute, feature in data)을 사용하여 data를 split함으로써, 깔끔해진다고 해서 Entropy가 낮아진다고 할 수 있다.


Information Gain? (Base entropy - new entropy)

information gain 은  base entropy - new entropy 값이다.
전문적으로 다음 attribute(feature)를 선택할 때, 이 information gain이 가장 높을 것을 선택한다..
공식상으로는, base entropy는 주어진 8개 사진이라 고정이고, new entropy가 낮아져야한다.

즉, 8개의 사진 중에서 data가 split 됨에 따라, new entropy가 점점 낮아지는데,
new entropy가 최대한 낮아지도록 많이 split된다면, 그만큼 information gain은 높아질 것이다.

그래서 가장 데이터가 많이 split되는 카툰? 속성이 가장 먼저 선택되는 것이다

+ Recent posts