대표적인 분류 모델 총정리
1) Logistic Regression (로지스틱 회귀)
알고리즘 원리
- 선형결합 $z = wx + b$를 시그모이드(또는 소프트맥스)로 확률화
$p = \frac{1}{1 + e^{-z}}$
핵심 포인트
- 확률 기반 분류
- 해석이 쉬운 선형 분류기
2) Decision Tree Classifier
알고리즘 원리
- 트리를 타고 내려가며 데이터를 분할(질문을 하며 데이터를 그룹화하는 방식)
- 기준:
- Gini impurity
- 노드 안의 샘플들이 얼마나 섞여 있는지(불순한지)를 측정하는 지표
- 값이 0이면 완전히 순수(한 클래스만 존재)
-
값이 클수록 클래스가 여러 개 섞여 있음
$Gini = 1 - \sum_{k=1}^{K} p_k^2$
- $p_k$: 클래스 $k$의 비율
-
모든 클래스 비율의 제곱합을 1에서 빼는 방식
- 같은 클래스끼리 뭉쳐 있을수록 Gini 값이 낮다.
- 분류 트리는 Gini를 최소로 만드는 방향으로 split을 선택함.
- Information Gain
- 분할(Split)을 얼마나 잘했는지 측정하는 지표
- “분할 전의 불순도 - 분할 후의 불순도”
-
값이 클수록 분할이 잘 됨
$IG = Entropy(\text{parent}) - \sum_{i=1}^{n} \frac{N_i}{N} Entropy(\text{child}_i)$
- $N$: 전체 샘플 수
- $N_i$: 자식 노드 $i$의 샘플 수
- 각 자식 엔트로피의 가중평균을 빼는 구조
- 분할 전보다 분할 후가 더 순수해졌을 때 IG가 높아짐
- Entropy
- 원래 정보이론(Information Theory)에서 나온 개념
- 데이터가 얼마나 불확실한지(섞여 있는지)를 나타냄
-
엔트로피가 높을수록 불확실함, 낮을수록 순수함
$Entropy = - \sum_{k=1}^{K} p_k \log_2 p_k$
- 클래스가 골고루 섞여 있을수록 엔트로피가 최대
- 최소화하는 방향으로 split
- 한 클래스만 있으면 엔트로피 = 0
- ID3, C4.5 같은 트리 알고리즘에서 Entropy 사용
- Gini impurity
3) Random Forest Classifier
알고리즘 원리
- 여러 Tree를 Bagging으로 학습
- 최종 결과: 다수결(Voting)
장점
- Variance 감소 → 과적합 완화
- 범주형/수치형 모두 잘 처리
4) Gradient Boosting Classifier (XGB / LGBM / CatBoost)
Boosting 공통 원리
- 이전 모델이 틀린 샘플에 더 큰 가중치를 부여
- 오차를 순차적으로 보정
- 약한 모델을 여러 개 쌓아 강한 모델 생성
장점
- 비선형 패턴 포착
- 규제 + 잔차 학습 → 일반화 성능 우수
- Kaggle 대회에서 최상위 알고리즘
5) SVM (Support Vector Machine)
알고리즘 원리
- 클래스 간 ‘마진(Margin)’을 최대화하는 결정경계 찾기
$\text{Margin} = \frac{2}{|w|}$
- 마진이 넓을수록 일반화 성능 증가
Kernel Trick
- 비선형 문제에서
- 데이터를 고차원으로 매핑
- 선형 분리가 가능해짐
- 예: RBF, Polynomial kernel
6) k-NN Classifier
알고리즘 원리
- 새로운 데이터 $x$ 주변의 가장 가까운 $k$개 이웃 탐색
- 다수결로 클래스 결정
특징
- 학습이 없는 lazy learning
- 거리 기반이라 데이터가 많으면 느림
7) Naive Bayes
알고리즘 원리
베이즈 정리 기반
$P(y \mid x) = \frac{P(x\mid y)P(y)}{P(x)}$
- 모든 피처가 독립이라는 가정(그래서 Naive)
특징
- 텍스트 분류에서 매우 강함
- 희소한 데이터에서도 성능 좋고 빠름
3. 모델별 원리 한눈에 비교
| 모델 | 알고리즘 원리 | 장점 | 회귀 가능 | 분류 가능 |
|---|---|---|---|---|
| Linear Regression | 최소제곱으로 최적 직선 찾기 | Baseline | O | X |
| Ridge/Lasso | 규제로 가중치 제어 | 과적합 방지 | O | X |
| Tree | 기준에 따라 데이터 분할 | 해석 쉬움 | O | O |
| Random Forest | 여러 트리 Bagging | 안정적, 강함 | O | O |
| XGBoost/LGBM | Residual 보정 Boosting | 실무 성능 1티어 | O | O |
| SVM | 마진 최대화 | 소규모 데이터 최강 | O (SVR) | O (SVC) |
| kNN | 거리 기반 이웃 다수결 | 단순, 직관적 | O | O |
| Naive Bayes | 베이즈 정리 + 독립 가정 | 텍스트 강함 | X | O |