ML 알고리즘 종류

머신러닝 알고리즘은 학습 방식에 따라 크게 3가지로 분류됩니다.

┌─────────────────────────────────────────────────────────────┐
│                    ML 알고리즘 분류                          │
├───────────────┬───────────────────┬─────────────────────────┤
│   지도 학습    │    비지도 학습     │       강화 학습          │
│  (Supervised) │  (Unsupervised)   │   (Reinforcement)       │
├───────────────┼───────────────────┼─────────────────────────┤
│ 레이블 O      │ 레이블 X          │ 보상/패널티 기반         │
│ 분류, 회귀    │ 군집화, 차원축소   │ 시행착오 학습            │
└───────────────┴───────────────────┴─────────────────────────┘

1. 지도 학습 (Supervised Learning)

레이블(정답)이 있는 훈련 데이터로 모델을 학습시키는 방식

1.1 분류 (Classification)

데이터를 미리 정의된 범주/클래스로 예측 (예: 스팸 여부, 이미지 분류)

알고리즘 설명
로지스틱 회귀 이진(Binary) 분류에 사용, 선형 회귀 개념 활용
SVM 클래스 간 최적의 경계(Hyperplane) 탐색
결정 트리 예/아니오 기반 트리 구조로 분류
랜덤 포레스트 여러 결정 트리의 앙상블, 과적합 방지에 효과적
KNN 주변 K개 이웃의 클래스로 분류
나이브 베이즈 베이즈 정리 기반, 특징 간 독립성 가정

1.2 회귀 (Regression)

연속적인 수치 값 예측 (예: 주택 가격, 온도)

알고리즘 설명
선형 회귀 종속/독립 변수 간 선형 관계 모델링
다항 회귀 곡선 형태의 비선형 관계 모델링

2. 비지도 학습 (Unsupervised Learning)

레이블 없이 데이터의 내재된 구조, 패턴, 숨겨진 관계를 스스로 발견

2.1 군집화 (Clustering)

유사한 특징을 가진 데이터를 그룹으로 묶음 (예: 고객 세분화)

알고리즘 설명
K-Means K개 클러스터로 분할, 가장 널리 사용
계층적 군집화 트리 구조(Dendrogram)로 군집 형성
DBSCAN 밀도(Density) 기반 군집 탐색

2.2 차원 축소 (Dimensionality Reduction)

중요 정보를 유지하며 특징(Feature) 수 감소

알고리즘 설명
PCA 분산을 가장 잘 설명하는 주성분으로 투영

3. 강화 학습 (Reinforcement Learning)

에이전트가 환경과 상호작용하며 보상/패널티를 통해 최적 정책 학습

지도/비지도 학습과 달리 정답이 주어지지 않고, 시행착오를 통해 학습

알고리즘 설명
Q-Learning 상태-행동 쌍의 최대 보상(Q-값) 학습, Model-Free
SARSA On-Policy 방식, 실제 수행할 행동으로 학습
DRL 강화 학습 + 딥러닝 결합 (예: 알파고)

4. 딥러닝 (Deep Learning)

인간의 뇌 구조를 모방한 인공 신경망 기반 알고리즘

알고리즘 용도 설명
MLP 범용 기본적인 다층 퍼셉트론 구조
CNN 이미지/비전 합성곱 연산으로 공간적 특징 추출
RNN/LSTM/GRU 시퀀스 데이터 텍스트, 시계열 처리에 특화
Transformer NLP 어텐션 메커니즘 기반, NLP 혁신 주도

5. 알고리즘 선택 가이드

문제 유형에 따른 알고리즘 선택:

[분류 문제] ──→ 로지스틱 회귀, SVM, 랜덤 포레스트, CNN
[회귀 문제] ──→ 선형/다항 회귀, 랜덤 포레스트
[군집화]   ──→ K-Means, DBSCAN, 계층적 군집화
[시퀀스]   ──→ RNN, LSTM, Transformer
[게임/로봇] ──→ Q-Learning, DRL

실제 적용 시에는 여러 알고리즘을 결합하거나 변형하여 사용합니다.