오늘 나는 (TIL)

[TIL 240820] 머신러닝 10가지 알고리즘

thebuck104 2024. 8. 20. 15:14

확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘

아티클에 대한 정리

확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘 | 요즘IT (wishket.com)

 

확실히 알아두면 만사가 편해지는 머신러닝 10가지 알고리즘 | 요즘IT

실무에서 원활히 머신러닝으로 데이터를 분석하는 데 얼마나 많은 알고리즘을 알고 있어야 할까요? 선형, 군집, 트리 같은 기본 개념을 알고 XGBoost와 LightGBM 같은 최신 알고리즘을 알면 우선 현

yozm.wishket.com


1.     Linear Regression

머신러닝의 기초 알고리즘.

구분: 지도학습

유형: 회귀

데이터 유형: 종속변수와 독립변수가 선형 관계에 있는 데이터

장점: 간단하고 해석이 쉬움. 모델링에 긴 시간이 걸리지 않음.

단점: 예측력이 비교적 떨어짐, 선형 관계의 변수들에서만 좋은 예측을 보여줌

 

2.     Logistic Regression

구분: 지도 학습

유형: 분류

데이터 유형: 종속변수와 독립변수가 선형관계인 데이터. 연속된 변수를 예측할 때, 체질량지수, 매출액, 전력 사용량. Yes/No, True/False, 분류의 Baseline으로 사용

장점: 선형회귀 만큼 구현하기 쉬움. 기울기 계수를 사용해 변수의 중요성 파악 가능.

단점: 선형관계아 아닌 데이터들은 예측력이 떨어짐

 

3.     KNN

구분: 지도 학습

유형: 회귀, 분류

데이터 유형: 아웃라이어가 적은 데이터. 주로 분류에 사용, 로지스틱으로 해결할 수 없는 3개 이상의 목표 변수들도 분류 가능. 작은 데이터셋에 적합

장점: 수식 설명 없이 모델이 직관적. 선형 모델과 다르게 별도의 가정이 없음.

단점: 데이터가 커질수록 상당히 느려짐. 아웃라이어에 취약

 

4.     Naïve Bayes

구분: 지도 학습

유형: 분류

데이터 유형: 독립변수의 종류가 매우 많은 경우. 모든 독립변수가 독립적이고, 중요도가 비슷할 때. 자연어 처리에서 간단하고 좋은 성능. 범주형 데이터 > 숫자형 데이터.

장점: 비교적 간단하고 속도도 빠름. 작은 훈련셋으로도 잘 예측함

단점: 모든 독립변수가 독립적임을 전제로 함. 실제로 그렇다면 우수하지만, 그러지 않은 경우가 많음.

 

 

5.     Decision Tree

구분: 지도 학습

유형: 회귀, 분류

데이터 유형: 일반 데이터. 연속형, 범주형 종속 데이터. 시각화의 목적이 클 때, 아웃라이어가 문제될 정도로 많을 때.

장점: Non-parametric Model, 데이터에 대한 가정이 없음. 그래서 어디에나 자유롭게 적용 가능. 아웃라이어에 거의 영향을 받지 않음. 매우 직관적으로, 시각화에 아주 용이함.

단점: 트리가 깊어짐에 따라 오버피팅의 문제가 커짐. 앞으로의 트리들에 비해 예측력이 상당히 떨어지는 편

 

6.     Random Forest

구분: 지도 학습

유형: 회귀, 분류

데이터 유형: 일반 데이터. 앙상블 트리기법 중 가장 보편적. 부스팅 모델을 위한 발판!

장점: 결정 트리와 마찬가지로, 아웃라이어에 거의 여향 받지 않음. 선형, 비선형을 가리지 않음

단점: 학습속도가 상대적으로 느림. 트리가 너무 많아서 모델 해석이 어려움.

 

7.     XG Boost

구분: 지도 학습

유형: 회귀, 분류

데이터 유형: 일반 데이터. 캐글 컴페티션에서 많이 우승함. 수많은 활용 예시, 하이퍼 튜닝 예시들이 있음.

장점: 예측 속도가 상당히 빠르고 예측력도 높음. 변수 종류가 많고 데이터가 클수록 성능이 좋아짐

단점: 복잡한 모델인 만큼 해석이 어려움. 하이퍼 튜닝이 어렵다.

 

 

8.     Light GBM

구분: 지도 학습

유형: 회귀, 분류

데이터 유형: 일반 데이터. 표로 정리된 Tabular Data에서 좋은 성능.

장점: XG보다도 빠르고 정확할 때가 많음. 예측에 영향을 준 변수의 중요도 확인 가능. 변수 종류, 데이터 수가 클수록 뛰어난 성능.

