머신러닝을 실무에서 제대로 활용하려면, 단순히 모델을 만드는 것뿐만 아니라 데이터 전처리, 모델 평가, 하이퍼파라미터 튜닝 등 다양한 개념을 이해해야 합니다.
아래에서 추가 개념들을 정리합니다.
1. 교차검증 (Cross Validation)
개념
- 데이터를 여러 개의 폴드(fold)로 나누어, 학습과 검증을 반복하는 방법
- 과적합(Overfitting) 방지와 일반화 성능 평가에 필수
대표 방식
1) K-Fold 교차검증
- 데이터를 K개의 폴드로 나눔
- K번 반복: 한 폴드는 검증용, 나머지는 학습용으로 사용
- 모든 폴드가 한 번씩 검증 데이터가 됨
- 평균 성능으로 모델 평가
2) Stratified K-Fold
- 분류 문제에서 각 폴드에 클래스 비율이 비슷하게 분배되도록 나눔
- 불균형 데이터셋에 효과적
3) Leave-One-Out (LOO)
- 데이터가 n개라면, n-1개로 학습, 1개로 검증을 n번 반복
- 데이터가 적을 때 사용
장점
- 데이터가 적어도 신뢰성 있는 평가 가능
- 과적합 방지
2. 편향-분산 트레이드오프 (Bias-Variance Tradeoff)
개념
- 머신러닝 모델의 예측 오류는 크게 두 가지로 나뉨: 편향(Bias), 분산(Variance)
용어 설명
- 편향(Bias):
모델의 예측값과 실제값의 차이
(모델이 너무 단순해서 데이터의 패턴을 잘 못 잡는 경우, Underfitting)
- 분산(Variance):
모델이 학습 데이터에 너무 민감하게 반응
(모델이 너무 복잡해서 데이터의 노이즈까지 학습, Overfitting)
트레이드오프
- 높은 편향, 낮은 분산:
단순한 모델, 과소적합(Underfitting)
- 낮은 편향, 높은 분산:
복잡한 모델, 과적합(Overfitting)
- 적절한 균형이 중요
3. 데이터 전처리 (Data Preprocessing)
왜 필요한가?
- 머신러닝 모델의 성능은 데이터의 품질에 크게 좌우됨
- 데이터의 스케일, 결측치, 이상치, 범주형 변수 등 다양한 문제를 해결해야 함
주요 기법
1) 정규화 (Normalization)
- 데이터 값을 0~1 범위로 변환
- 공식:
X_norm = (X - X_min) / (X_max - X_min)
- 적용 예시:
이미지 픽셀값, 거리 기반 알고리즘(k-NN 등)
2) 표준화 (Standardization)
- 데이터의 평균을 0, 표준편차를 1로 변환
- 공식:
X_std = (X - μ) / σ
- 적용 예시:
선형회귀, SVM 등
3) 원-핫 인코딩 (One-Hot Encoding)
- 범주형 데이터를 0과 1로 이루어진 벡터로 변환
- 예시:
색상(빨강, 파랑, 초록) → [1,0,0], [0,1,0], [0,0,1]
4) 결측치 처리
- 결측값을 평균/중앙값/최빈값 등으로 대체하거나, 행/열 삭제
5) 이상치 처리
데이터 전처리 참고 링크
4. 모델 선택과 하이퍼파라미터 튜닝
하이퍼파라미터란?
- 모델이 학습하기 전에 사용자가 직접 설정하는 값
(예: 학습률, 트리의 깊이, 군집 개수 등)
튜닝 방법
1) Grid Search
- 미리 정한 하이퍼파라미터 조합을 모두 시도
- 가장 성능이 좋은 조합 선택
- 계산량이 많을 수 있음
2) Random Search
- 하이퍼파라미터 조합을 무작위로 선택해 시도
- Grid Search보다 빠르지만, 최적값을 놓칠 수도 있음
3) Bayesian Optimization
- 이전 실험 결과를 바탕으로 더 좋은 조합을 똑똑하게 탐색
- 효율적이고 계산량이 적음
5. 정리 표
| 개념 | 설명/목적 | 대표 방법/예시 |
|---|
| 교차검증 | 과적합 방지, 일반화 성능 평가 | K-Fold, Stratified K-Fold |
| 편향-분산 트레이드오프 | Under/Overfitting 균형 | 모델 복잡도 조절 |
| 데이터 전처리 | 데이터 품질 향상, 모델 성능 개선 | 정규화, 표준화, 인코딩 등 |
| 하이퍼파라미터 튜닝 | 최적의 모델 설정 | Grid/Random Search, Bayesian |