-
Notifications
You must be signed in to change notification settings - Fork 1
6장. 질적 분류
Joanne edited this page May 29, 2017
·
6 revisions
- 계량 데이터
- 기본적으로 데이터 간 거리 개념이 밑바탕에 깔려있음 (양적 개념)
- 양적 분류기: 베이지언 분류기, 신경망, SVM
- 비계량 데이터
- 양적 개념을 가지지 않음.
- 예: 전화번호가 서울은 02, 인천은 032, 제주는 064라면, 인천은 032라서 서울 02와 가깝다고 할 수는 없다.
- 질적 분류기: 결정 트리, 스트링 인식기
- 실제 데이터를 계량/비계량으로 분류 하는 것은 10장에서 할 것.
- 아키네이터가 생각남. http://kr.akinator.com/
- 미리 Tree를 만들어 두는 방식이 아님. 컴퓨터가 자동으로 질문을 만들어야 함. 다만, 각 샘플의 특징들은 이미 만들어져 있다고 가정한다.
- 질문의 조건
- 특정 노드가 Yes / No를 둘 다 만족할 수 있는 질문을 하면 안된다.
- yes는 yes대로, no는 no대로 서로 같은 부류(비슷한 것들) 끼리 분류할 수 있어야 한다. 이를 측정한 것을 불순도라고 한다.
- 불순도 감소량을 정의하고, 이를 기준으로 질문을 정한다.
- 불순도 감소량 식, 투잉 기준
- 불순도
- 엔트로피
- 지니 불순도
- 오분류 불순도: 1-가장 높은 확률
- 멈춤 조건이 중요하다
- 불순도가 0일때 (이것만 설정하면 오버피팅 될 수 있다)
- 분류된 샘플 개수가 임계치 이하일 때
- 불순도 감소량이 임계치 이하일 때 (임계치들이 너무 크면 너무 분류가 안 될 수 있다 - 설익은 수렴)
- 결정 트리의 장점
- 계량/비계량 모두 분류 가능하다
- 결과가 나왔을 때, 그 이유를 해석 가능하다: 화이트 박스
- 학습이 끝난 결정 트리를 가지고 하는 계산은 매우 빠르다
- 손실 특징을 다루기가 쉬움 (특정 특징이 없는 샘플은 매우 흔함): 두 번째 질문을 서브로 만들어 두면 됨
- 노드 가지치기
- 사전 가지치기: 멈춤 조건을 이용하여 계산을 중지
- 사후 가지치기: 가능한 대로 끝까지 분류한 후에 리프 노드를 합침
- C4.5는 Deprecated되었고, C5.0 2.07버전이 최신 Release 되어 있음 (2017. 05)
- 체인 코드
- 교정 거리
- Levenshtein 거리
- 삽입, 삭제, 대치를 이용하여 A라는 스트링을 B로 변환시키는데 필요한 비용을 구한다.
- Damerau-Levenshtein 거리
- Levenshtein 거리에 교환을 추가한다.