한 특성만 보는게 아니라 여러개를 보는 경우 특징을 위주로 보는게 좋을까?
신용카드 발급 여부 문제에서 계속 이어나가보자
엔트로피 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는 정확도를 보야주고 있음.
-> 결정트리가 커질수록 파란선(훈련 데이터)은 높아지나, 빨간 선(테스트 데이터)은 피크를 지난 후 정확도가 내려감
=> 가지고 있는 데이터에 정확하게 만들수 있으나 학습되지 않은 세세한 경우를 다루지 못해 떨어진다.
'인공지능' 카테고리의 다른 글
Sementic Segmentation 준비기 1 (0) | 2021.05.12 |
---|---|
AINIZE를 활용한 ML 프로젝트 배포 (0) | 2021.03.26 |
[인공지능및기계학습]02.3 결정 트리 개요 (0) | 2021.01.13 |
[인공지능및기계학습]02.머신러닝의 기반들 (0) | 2021.01.08 |
[인공지능및기계학습]01.동기부여 및 기초 (0) | 2021.01.07 |