728x90

한 특성만 보는게 아니라 여러개를 보는 경우 특징을 위주로 보는게 좋을까?

신용카드 발급 여부 문제에서 계속 이어나가보자

 

엔트로피 entropy

- 어떤 특성이 더 좋은것인가?를 보여주는 지표

 -> 아까 본 A9의 속성으로 분할한 경우 속성 값이 t일때 284개가 긍정, 77개가 긍정

    => 속성 값이 t일때 긍정이 나올 가능성이 크므로 A1보다 불확실성이 작다고 할 수 있음.

 -> A1속성으로 분할한 경우 속성 값이 a일떄 98개가 긍정, 112개가 부정.

    => 긍정과 부정이 나올 수가 비슷하므로 불확실성 uncertainty이 크다고 할수 있음.

 

- 불확실성의 측정 지표로서의 엔트로피

 -> 하나의 특징, 속성을 확률 변수 random variable로 볼수 있다!

    ex. 항상 3만 나오는 주사위 -> 항상 확실하므로 불확실성이 없다.

    ex. 모든 면이 1/6확률로 나오는 주사위 -> 불확실성이 존재하다.

 -> 엔트로피가 크다 = 불확실성이 크다

 -> 아래는 엔트로피를 구하는 함수.

- 조건부 엔트로피를 구하자

 -> 특징이 주어질때 해당 클래스의 엔트로피를 구하자.

 

 

정보 게인 Information Gaion

- 이제 확률변수 A1과 A9의 엔트로피를 구할수가 있겠다.

- 조건부 엔트로피를 통해 특징이 주어질때 클래스별 엔트로피를 구할수가 있다.

- Y라는 클래스의 엔트로피를 위의 엔트로피 구하는 식을 통해 구햐보자

 

 

- A1, A9 특징이 주어질때 Y가 나올 엔트로피를 구해보자

 

- 우리가 원하는 것은 클래스별 엔트로피를 불확실성을 없애는 방향으로, 확실한 방향으로 만들어야 한다.

 -> 어떤 정보를 추가해야 불확실성이 사라질까?를 파악하기위헤 조건부 엔트로피를 사용

    => A1의 정보를 주었을때 엔트로피가 어떻게 되는가 -> H(Y | A1)

    => A9의 정보를 주었을때 엔트로피가 어떻게 되는가 -> H(Y | A2)를 알아야 한다.

 

- 어떤 클래스 엔트로피가 주어졌을때, 어떤 속성 특징을 사용한 경우(조건부) 해당 클래스의 엔트로피가  클래스의 엔트로피가 얼마나 크게 변하였는가

 -> 원래 클래스 엔트로피와 특징이 주어진 경우 엔트로피가 얼마나 크게 차이나는가 = 정보 게인

=> 불확실성이 작은 A9 속성이 정보 게인이 크다.

 

 

 

신용카드 발급 데이터를 이용한 결정 트리 만들기

1. A1 부터 A15까지 모든 정보 게인을 측정하자

2. A9이 제일 좋구나(정보 게인이 크다)-> A9으로 트리 루트를 사용하여 분리.

3. 분리된 데이터로 다음에는 어느 속성의 정보게인이 가장 큰가를 판단하여 노드 분리

4. 3번 과정을 여러번 반복

5. 결정 트리 완성

 

 

 

결정 트리의 문제

- 모든 속성을 다루는 큰 결정 트리를 만든 경우의 문제

 -> 학습된 경우는 처리할수 있으나 현실에 존재하는 노이즈나 이상한 경우를 대응하지 못함.

- 아래의 그림을 보면 x축은 트리의 크기, y는 정확도를 보야주고 있음.

 -> 결정트리가 커질수록 파란선(훈련 데이터)은 높아지나, 빨간 선(테스트 데이터)은 피크를 지난 후 정확도가 내려감

  => 가지고 있는 데이터에 정확하게 만들수 있으나 학습되지 않은 세세한 경우를 다루지 못해 떨어진다.

 

300x250

+ Recent posts