-
인공지능 - 3. Classification인공지능 2021. 5. 23. 22:13
1. Bayesian Classifier
각 클래스에 속할 확률을 통해 클래스를 분류하는 모델
분류절차:
1. 학습 데이터의 수집
2. 클래스별 분포 특성 분석
3. 클래스 결정
이분류 문제: 데이터가 두 클래스중 어디에 속하는가?
데이터X가 각 클래스(A, B)에 속할 확률 P(A|x) or P(B|x)계산
이분류 문제의 결정경계 함수 g(x) = P(A|x) - P(B|x) = 0: g(x)의 값이 양수이면 A, 음수이면 B로 구분한다.
다중 클래스 문제
우도비검증: 값의 비율을 통해 분류를 결정한다. (우도비: 각 클래스에서 input값이 관찰될 확률밀도의 비율)
- g(x) = p(x|A)p(A), c(x) = argmax{g(x)}
g(x): x가 A에 속할 확률*전체 데이터중 A일 확률
argmax{g(x)}: g(x) 를 최대로 하는 값
https://www.byclb.com/TR/Tutorials/neural_networks/ch4_1.htm 최소거리 분류기: 평균에 이르는 거리가 최소인 클래스로 분류
가우시안 모델: 정규분포를 이용한 decision boundary 설정
Bayes Classifier 특성
단점
- 각 클래스의 분포에 대한 모델을 가정하고 추정(모수적 기법)
- 가정한 모델이 주어진 데이터에 적합하지 않은 경우 성능저하(복잡한 확률밀도함수를 가지는 데이터에 대해 정규분포모델을 적용할 경우: 클래스의 평균만으로 분류 불가능)
해결방안
- 특징추출을 통하여 정규분포에 가까운 분포를 가지도록 변환
- 분포모델을 가정하지 않는 비모수적기법 사용
2. K-Nearest Neighbor Classifier
KNN: 이웃한 k개의 학습데이터를 찾아 찾아진 이웃들이 많이 속한 클래스에 할당한다.
비모수 밀도추정: 확률분포모델을 미리 가정하지 않고 데이터 집합을 이용하여 확률 밀도 함수를 표현한다.
단계별 처리:
1. 주어진 데이터와 모든 학습데이터 간의 거리를 계산한다
2. 거리가 가장 가까운 것부터 순서대로 K개의 데이터를 찾아 후보집합을 만든다
3. 후보집합의 각 원소가 어떤 클래스에 속하는지 라벨값을 찾는다
4. 찾아낸 라벨값 중 가장 많은 빈도수를 차지하는 클래스를 찾아 x를 그 클래스에 할당한다ㅣ
K값에 따른 특성변화(데이터 특정을 고려하여 적절한 K선택
K=1: 바로 이웃한 데이터에만 의존함 = 노이즈에 민감 / overfitting발생
K>>1: 주어진 데이터 주변 영역이 아닌 전테 데이터 영역에서 각 클래스가 차지하는 비율에 의존
장점: 다양한 데이터 분포에 대해 복잡한 결정경계 생성
'인공지능' 카테고리의 다른 글
인공지능 - 5. Neural Network(CNN) (0) 2021.05.30 인공지능 - 1. 개요 (0) 2021.05.23