Machine Learning/Machine Learning

[Machine Learning] Machine Learning Algorithms

데이터 세상 2022. 10. 6. 15:24

Machine Learning Algorithms

 

Machine Learning

 

Supervised Learning - Regression

Linear Regression

[Supervised Learning][Regression] Linear Regression

알고리즘 장점 단점
Linear Regression 수집된 데이터를 통해 새롭게 관측된 데이터의 예측값(수치값)을 구할 수 있다

데이터 특징들이 선형 관계에 있다는 가설하에 작동함으로써 데이터 특징이 가설과 다를 경우 정확도가 낮아진다

 

Decision Tree Regression

[Supervised Learning][Regression] Regression Tree(회귀 트리)

알고리즘 장점 단점
Decision Tree 모델의 추론 과정을 시각화하기 쉽다
데이터에서 중요한 특성이 무엇인지 쉽게 알아낼 수 있다
학습 및 예측 속도가 빠르다
과대적합되기 쉽다
조정해야 할 하이퍼파라미터가 많다

 

Random Foress Regression

[Supervised Learning][Ensemble] Bagging, Random Forest

알고리즘 장점 단점
Random Forest 앙상블 효과로 decision tree의 과대적합 단점을 보완한다 조정해야 할 하이퍼파라미터가 많다

 

Gradient Boosted Tree Regression

[Supervised Learning][Ensemble] Boosting, Gradient Boosting

알고리즘 장점 단점
Gradient Boosting Random Forest보다 예측 성능이 조금 뛰어나다




수행 시간이 오래 걸린다
하이퍼파라미터 튜닝 노력이 필요하다
약한 학습기의 순차적 예측 오류 보정을 통해 학습을 하기 때문에 대용량 데이터 경우 시간이 오래 걸린다.

 


Supervised Learning - Classification

Naïve Bayes

[Supervised Learning][Classification] Naïve Bayes

알고리즘 장점 단점
나이브베이즈 고차원 데이터를 처리하기가 쉽다
구현하기 쉽다
학습 및 추론 시간이 빠르다
모든 변수가 독립변수라는 가설하에 작동함으로써 데이터가 가설과 다를 경우 정확도가 낮아진다

 

Logistic Regression

[Supervised Learning][Classification] Logistic Regression

알고리즘 장점 단점
Logistic Regression 데이터를 분류할 때 확률을 제공한다 데이터 특징이 많은 경우 학습이 어려워 과소적합되기 쉽다

 

KNN (k-Nearest Neighbor)

[Supervised Learning][Classification] KNN(K-Nearest Neighbor)

알고리즘 장점 단점
KNN 구현이 쉽다
알고리즘 이해하기 쉽다
하이퍼파라미터가 적다
예측 속도가 느리다
메모리를 많이 쓴다
노이즈 데이터에 예민하다

 

SVM

[Supervised Learning][Classification] SVM(Support Vector Machine)

알고리즘 장점 단점
SVM 상대적으로 적은 데이터로도 높은 정확도를 낸다
예측 속도가 빠르다
고차원 데이터를 처리하기가 쉽다
결정경계선이 많이 겹칠 때 정확도가 낮아진다
수학적 이해 없이는 모델의 분류 결과를 이해하기 어렵다
커널 트릭 오사용 시 과대적합되지 쉽다

 

Decision Tree

[Supervised Learning] Decision Tree

알고리즘 장점 단점
Decision Tree 모델의 추론 과정을 시각화하기 쉽다
데이터에서 중요한 특성이 무엇인지 쉽게 알아낼 수 있다
학습 및 예측 속도가 빠르다
과대적합되기 쉽다
조정해야 할 하이퍼파라미터가 많다

 

Ensemble

[Supervised Learning] Ensemble

Random Forest

[Supervised Learning][Ensemble][Bagging] Random Forest

알고리즘 장점 단점
Random Forest 앙상블 효과로 decision tree의 과대적합 단점을 보완한다 조정해야 할 하이퍼파라미터가 많다

 

Extra Tree

[Supervised Learning][Ensemble][Bagging] Extra Tree / Extremely Randomized Tree

알고리즘 장점 단점
Extra Tree overfitting을 막고 검증 세트의 점수를 높이는 효과
무작위로 분할하기 때문에 속도가 상대적으로 빠르다

특성을 무작위로 분할하게 되어 성능은 낮아진다
random forest보다 무작위성이 조금 더 크기 때문에, 더 많은 결정 트리를 훈련해야 한다.

 

