Machine Learning Algorithms
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
'Machine Learning > Machine Learning' 카테고리의 다른 글
Cross Validation(CV, 교차검증) (2) | 2022.10.31 |
---|---|
[Machine Learning] Pattern Recognition (패턴인식) (1) | 2022.10.11 |
Machine Learning Valuation Metrics (머신러닝 모델 성능 평가) (0) | 2022.10.06 |
[Machine Learning][Regression Loss Function] MAE, MSE, RMSE MSLE, RMSLE (1) | 2022.10.05 |
[Machine Learning][Metrics] Loss Function(손실 함수) / Cost Function (비용함수) (0) | 2022.10.05 |