machine learning은 여러 가지 종류의 task가 있지만 오늘은 classification, clustering, regression 3가지의 task에 대해서 정의와 차이를 간략하게 서술해 보겠다.

Classification(분류)

목적 output이 category(범주형)의 경우에 사용되는 task이며, 크게 binary classification(이진 분류)와 multiclass classification(다중 분류)가 있다.

binary classification(이진 분류)의 경우 [0 or 1]처럼 [참(True) or 거짓(False)]의 값이 output이며,
multiclass classification(다중 분류)의 경우 3개 이상의 output이 필요할 때 사용된다.

Clustering(군집)

대부분의 일상생활에서의 data는 label이 되어 있지 않아, unsupervised learning, 또는 simesupervised learning을 주로 사용하게 된다고 알고 있다.

주어진 data set에서 연관관계, 비슷한 것끼리 그룹으로 묶기 위해 적용되는 알고리즘이다.

예를 들어 블로그 방문자에 대한 data가 많이 있다고 가정할 때, A그룹은 게임, B그룹은 영화, C그룹은 음악 등 그룹화시킨다.

Regression(회귀)

회귀분석(regression)은 가장 넓은 의미로는 독립변수(x)로 종속변수(y)를 예측하는 것을 의미한다.
y = wx + b

대표적인 Linear Regression의 경우 2개 이상의 독립변수로 종속변수를 예측할 수 있으며,
Logistic Regression의 경우에는 독립변수와 종속변수 간의 예측된 y^을 기준으로 Linear 해준 뒤 classification을 해줄 수 도 있다.

  • 3가지 task의 차이점은
    classification과 regression의 경우에는 supervised learning algorithm(알고리즘)이며,
    clustering은 unsupervised learning algorithm에 속한다.

  • 또한
    classificaion은 2개 이상의 범주형 output을 원할 경우 사용되고
    regression은 수치형 예측 또는 2개의 범주형 output을 원할 경우 사용되며,
    clustering은 data set에서 특정 label이 없을 경우, data내에서 그룹화시키는 목적으로 사용된다.

profile
ENTJ-A

0개의 댓글