지도학습 — 회귀 & 분류
입력(X)과 정답(y)의 쌍으로 학습하여 새로운 데이터의 결과를 예측
📌 이 글의 목적
지도학습은 ML에서 가장 많이 사용되는 학습 유형임. 이 글은 회귀와 분류의 주요 알고리즘을 동작 원리 수준에서 이해하고, 각 알고리즘의 적합한 상황과 한계를 파악하는 것이 목표.
1. 회귀 (Regression)
1.1 선형 회귀
가장 기본적인 회귀 알고리즘. 입력과 출력 사이의 선형 관계를 학습함.
y = w₁x₁ + w₂x₂ + ... + wₙxₙ + b
- 손실 함수: MSE (Mean Squared Error) = Σ(예측 - 실제)² / n
- 학습: 경사하강법 또는 정규방정식(Normal Equation)으로 가중치 W를 찾음
- 장점: 해석이 쉬움, 빠름
- 한계: 비선형 관계를 포착할 수 없음
1.2 릿지(Ridge) & 라소(Lasso)
선형 회귀에 정규화를 추가하여 과적합을 방지함.
| 방법 | 정규화 | 효과 |
|---|---|---|
| Ridge (L2) | 손실 + λΣwᵢ² | 가중치를 작게 유지. 모든 특성 보존 |
| Lasso (L1) | 손실 + λΣ|wᵢ| | 불필요한 가중치를 0으로. 특성 선택 효과 |
| Elastic Net | L1 + L2 결합 | 둘의 장점 결합 |
1.3 다항 회귀
비선형 관계를 다항식으로 모델링.
y = w₁x + w₂x² + w₃x³ + b
특성을 x², x³ 등으로 확장한 후 선형 회귀를 적용하는 방식. 차수가 높으면 과적합 위험.
2. 분류 (Classification)
2.1 로지스틱 회귀
이름은 "회귀"지만 이진 분류 알고리즘. 선형 회귀의 출력에 시그모이드 함수를 적용하여 0~1 확률로 변환.
P(y=1|x) = σ(w·x + b) = 1 / (1 + e^(-(w·x+b)))
- 손실 함수: Binary Cross-Entropy
- 장점: 해석 가능(각 특성의 기여도 = 가중치), 확률 출력, 빠름
- 한계: 선형 결정 경계만 가능
2.2 SVM (Support Vector Machine)
두 클래스를 분리하는 **최적의 결정 경계(초평면)**를 찾는 알고리즘. 결정 경계와 가장 가까운 데이터 포인트(서포트 벡터) 사이의 마진을 최대화함.
| 항목 | 설명 |
|---|---|
| 선형 SVM | 직선/평면으로 분리 가능한 경우 |
| 커널 SVM | 커널 트릭으로 비선형 분리. RBF, 다항식 커널 |
| 장점 | 고차원에서 효과적, 마진 기반으로 일반화 우수 |
| 한계 | 대규모 데이터에 느림, 확률 출력이 기본 아님 |
2.3 결정 트리 (Decision Tree)
특성 값에 따라 데이터를 반복적으로 분할하여 트리 구조를 만드는 알고리즘.
| 항목 | 설명 |
|---|---|
| 분할 기준 | 지니 불순도(Gini), 엔트로피(Information Gain) |
| 장점 | 해석이 매우 쉬움, 특성 스케일링 불필요, 비선형 가능 |
| 한계 | 과적합에 매우 취약. 단독으로 쓰면 성능 낮음 |
2.4 앙상블 (Ensemble)
여러 모델을 결합하여 단일 모델보다 나은 성능을 얻는 기법.
Random Forest:
- 다수의 결정 트리를 병렬로 학습하고 다수결/평균으로 예측
- 각 트리는 데이터의 랜덤 샘플(Bootstrap) + 랜덤 특성 서브셋으로 학습
- 과적합에 강하고 특성 중요도를 제공함
XGBoost / LightGBM:
- 약한 모델(얕은 트리)을 순차적으로 학습. 이전 모델의 오류를 다음 모델이 보정
- 표형 데이터에서 최강. Kaggle 대회에서 가장 많이 우승하는 알고리즘
- LightGBM은 XGBoost보다 학습이 빠르고 메모리 효율적
| 앙상블 | 방식 | 대표 | 특징 |
|---|---|---|---|
| Bagging | 병렬 | Random Forest | 분산 감소, 안정적 |
| Boosting | 순차 | XGBoost, LightGBM | 편향 감소, ✅ 최고 성능 |
3. 평가 메트릭
3.1 회귀 메트릭
| 메트릭 | 수식 | 해석 |
|---|---|---|
| MSE | Σ(y-ŷ)²/n | 평균 제곱 오차. 큰 오차에 민감 |
| RMSE | √MSE | MSE를 원래 단위로 변환 |
| MAE | Σ|y-ŷ|/n | 평균 절대 오차. 이상치에 덜 민감 |
| R² | 1 - SS_res/SS_tot | 설명력. 1에 가까울수록 좋음 |
3.2 분류 메트릭
| 메트릭 | 수식 | 의미 |
|---|---|---|
| Accuracy | (TP+TN) / 전체 | 전체 정확도 |
| Precision | TP / (TP+FP) | 양성 예측 중 실제 양성 비율 ("정밀도") |
| Recall | TP / (TP+FN) | 실제 양성 중 예측 양성 비율 ("재현율") |
| F1 Score | 2×P×R / (P+R) | Precision과 Recall의 조화평균 |
| AUC-ROC | ROC 곡선 아래 면적 | 임계값에 무관한 성능. 0.5(랜덤)~1.0(완벽) |
Precision vs Recall 트레이드오프:
| 상황 | 우선 | 이유 |
|---|---|---|
| 스팸 필터 | Precision | 정상 메일을 스팸으로 분류하면 안 됨 |
| 암 진단 | Recall | 실제 환자를 놓치면 안 됨 |
| 장애 탐지 | Recall | 실제 장애를 놓치면 안 됨 |
⚠️ 클래스 불균형 시 Accuracy만 보면 안 됨. 정상 99% / 장애 1%인 데이터에서 "전부 정상"으로 예측해도 Accuracy 99%. F1 또는 AUC-ROC를 함께 봐야 함.
4. 알고리즘 선택 가이드
| 상황 | 추천 | 이유 |
|---|---|---|
| 데이터 적고 해석 필요 | 선형/로지스틱 회귀 | 단순, 빠름, 해석 가능 |
| 비선형, 표형 데이터 | XGBoost / LightGBM | ✅ 표형 데이터 최강 |
| 특성 선택이 필요 | Lasso / Random Forest | 특성 중요도 제공 |
| 고차원, 샘플 적음 | SVM (RBF 커널) | 고차원에서 효과적 |
| 이미지/텍스트 | Neural Network | 비정형 데이터는 DL |
다음 글
🔗 관련 문서
- ML Overview — 편향-분산, 과적합
- 수학 기초 — 경사하강법, 크로스 엔트로피