분류는 지도학습의 일종으로 데이터의 카테고리 관계를 파악하고, 새로운 데이터의 카테고리를 스스로 판별합니다. 따라서 분류 문제에서는 categorical variables(범주형 변수)이 사용됩니다.
분류는 다시 이진 분류(Binary Classification)와 다중 분류 문제로 나눌 수 있습니다.
먼저 이진분류는 정답 레이블이 정확히 두 클래스 중 하나에 할당되는 task를 말합니다.
예를 들어, 고양이 사진이 입력으로 주어졌을 때 고양이가 맞다면 1, 고양이가 아니라면 0으로 분류하는 것을 예로 들 수 있습니다.
이진 분류모델을 간단한 신경망으로 표현한 그림입니다.
보다시피 출력층이 1개입니다. 이진 분류를 위한 출력은 0-1 사이의 실수값이고, 활성함수로 Sigmoid function을 사용합니다. 0.5 보다 작으면 첫 번째 클래스, 0.5보다 크면 두 번째 클래스로 분류합니다.
이진 분류로 디자인된 알고리즘은 Logistic Regression, Perceptron, SVM(Support Vector Machines) 등이 있습니다. 이 알고리즘들은 다중 클래스 분류 문제에 사용될 수 없습니다. 휴리스틱 방법을 쓸 수는 있지만 이것은 다중 클래스 분류 문제를 여러 개의 이진 분류 dataset으로 분리하고 각각을 이진 분류 모델에 학습시키는 것이기 때문에 결국 모델은 결과를 2가지 클래스로 분류하는 이진분류 문제를 푸는 것입니다.
다중 분류는 레이블을 여러 개의 클래스로 분류하는 task입니다.
10명의 혈액형을 맞추는 문제를 예로 들 수 있습니다. 이 경우 혈액형은 O, A, B, AB의 4가지 클래스로 나뉩니다.
다중 분류모델을 간단한 신경망으로 표현한 그림입니다.
앞서 보았던 이진 분류 문제와 달리 출력층이 여러 개인 것을 확인할 수 있습니다. 이때 출력층의 개수는 분류할 클래스의 개수와 일치합니다.
SoftMax를 활성 함수로 이용해 다중 분류 문제를 해결할 수 있습니다. SoftMax 함수는 출력값의 합을 1로 만들어 정규화해줍니다. 이는 분류 예측의 정확도를 쉽게 알 수 있도록 해줍니다.
# 이진 분류, 다중 분류 어떤 문제가 더 유용할까?
풀고자 하는 문제나 데이터 유형에 따라 다르겠지만, 개인적으로 이진 분류 문제를 더욱 빈번히 마주할 것 같다고 생각합니다.정답과 오답, 여성과 남성, 양성과 음성 등과 같이 2개의 클래스로 나누어 생각하는 경우가 많고, One vs Rest, One vs One 방법으로 다중 클래스 문제를 여러 개의 이진 분류 모델로 쪼개서 해결할 수 있기 때문입니다.
'AI' 카테고리의 다른 글
L1 Regularization & L2 Regularization (0) | 2022.08.12 |
---|---|
Generalization, Normalization, Standardization (0) | 2022.08.12 |
분류(classification), 군집화(clustering), 회귀(regression) (0) | 2022.07.17 |
Machine Learning 알고리즘의 분류(지도학습, 비지도학습, 강화학습) (0) | 2022.07.17 |
Train set - Validation set - Test set (0) | 2022.07.16 |
댓글