본문 바로가기

소프트웨어/패턴인식

의사결정트리 / 랜덤 포레스트 / 부스팅 / 배깅 (Decision Tree / Forest) part.2

2018/02/24 - [딥러닝,패턴인식/패턴인식] - 의사결정트리 / 랜덤 포레스트 / 부스팅 / 배깅 (Decision Tree / Forest) part.1

 

Part.1에 이어서 의사결정트리(Dicision Tree) / 랜덤포레스트(Random Forest)에 대한 설명을 해보겠다.

 

앞서 말한 것과 같이 엔트로피(Entropy), 지니계수(Gini Index)를 이용하여 어떤 속성(Attribute)을 가지고 나눠야 하는 지를 결정 할 수 있다.

 

엔트로피의 경우 무질서라고 알고 있다 당연히 높을수록 무질서도가 높아지니 낮은 값이 더 좋은 속성(Attribute)라는 것을 알 수 있을 것이다. 아래 2개의 테이블이 있다. 왼쪽은 모든(A,B,C,D) 속성이 1/4 로 구별할수 있는 반면에 오른쪽은 A가 4/8이라는 높은 구별능력을 보인다. 이말은 처음에 A를 속성으로 잡고 구별을 하면 더 좋다는 말이다. 엔트로피 계산 결과도 당연히 오른쪽 수치가 낮다는 것을 알 수 있다. 즉 결정트리를 이용하여 구별을 할때는 오른쪽 같이 어떤 속성에 따라서 구별이 되는 것이 더 좋다는 것이다.

 

 

그러면 엔트로피를 이용하여 Part.1 에서 보았던 간단한 문제를 풀어보도록 하겠다. 여기서 중요한건 Gain이라는 지표를 이용한다는 것이다 Gain은 엔트로피를 줄여주는 지수이기 때문에 값이 클 수록 좋다는 것을 알 수 있다. 엔트로피(Entropy)와 게인(Gain) 지표는 서로 반대되는 개념이다. 아래 문제는 게인(Gain)을 이용하여 계산하기 때문에 높은 값이 더 좋은 속성이 되는 것이다. 

 

 

a를 속성으로 잡았을 경우 게인(Gain)은 0.0488이다. 같은 방법으로 게인(Gain)을 b와 c도 구하게 되면

 

 

c를 처음 속성으로 선택했을 때 게인(Gain)이 가장 높다는 것을 확인 할 수 있다. 즉 가장 처음 구별인자로 사용해야지 된다는 뜻이다. 이와 같은 방법을 순차적으로 진행하면서 결정트리(Decision Tree)를 만들 수 있다.

 

지니 계수도 비슷하다. 아래는 간단한 예를 보여주는 그림이다. 지니 계수는 높은게 더 좋다.

 

위에 내용을 이해 했다면 결정트리에 대한 이해는 다 된것이다. 당연히 6개 노란색과 6개의 하늘색블럭이 있을 경우 왼쪽과 같이 애매하게 나뉘는 것보다 오른쪽 처럼 노란색은 1 / 5개로 구별하고 하늘색을 4 / 2개로 구별하는 속성(attribute)이 좋다는 것은 알 수 있다.

 

그렇다면 도대체 랜덤트리는 (Random Tree)무엇일까?

다음 시간에 다루도록 하겠다.

 

2018/02/25 - [딥러닝,패턴인식/패턴인식] - 의사결정트리 / 랜덤 포레스트 / 부스팅 / 배깅 (Decision Tree / Forest) part.3