본문 바로가기
Python

[ML] Classification 과 관련 metrics 에 대한 소개.

by ds31x 2024. 6. 1.

이 문서는 AI, ML, 그리고 DL의 정의와 이들 간의 차이점을 설명하며,

특히 ML의 supervised learning에서 가장 많이 다루는 task인 classification의 종류와 metrics를 설명함.


Classifier (분류기):

  • 정의: 주어진 데이터 포인트(or Sample, Case)를 사전에 정의된 Categories 또는 Classes 중 하나로 분류하는 알고리즘 또는 모델
  • 예시: 이메일을 "스팸" 또는 "정상"으로 분류하거나, 이미지를 "고양이", "개", "새" 등으로 분류하는 작업에 사용됨.

Metrics (평가지표):

  • 정의: 특정 목표나 성과를 평가하기 위해 사용되는 양적 또는 질적 기준.
  • 예시: DL에서 Classification Model(=Classifier)의 성능을 평가하기 위해 accuracy, precision, recall 등의 지표를 사용하는 것.

0. 시작하기 앞서서: AI, ML, 그리고 DL

이 문서의 주제인 classification은 오늘날 ML (or DL)을 통해 해결하는 주요 task 중 하나임.

 

참고로,

AI, ML, DL은 서로 연관이 되어 있으나 각각 같은 의미를 가지고 있지 않음.

 

다음 문서는 이들간이 차이점을 설명하고 있음.
https://dsaint31.me/mkdocs_site/ML/ch00/ch00_00_intro/

 

BME228

Introduction AI 란 John McCarthy (AI 용어 창안자. 미국의 인지심리학자.1927-2011) 에 따르면 Artificial Intelligence (AI)의 정의는 다음과 같음. ref. : Basic Questions Q. What is artificial intelligence? A. It is the science and en

dsaint31.me

 

이를 간단히 요약하면 다음과 같음.


0-1. ML에서 classification은 어디에 속하나

이 문서의 주제인 classification은 ML의 4가지 종류 중 하나인 supervised learning 에서 가장 많이 다루는 task임.

 

다음 문서는 ML의 종류를 설명하고 있음.
https://dsaint31.me/mkdocs_site/ML/ch00/ch00_12_type_of_ml/

 

BME228

Categories of ML ML은 다음과 같은 구분 기준을 가지고 subcategory들로 나눌 수 있다. 단, 다음의 기준들이 서로 exclusive한 것은 아니라는 점 을 명심해야 한다. 각 특성을 동시에 가질 수 있다. 즉, unsuper

dsaint31.me

 

인간의 개입(Human Supervision)의 정도에 따라 다음으로 구분됨.

 

1. Supervised Learning (지도학습)

2. Semi-supervised Learning (반지도학습)

3. Unsupervised Learning (비지도학습)

4. Reinforcement Learning (강화학습, 로봇제어 및 자율주행 분야에서 주로 이용됨) 

 

최근들어 semi-supervised or unsupervised learning에 대한 연구가 활발해지며 중요해지고 있는 추세임.

  • 하지만 아직까지도 현재 ML에서 가장 많이 사용되는 방법은 supervised learning 이며,
  • application에 대한 연구에서는 특히 supervised learning이 가장 많이 사용되고 있음.

그중에서도 의료분야로 국한할 때, 진단 등의 application에서는

supervised learning의 classification이 가장 많이 다루어지는 task임.


0-2.  Classification (분류) 이란

Discrete(이산적인)한 category를 label로 가지면서,

  • 특정 data sample에 대해 해당 category를 할당하는 task.
  • exclusive하게 category가 할당될 수도 있지만,
  • 여러 label이 하나의 data sample에 할당될 수도 있음.

classification의 대표적인 예인 spam mail classfication을 나타낸 그림.

 

참고: Discrete(이산적인)한 category(범주)

  • 명확히 구분되는 고유한 값을 가지는 범주를 의미.
  • 이러한 범주들은 서로 중복되지 않으며, 연속적이 아닌 구분된 값을 가짐.

0-3. 참고: DL에서의 주요 Tasks

DL에서 supervised learning의 경우,
기존의 classification과 regression 외에도 segmentation과 object detection등의 Task도 많이 다루어짐.

 

다음은 이들간의 차이점을 설명하는 문서임.
https://dsaint31.me/mkdocs_site/ML/ch00/ch00_20_supervised/#deep-learning-tasks

 

BME228

Supervised Learning 가장 전형적인 ML을 가르킨다. input data 와 label (or target)이라고 불리는 원하는 output 에 해당하는 데이터로 구성된 pair들로 training set과 test set을 가지고 있고 이를 통해 학습이 이루

dsaint31.me

 

image 관련 DL에서 segmentation의 경우,

  • 해당 label 데이터를 통해, object detection, classification 등에도 활용가능하다는 장점을 가지나,
  • labeling이 가장 어려운 task가 segmentation임.

1. Classification의 종류

이 문서의 주제인 classification은 크게 4가지로 나누어짐.

 

1. Binary Classification

2. Multiclass Classification

3. Multilabel Classification

4. Multioutput Classification

 

다음은 이들 구분을 자세히 소개한다.

https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_types/

 

BME228

Types of Classification Binary Classification Binary Classification (이진분류)는 각 sample에 2개의 label 중 하나를 할당하는 task임. 일반적으로 특정 class에 속하는지 아닌지를 구분하는 형태로 분류함. Multiclass cla

dsaint31.me


2. Classification에 대한 metrics : 성능 체크

ML 모델을 학습시키기 위해서는 model의 성능을 하나의 scalar값으로 나타내는 loss function이 사용되지만,
이를 사용하여 optimization알고리즘을 통해 학습된 model의 성능을 인간이 파악할 때

loss function이 아닌 다른 여러 metrics가 사용된다.

 

다음은 classification에서 성능 평가에 주로 사용되는 metrics를 소개한다.
https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/

 

BME228

Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column은 predicted class 를 나타낸다. Confusion matrix는 Classifier의 성능을 확실하게 파악

dsaint31.me


3. 결론

classification은 DL의 supervised learning에서 가장 많이 다루는 task이기 때문에,
이를 위한 모델의 정확한 평가를 위해서 관련 metric을 확실하게 이해하는게 좋다.

 

대부분의 경우, scikit-learn 에서 해당 metrics를 정확하게 구현해주므로

이에 대한 계산법 보다는 그 값의 의미를 이해하고 해당하는 모델의 성능을 파악하는 것을 우선적으로 갖춰야 한다.

728x90