단점: 모델이 복잡해 해석이 어려움, 하이퍼 튜닝이 어려움.

 

9.     K Means Clustering

구분: 비지도 학습

데이터 유형: 수많은 데이터가 있을 때, 통계적 정보만 보면 너무 단순화하는 경향을 띔.

장점: 구현이 비교적 간단. 클러스터링 결과 쉽게 확인 가능

단점: K값을 자동으로 찾을 수 없음. 거리 기반 알고리즘 이기 때문에, 변수 스케일에 따라 다른 결과가 나올 수 있음.

 

10.     PCA Principal Component Analysis

데이터의 차원을 축소함!

구분: 비지도 학습

데이터 유형: 다차원 변수를 2차원 그래프로 표현. 변수가 너무 많아 학습 시간이 너무 오래 걸릴때, R2 스코어를 보정해주고 싶을 때. 오버피팅을 방지하고 싶을 때

장점: 다차원을 2차원에 적합하게 축소해 시각화에 유용함. 변수간의 높은 상관관계를 줄여줌.

단점: 기존변수가 아닌 새로운 변수를 사용하기에 해석이 어려움. 차원이 축소됨에 따라 정보 손실이 뒤따름.

 


 

 

 

다른 비지도 학습은 뭐가 있을까?

 

1.     계층적 군집화(Hierarchical Clustering)

·         구분: 비지도 학습

·         데이터 유형: 군집 수가 명확하지 않거나, 데이터의 계층적 관계를 파악하고자 할 때 유용함.

·         장점: 군집 수를 미리 정하지 않아도 되며, 덴드로그램을 통해 군집 구조를 시각적으로 이해할 수 있음.

·         단점: 대규모 데이터에 대해 계산 비용이 높고, 노이즈나 이상치에 민감할 수 있음.

 

2.     DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

·         구분: 비지도 학습

·         데이터 유형: 밀집된 지역에서 패턴을 찾고자 할 때, 특히 노이즈가 많은 데이터에서 효과적임.

·         장점: 군집의 모양에 유연하며, 노이즈를 잘 처리할 수 있음.

·         단점: 밀도 매개변수의 선택에 따라 결과가 크게 달라지며, 밀도가 고르게 분포되지 않은 경우 성능 저하될 수 있음.

 

3.     독립 성분 분석(ICA, Independent Component Analysis)

·         구분: 비지도 학습

·         데이터 유형: 관측된 데이터에서 독립적인 신호를 추출할 때 유용함.

·         장점: 신호 분리 및 데이터의 독립적인 성분을 추출하는 데 효과적임.

·         단점: 독립성이 강하게 가정되지 않으면, 성능이 저하될 수 있음. 잡음에 민감할 수 있음.

 

4.     가우시안 혼합 모델(GMM, Gaussian Mixture Model)

·         구분: 비지도 학습

·         데이터 유형: 여러 가우시안 분포가 혼합된 데이터를 모델링할 때 적합함.

·         장점: 각 데이터 포인트가 여러 군집에 속할 확률을 계산할 수 있어, 복잡한 데이터 분포를 잘 모델링함.

·         단점: 초기값 설정과 최적화가 어려울 수 있으며, 데이터가 많아지면 계산 비용이 증가함.

 

5.     자동 인코더(Autoencoder)

·         구분: 비지도 학습

·         데이터 유형: 차원 축소 및 특징 학습을 통해 데이터를 압축하고 복원할 때 유용함.

·         장점: 비선형 차원 축소와 복잡한 데이터의 특징 학습에 효과적임.

·         단점: 학습 과정이 복잡하고, 과적합에 주의해야 함. 해석이 어려울 수 있음.

 

6.     차원 축소 알고리즘(Dimensionality Reduction Algorithms)

 

·         t-SNE (t-Distributed Stochastic Neighbor Embedding)

o    구분: 비지도 학습

o    데이터 유형: 고차원 데이터를 2D 또는 3D로 시각화할 때 사용됨.

o    장점: 고차원의 복잡한 데이터 구조를 저차원에서 잘 보존하며 시각화에 유리함.

o    단점: 계산 비용이 높고, 대규모 데이터에 적용하기 어렵다. 결과가 비결정적일 수 있음.

 

·         UMAP (Uniform Manifold Approximation and Projection)

o    구분: 비지도 학습

o    데이터 유형: 고차원 데이터를 효율적으로 저차원에 투영할 때 사용됨.

o    장점: t-SNE보다 계산이 빠르고, 데이터의 전반적인 구조를 잘 보존함.

o    단점: 결과가 매개변수 설정에 민감하며, 해석이 어려울 수 있음.