3. Classification

여러 분류 시스템을 알아보자.

MNIST

MNIST는 분류 작업의 “hello world”와 같다. 이 데이터를 다운로드해 보자. 70000개의 이미지가 784개의 특성을 갖고 있다. 이는 또한 테스트 집합과 학습 집합으로 분류되어 있다.

Training a Binary Classifier

먼저 이진 분류기를 테스트해 본다. 이후 모델의 성능을 측정해 보자.

Performance Measures

여러 성능 지표를 알아보자.

Measuring Accuracy Using Cross-Validation

모델을 평가하는 좋은 방법은 교차검증이다. 단순 정확도는 데이터셋이 쏠려 있으면 좋은 지표가 아니다.

Confusion Matrix

더 좋은 지표는 혼동 행렬이다. 이를 위해서는 참 양성, 참 음성, 거짓 양성, 거짓 음성 모두를 계산해야 한다. 이를 통해 정밀도와 재현도를 계산함으로써 혼동 행렬을 계산하게 된다.

Precision and Recall

정밀도와 재현도는 정확도보다 낫다. 이 둘은 트레이드오프 관계에 있으며 이 둘이 모두 높기를 원할 때 쓰는 지표는 F-점수이다. 이것이 항상 정답이 아닐 수도 있으며 둘 중 하나만 추구하는 경우도 있을 수 있다.

Precision/Recall Trade-off

분류의 기준을 높이면 정밀도는 높아지고 재현도는 낮아진다. 분류의 기준을 낮추면 재현도는 높아지고 정밀도는 낮아진다. 이 기준도 조정할 수 있으며 이도 교차 검증으로 조정할 수 있다. 둘의 트레이드오프를 잘 생각해 기준을 정하는 것이 중요하다.

The ROC Curve

ROC 곡선은 이진 분류기에 쓰이는 곡선이나 재현도-정밀도 곡선과는 다르게 거짓 양성도와 참 양성도를 비교한다. 즉, 재현도와 특정도를 비교하는 것이다. 분류기는 ROC 곡선 아래 넓이가 높을수록 좋다. 이를 통해 여러 분류기를 비교해 보자. 이제 이진 분류 외에 다클래스 분류를 해 보자.

Multiclass Classification

이진 분류기는 두 클래스만 분류하지만, 다 클래스 분류기는 여러 클래스를 분류한다. 여러 클래스를 분류할 수 있는 분류기가 있고, 여러 이진 분류기를 조합할 수도 있다. 방법은 각각 클래스간 분류기를 조합할 수도 있다. 또는 각각 클래스에 대해 그 클래스인지 아닌지를 분류하는 분류기를 여러 개 조합할 수도 있다. 후자가 더 낫다. 직접 해 보라.

Error Analysis

이제 다 클래스 분류기에 대해서도 혼동 행렬을 구성해 오차 분석을 해 보자. 이를 시각화해서 어떤 오류들을 주로 분류기가 내는지 생각해 보자. 이를 통해 분류기의 어떤 점들을 개선해야 할지를 알 수 있다.

Multilabel Classification

분류 결과가 복수의 이진 라벨을 갖도록 할 수도 있다. 얼굴 인식 등에서 쓰인다.

Multioutput Classification

분류 결과가 복수의 출력을 갖도록 할 수도 있다. 이미지 잡음 제거 등에서 쓰인다.