1. 머신러닝이란
머신러닝(ML) 은 프로그램이 명시적 규칙 없이 데이터로부터 학습해 예측·의사결정에 사용하는 기술.
vs 전통 프로그래밍
|
전통 |
머신러닝 |
| 입력 |
규칙 + 데이터 |
데이터 + 정답 |
| 출력 |
결과 |
규칙(모델) |
2. 학습 유형
| 유형 |
데이터 |
예 |
| 지도학습 |
X + y(라벨) |
분류·회귀 |
| 비지도학습 |
X만 |
군집·차원축소 |
| 준지도학습 |
일부만 라벨 |
이미지 분류(일부 수동) |
| 강화학습 |
행동·보상 |
게임·로봇 |
3. 지도학습
| 과제 |
출력 |
예 |
| 분류 |
이산 클래스 |
스팸/정상, 불량/양호 |
| 회귀 |
연속 값 |
집값, 매출 예측 |
대표 알고리즘: 로지스틱, 의사결정나무, SVM, 앙상블, 신경망.
4. 비지도학습
| 과제 |
예 |
| 군집 |
K-means, DBSCAN |
| 차원 축소 |
PCA, t-SNE, UMAP |
| 연관 규칙 |
Apriori, FP-Growth |
| 이상 탐지 |
Isolation Forest, Autoencoder |
5. 강화학습
- 에이전트 - 환경 상호작용
- 보상을 최대화하는 정책 학습
- 예: 알파고, 자율주행, 광고 입찰
6. 머신러닝 파이프라인
① 문제 정의
② 데이터 수집
③ 데이터 전처리
④ 특성 공학
⑤ 모델 선택·학습
⑥ 평가
⑦ 하이퍼파라미터 튜닝
⑧ 배포·모니터링
7. 데이터 전처리
- 결측치: 제거·평균/중앙값 대체·모델 기반 대체
- 이상치: 도메인 기준·IQR·Z-score
- 스케일링: StandardScaler(표준화), MinMaxScaler(정규화)
- 범주형 인코딩: 원-핫, 라벨, 타겟 인코딩
- 불균형 클래스: SMOTE 오버샘플링, 언더샘플링
8. 특성 공학(Feature Engineering)
- 파생 변수: 날짜 → 요일·월
- 상호작용: X1 * X2
- 비선형 변환: log, sqrt
- 구간화: 연속 → 범주
- 텍스트: TF-IDF, 임베딩
9. 일반화와 편향-분산 트레이드오프
9-1. 편향(Bias)
- 모델이 너무 단순 → 훈련·테스트 모두 오류 큰 상태(과소적합)
9-2. 분산(Variance)
- 훈련에 과하게 맞춤 → 테스트에서 급락(과적합)
9-3. 균형
전체 오류 = 편향² + 분산 + 노이즈
- 단순 모델: 편향 ↑ 분산 ↓
- 복잡 모델: 편향 ↓ 분산 ↑
- 최적점을 찾는 것이 일반화
10. 교차검증(Cross-Validation)
K-Fold
Stratified K-Fold
Leave-One-Out
11. 하이퍼파라미터 튜닝
- 그리드 서치: 전체 조합 탐색
- 랜덤 서치: 무작위 샘플링
- 베이지안 최적화: Optuna 등
12. 모델 선택 가이드
| 데이터 크기 |
추천 |
| 작다(<1k) |
로지스틱·SVM·트리 |
| 중간(1k~100k) |
앙상블(RF, XGBoost) |
| 크다(>100k) |
신경망·XGBoost |
| 이미지/음성/NLP |
딥러닝 |
13. 배포와 MLOps
- 모델 버전 관리(MLflow, DVC)
- 배포(Docker, FastAPI, TFServing)
- 모니터링 — 데이터 드리프트, 성능 저하
- 재학습 스케줄
14. 출제 포인트
- 학습 유형 4가지(지도·비지도·준지도·강화)
- 분류 vs 회귀 차이
- 편향-분산 트레이드오프
- 교차검증 종류
- 과적합 방지 방법
요약 체크리스트