머신러닝

Information Gain, Gini impurity

coding art 2019. 5. 1. 17:21
728x90


파이선 코딩을 배우는 초보자도 머신 러닝에 독학으로 한번 도전해 보자.

왜냐구요? 그다지 어렵지 않으니까요!

머신 러닝을 배우려는 파이선 코딩 초보자들이 가지게 될 확률이 높은 의문점들을

하나하나 찾아내어 실제 풀어보고 결과를 확인해볼 수 있는 머신 러닝!

인터넷 교보문고에서 450페이지19900원에 판매중입니다.











________________________________________________________________________________________________________________________



IG를 이해하기 위해서 적절한 다음 그림의 확률 예제를 검토해 보도록 하자. Outlook 은 날씨예보를 의미한다. 즉 날씨 예보를 들은 후 Tennis 게임 여부를 표로 작성하였다.

 

표 전체적으로 일단 Tennis를 했느냐(9/14) 안했느냐(5/14)는 단순 확률 계산이 가능하다. 물론 이 확률들의 합은 1.0 이 되어야 한다.

 

한편 날씨예보를 참고하여 Tennis 게임 시행여부는 3가지 패턴으로 나눌 수 있다. Sunny(), Rainy(), Overcast(우중충한 날씨)이며 이때의 확률은 조건부 확률로 계산된다. 아울러 각 경우들에 확률값이 주어져 있으므로 조건부별 엔트로피를 계산해 보자.

   

이 표의 결과를 사용하여 조건부 확률 리스트에 따른 가중된 평균 엔트로피를 계산해 보자.

Is = (5/14)*(0.971)+(4/14)*(0.0)+(5/14)*(0.971)=0.694

 

반면에 전체 엔트로피는 I=0.940으로 위 그림 3번째 줄에 이미 계산이 되어 있다.

이 확률문제의 IG (Information Gain) 는 그들 차이 값으로 계산된다.

IG = I Is = 0,940 0,694 = 0.246

 

극단적인 경우로서 Rainy 경우에 100% No Play 이면서 Sunny 경우에 100% Play Tennis 라면 조건부 확률 리스트에 따른 엔트로피 값들이 모조리 0.0 이 되어 IG 값이 최대값인 0.940이 되는 것이다. IG 값이 최대값을 가지기 위해서는 각각의 조건부 확률에 따른 엔트로피 Is 값이 최소값을 가져야 한다.

 

한편 microcanonical ensemble(ensemble 에너지가 일정하게 보존 되는 통계역학 체계)의 볼츠만 통계역학에서 확률 분포식 유도 과정에서 microstate 의 모든 경우의 수에 대한 자연 로그 값을 취하고 Stirling 의 공식을 적용하면 다음 식이 얻어지는데 이 항은 최소화의 대상이 된다. 조건부 확률에 따른 엔트피 계산 공식은 자연로그 대신에 base 2로 하는 로그 함수로 대체되었음에 유의하자.

IG를 계산함에 있어서 조건부 확률에 따른 엔트로피 외에도 Gini impurity(Gini index) 또는 Classification Error 가 사용될 수도 있다.

J개의 class 라벨이 있는 샘플들의 Classification 작업에서 Gini impurity는 다음과 같이 정의 된다.

  

 

만약 binary classification 이라면 J=2가 되며 Gini impurity는 다음과 같이 간략화 된다.

  



조건부 확률 하에서의 Jini impurity 도 엔트로피와 마찬가지로 최소화 대상이다.