슈랭 2017. 4. 9. 22:48

트리의 장점은?


<Titanic Decision tree>


1) 트리를 만드는 계산 비용은 N개의 데이터 개수에 대해서 logN으로 매우 낮음

2) 해석하기 편리하다. 직관적


변수 설정 방법


스무 고개를 할 때의 과정과 유사하다. "남자인가요?"라는 질문 전에 "사람인가요?"라는 질문을 보통 먼저한다.

"남자인가요?" "사람인가요?"의 순으로 질문을 하지 않는다.

왜냐하면 모든 남자는 사람이기 때문이다.


변수의 값을 앎으로써 얼마나 추가적인 정보를 얻게 되는지를 계산함으로써 변수를 정한다.

이를 수치화하는 데는 정보 이론 (정보 엔트로피)가 사용된다.


적용방법(ID3)


다음 분류 스텝에서 특정 변수를 선택했을 때 전체 트레이팅 데이터의 엔트로피가 얼마나 줄어드는지를 살핀다.

ID3 알고리즘은 각 변수의 알고리즘 이득을 계산하고, 가장 높은 값을 갖는 변수를 선택한다.

각 단계에서 최고의 변수는 선택되고 제고된다.


ID3 알고리즘


1) IF 모든 예제들이 같은 라벨을 갖는다면 라벨과 함께 잎 노드를 반환

2) Else if 테스트할 변수들이 더이상 존재하지 않는다면 가장 일반적인 라벨들을 사용하여 잎 토드를 반환

3) 엔트로피를 이용하여 정보 이득을 최대화 하는 변수를 고르고 다음 노드로 선택

4) 선택한 변수의 값에 대해서 각각 노드의 가지를 추가

5) 각 가지에 대해서 

     -  변수 집합으로 부터 선택 변수를 제거하고 엔트로피를 계산

     -  반복적으로 수행하여 현재 예제들의 집합에 대한 상대적인 이득을 계산 



또 다른 적용방법 (지니 불순도)


결정 트리의 목표는 잎 노드가 같은 클래스에 속하는 데이터들을 묶는 것이다.

위의 Titanic Decision tree도 결국, 생존자와 사상자를 구분 할 수 있는 변수와 값들을 찾는 것이다.


잎 노드가 순수하다면 해당 잎에 속한 모든 트레이닝 데이터는 하나의 클래스를 갖는다.

즉, 여성일 경우 모두 생존했다면 Survived의 잎은 pure하게 된다.

pure의 정도를 수치화하여 변수를 선택하는 방법이 지니 불순도를 이용한 방법이다. 


시중에 나와있는 다수의 패키지들은 지니 불순도를 이용하는 것 같다. 



데이터 분석에도 유형이 있는 것 같다. 크게 2가지 유형이 있는 것 같은데

첫번째는 학습자 성능에 초점을 맞춘 유형 (이미지 분류, 패턴인식 등) 시스템에 들어가는 것들

두번째는 데이터를 해석하는 것에 초점을 맞춘 유형 (Feature selection등), 컨설팅이나 Business analysis에서  많이 하는 사용 하는 것 같다.

ex.재방문을 유도하기 위해서는 어떤 부분을 어떻게 터치해줘야하는가?와 같은 질문들에 대한 대답


Decision tree는 너무나 직관적이고 이해하기 쉽기 때문에 활용도가 굉장히 높음


직관적이라는 건 생각보다 훨씬 큰 장점인 듯 하다 ㅎㅎㅎㅎ