본문 바로가기
머신러닝

머신러닝 모델의 종류에는 어떤 것들이 있나요?

by 데싸루나 2023. 1. 28.

머신러닝 모델의 종류

title image
title

머신러닝은 전통적인 프로그램 방식(컴퓨터가 뭘 해야 하는지 rule을 하나하나 지정해줘야 하는 방식)과는 달리, 데이터로 부터 학습하여 일일이 무슨 일을 해야 하는지 지정해주지 않아도 특정 작업을 수행할 수 있는 모델입니다. 이번 포스트에서는 다양한 머신러닝 모델들 중에서 공통적으로 많이 쓰이는 대표적인 모델의 종류에 대해 소개해볼 예정입니다. 크게는 Supervised Learning (지도학습), Unsupervised Learning (비지도 학습), Reinforcement Learning (강화학습)으로 나뉩니다. 딥러닝의 경우 크게 생각하면 머신러닝 안에 있지만, 여기서는 딥러닝 모델은 제외하고 향후 별도로 포스팅해 보도록 하겠습니다. 또한 머신러닝의 개별 종류마다 자세한 내용도 향후 포스팅에서 다룰 예정입니다.

 

 

Supervised Learning (지도학습)

Supervised Learning 모델의 핵심은 모델이 학습할 때 라벨링된 데이터를 기반으로 학습한다는 점입니다. 여기서 '라벨'이란 예측해야하는 타겟값의 정답을 의미합니다. 정답이 주어진 상태에서 데이터를 학습하기 때문에 인풋 속성들을 가지고 아웃풋 값에 도달하기 위한 최적화 방법을 찾아가는 모델입니다. Sepervised Learning(지도학습)에 속하는 종류는 아래와 같은 것들이 있습니다. 

Classification (분류) 

Classification이란 아웃풋 타겟 값이 카테고리로 이루어진 것을 말합니다. 인풋값들로부터 아웃풋 값이 어떤 클래스에 속하는지 구별해 내는 일을 하는 모델입니다. 예를 들면 이메일을 스팸 / 스팸 아님으로 분류하는 것과 환자의 건강상태를 관찰하고 당뇨병인지 당뇨병이 아닌지 구별하는 것 등을 생각해 볼 수 있습니다. 잘 알려진 알고리즘에는 Naive Bayes, SVM, Logistic Regression, Decision Tree, Random Forest 등이 있습니다. 

 

 

Regression (회귀분석)

회귀분석에서는 머신러닝 모델은 데이터를 학습하고 인풋 속성과 아웃풋 속성 간의 상관관계들을 계산합니다. 예를들면 설문조사 결과 데이터를 가지고 특정 속성에 각각 다른 속성들이 얼마만큼의 상관관계를 가지고 영향을 미쳤는지 등 분석하는 경우가 해당됩니다. 대표적인 알고리즘으로는 Logistic Regression이 있습니다. 

Forecasting (예측)

Supervised Learning은 예측에도 많이 사용되고 있습니다. 예를들면 주식가격 예측이나, 아파트 가격 예측, 날씨 예측 등을 생각해 볼 수 있습니다. 이뿐만 아니라, 요즘은 신용카드 신청 시 신청자의 상환능력 예측, 지원자의 지원서를 보고 회사와 얼마나 잘 매칭되는지 예측하는 등 다양한 분야에서 폭넓게 사용되고 있습니다. 분류와 회귀분석에 쓰이는 알고리즘들은 모두 예측에 사용될 수 있습니다. 

Semi-supervised Learning (준지도 학습)

Semi-supervised learning(준지도 학습)은 Supervised Learning과 비슷하지만, 라벨링 된 데이터와 라벨링 되지 않은 데이터를 모두 사용한다는 데서 차이가 있습니다. 라벨링 된 데이터의 이용이 제한적이거나 비용이 많이 드는 경우 이 방법을 사용하게 됩니다. 

Unsupervised Learning (비지도 학습)

Unsupervised Learning(비지도 학습)은 라벨링되지 않은 데이터를 학습하는 방법입니다. Unsupervised learning(비지도 학습) 에는 다음과 같은 것들이 포함됩니다. 

Clustering (클러스터링)

클러스터링은 데이터들을 비슷한 성격을 가진 데이터들끼리 그룹핑하는 것을 의미합니다. 머신러닝은 데이터들 간에 쉽게 보이지 않는 관계들을 계산해서 패턴을 찾아냅니다. 대표적인 알고리즘에는 K Means Clustering 알고리즘이 있습니다. 

Dimensionality Reduction (차원 감소)

Dimensionality reduction(차원 감소)는 데이터에 너무 많은 인풋 속성들이 있을 때 속성 간의 관계를 분석하여 차원을 낮춰 모델의 성능을 높이거나 학습 시간을 줄이기 위한 용도로도 사용되며 또한 시각화하기 위한 용도로 사용되기도 합니다. 대표적인 알고리즘에는 PCA가 있습니다. 

 

 

Reinforcement Learning (강화 학습)

Reinforcement learning (강화 학습)은 아기들이 학습하는 방식과 유사합니다. 특정 액션을 취했을 때 그에 따라오는 결과값에 의거 알고리즘을 적응시키는 모델입니다. 만약 행동 뒤에 보상이 따른다면 그 행동은 많이 하는 쪽으로 적응을 시킬 것이고 만약 행동 뒤에 페널티가 따른다면 그 행동은 줄이는 방향으로 모델을 수정해 나갑니다. 주로 로보틱스 분야에 많이 활용되고 Artificial Neural Network가 많이 사용됩니다. 

 

이번 포스팅에서는 머신러닝 종류는 크게 어떻게 나뉘는지에 대해 알아보았습니다. 크게는 Supervised Learning, Unsupervised Learning, Reinforcement Learning으로 나뉩니다. 향후 포스팅에서는 머신러닝 모델 하나하나 상세하게 알아보도록 하겠습니다. ^^ 

댓글