Gradient Boosting (GBM, Gradient Boosting Machine)

[Supervised Learning][Ensemble][Boosting] Gradient Boosting

알고리즘 장점 단점
Gradient Boosting Random Forest보다 예측 성능이 조금 뛰어나다




수행 시간이 오래 걸린다
하이퍼파라미터 튜닝 노력이 필요하다
약한 학습기의 순차적 예측 오류 보정을 통해 학습을 하기 때문에 대용량 데이터 경우 시간이 오래 걸린다.

 

XGBoost

[Supervised Learning][Ensemble][Boosting] XGBoost

알고리즘 장점 단점
XGBoost GBM 대비 빠른 수행시간
overfitting 규제(Regularization)
분류와 회귀영역에서 뛰어난 예측 성능 발휘
Early Stopping 기능 있음
다양한 옵션을 제공하며 customizing이 용이
작은 데이터에 대하여 overfitting 가능성이 있다
해석이 어렵다(앙상블 계열 알고리즘의 문제)
-> 각 입력 변수에 대하여 출력 변수가 어떻게 변하는지 알 수 없다.

 

LGBM (Light Gradient Boosting Machine)

[Supervised Learning][Ensemble][Boosting] LGBM (Light Gradient Boosting Machine)

알고리즘 장점 단점
LGBM 대용량 데이터를 사용할 수 있다
적은 메모리를 사용 (노드의 개수가 상대적으로 적다)
카테고리형 데이터에 대해서 one-hot encoding 필요없이 알아서 인식
GBM보다 속도가 빠르다
결과의 정확도가 상대적으로 높다
GPU를 활용할 수 있다
overfitting에 민감하다
loss를 줄이는 것에 집중하다보니 overfitting에 민감하여 작은 데이터에 쓰는 것이 적합하지 않다
보통 1만개 이상의 데이터에 사용이 가능하다



 


Unsupervised Learning - Clustering

[Unsupervised Learning] Clustering

 

Centroid-based Clustering

K-means

[Unsupervised Learning][Clustering] K-means (K 평균)

알고리즘 장점 단점
K-means 데이터 크기에 상관없이 군집화에 사용할 수 있다
구현하기 쉽다

군집화 결과에 대한 확률을 제공하지 않는다
데이터의 분포가 균일하지 않을 경우 정확도가 떨어진다
클러스터의 개수를 지정해줘야 한다

 

Mean Shift

Unsupervised Learning][Clustering] Mean Shift (평균 이동)

알고리즘 장점 단점
Mean Shift K-means와 달리 초기 "K"값(클러스터 개수)를 설정할 필요가 없다. Sliding window의 kernel=반지름(r) 사이즈를 선택해야 한다.

 

Density-based Clustering

DBSCAN

[Unsupervised Learning][Clustering] DBSCAN

알고리즘 장점 단점
DBSCAN K-means와 달리 초기 "K"값(클러스터 개수)를 설정할 필요가 없다.
임의의 모양, 임의의 크기의 clustering이 가능하다.
noise point를 고려한 clustering도 가능하다.

agglomerative clustering이나 K-means보다 느림
초기에 epsilon과 minpoints를 설정해야 한다
data 밀도가 다양한 경우에 적합하지 않다
local density에 대한 정보를 반영해줄 수 없다.
데이터들의 계층적 구조를 반영한 clustering이 불가능

 

HDBSCAN

[Unsupervised Leaerning][Clustering] HDBSCAN(Hierarchical DBSCAN)

알고리즘 장점 단점
HDBSCAN DBSCAN은 초기 K(클러스터 개수)와 epsilon을 지정해주저야 하지만, 
HDBSCAN은 K만 사용자가 지정해주면 됨
최소 epsilon을 사용자가 정하는 것이 상황에 따라 유횽성 설명이 가능하다.

 

Hierarchical Clustering

Agglomerative Clustering

[Unsupervised Learning] [Clustering] Agglomerative Clustering(병합 군집)

알고리즘 장점 단점
Agglomerative
Clustering
K-means의 단점 극복
무작위 초기화를 사용하지 않고, 그냥 가까운 클러스터 병합
클러스터의 모양과는 상관없이 가까운걸로 구분
덴드로그램을 보면 몇 개의 클러스터를 사용할지 알 수 있음
복잡한 모양일 땐 구분하기 어려움



 


References

반응형