분류기의 종류
업데이트:
이 글은 머신러닝,딥러닝을 공부하는데 있어서 반드시 이해하고 가야될 파트라고 생각한다.
책을 기반으로 정리하고 가자.
분류기의 종류의 큰 틀
-
이진(binary) vs 멀티클래스(multiclass)
- 이진 분류기 : 각 데이터 객체를 2개의 클래스 중 하나로 분류함.
- 멀티 클래스 분류기 : 클래스의 수가 더 많을 경우의 분류기.
-
결정론적(deterministic) vs 확률론적(probabilistic)
- 결정론적 분류기 : 분류하는 각 데이터 객체에 이산값의 레이블을 생성함.
- 확률론적 분류기는 0과 1사이의 연속적인 값을 할당하여 객체가 특정 클래스에 속할 확률을 나타냄. ex) 나이브 베이즈 분류기, 베이지안 네트워크, 로지스틱 회귀 등
확률론적 분류기는 결정론적 분류기보다 클래스에 인스턴스를 할당할 때의 신뢰도에 대한 추가 정보를 제공한다. 당연한 것이 각각의 클래스에 대해 할당될 확률을 보여주므로써 해당 클래스에 대한 신뢰도를 보여주기 때문이다. 가장 확률 값이 큰 것을 해당 데이터 객체의 레이블로 사용한다.
-
선형(linear) vs 비선형(nonlinear)
- 선형 분류기 : 선형 분리 hyperplane을 사용해 객체들을 구분지어 클래스를 분류함. 선형성 가정을 통해 복잡한 데이터를 분류하는 측면에서 모델의 유연성이 떨어지나, overfitting에 둔감함. ex) Perceptron
- 비선형 분류기 : 보다 복잡한 비선형 결정 표면을 구성할 수 있음. ex) Multi Layer Perceptron
-
글로벌(global) vs 로컬(local)
- 글로벌 분류기 : 단일 모델을 전체 데이터 집합에 맞춤. 모델이 선형적이라면 feature와 클래스 레이블간의 관계가 입력 공간에 따라 다를 때, 효과적이지 않을 수 있다.
- 로컬 분류기 : 입력 공간을 더 작은 영역으로 분할하고 각 영역의 training 객체를 위해 고유한 모델을 구성. ex) k-nearest neighbor 분류기
복잡한 의사 결정 경계를 잡는데 있어서 로컬 분류기가 융통성이 있지만, overfitting에 취약하다. {아직 와닿지 않는 말이다.}
-
생성(generative) vs 판별(dicriminative)
이 두 개념은 가장 중요한 개념들이라고 생각한다. 정확하게 알고 넘어가자.
데이터 객체 x가 주어지면, 모든 분류기의 주요 목표는 클래스 레이블 y를 예측하는 것이다. 그러나 클래스를 예측하는 것 외에도, 데이터 객체를 생성하는 기본 메커니즘을 알고싶을 수 있다. 예를 들면, 스팸 메일 분류기에서 스팸으로 분류된 이메일의 일반적인 특성을 이해하는 것을 얘기한다.
- 생성 분류기 : 클래스 레이블을 예측하는 과정에서 모든 분류의 생성 모델을 배우는 분류기. ex) 나이브 베이즈 분류기, 베이지안 네트워크 등
- 판별 분류기 : 분류의 분포를 명시적으로 설명하지 않고 그냥 분류만 한다. 데이터 객체의 생성 메커니즘에 대한 통찰력을 얻지 못하기 때문에 생성 모델보다 간단한 문제를 해결함. ex) 의사결정 트리,최근접 이웃 분류기 , 로지스틱 회귀 , 인공 신경망, SVM 등
{오랜만에 정리해서 조금 까먹은 감이 있는데 나중에 공부하다가 떠오르는게 있으면 추가로 적자.}