분석모형 개선
과대·과소적합과 편향-분산 트레이드오프, 규제 기법, 초매개변수 최적화, 모형 융합과 최종 모형 선정을 다룹니다.
과대적합과 과소적합
| 구분 | 상태 | 훈련 성능 | 검증·평가 성능 |
|---|---|---|---|
| 과소적합(Underfitting) | 모형이 너무 단순해 패턴을 못 잡음 | 낮음 | 낮음 |
| 적정 적합 | 일반화 성능이 최대 | 높음 | 높음 |
| 과대적합(Overfitting) | 훈련 데이터의 잡음까지 암기 | 매우 높음 | 낮음 |
판별 기준은 단 하나입니다. 훈련 성능과 검증 성능의 격차입니다. 훈련만 잘하면 과대적합, 둘 다 나쁘면 과소적합입니다.
| 원인 | 과소적합 | 과대적합 |
|---|---|---|
| 모형 복잡도 | 너무 낮음 | 너무 높음 |
| 데이터 양 | — | 부족 |
| 변수 수 | 너무 적음 | 너무 많음(잡음 변수 포함) |
| 학습 횟수 | 부족 | 과다 |
편향-분산 트레이드오프
총 오차 = 편향² + 분산 + 잡음(줄일 수 없는 오차)
| 개념 | 의미 |
|---|---|
| 편향(Bias) | 예측값의 평균이 참값에서 얼마나 체계적으로 벗어났는가 |
| 분산(Variance) | 훈련 데이터가 바뀔 때 예측이 얼마나 흔들리는가 |
| 상태 | 편향 | 분산 |
|---|---|---|
| 과소적합 | 높음 | 낮음 |
| 과대적합 | 낮음 | 높음 |
모형 복잡도를 올리면 편향이 줄고 분산이 늘어납니다. 총 오차가 최소가 되는 지점이 최적 복잡도입니다.
| 앙상블 | 주로 줄이는 것 |
|---|---|
| 배깅 / 랜덤포레스트 | 분산 |
| 부스팅 | 편향 |
단골 함정: "편향과 분산을 동시에 최소화하는 것이 목표"라는 선택지는 오답입니다. 둘은 트레이드오프 관계여서 합(총 오차)을 최소화하는 것이 목표입니다. 그리고 잡음은 어떤 모형으로도 줄일 수 없습니다.
과대적합 방지 — 규제(Regularization)
가중치 규제
| 기법 | 페널티 | 특징 |
|---|---|---|
| L1 규제 (Lasso) | 계수의 절댓값 합 | 일부 계수가 정확히 0 → 변수 선택 효과 |
| L2 규제 (Ridge, weight decay) | 계수의 제곱 합 | 계수를 0에 가깝게 줄이지만 0으로 만들지는 않음 |
| 엘라스틱넷 | L1 + L2 결합 | 상관 높은 변수군에 유리 |
규제 강도 λ가 커지면 계수가 더 강하게 억제되어 분산은 줄고 편향은 커집니다(λ가 지나치면 과소적합).
가장 자주 틀리는 지점: 0으로 만드는 쪽이 L1(Lasso) 입니다. "Ridge가 변수를 선택한다"는 오답입니다. L1은 절댓값 = 뾰족한 모서리라서 축 위에서 해가 잡힌다고 기억합니다.
그 외 방지 기법
| 기법 | 내용 |
|---|---|
| 드롭아웃(Dropout) | 학습 중 뉴런을 확률 p로 무작위 비활성화. 추론 시에는 적용하지 않음 |
| 조기종료(Early Stopping) | 검증 오차가 다시 증가하기 시작하는 시점에 학습 중단 |
| 배치 정규화(Batch Normalization) | 각 층의 입력 분포를 정규화 → 내부 공변량 변화 완화, 학습 속도·안정성 향상, 부수적 규제 효과 |
| 데이터 증강(Augmentation) | 회전·이동·잡음 추가로 훈련 데이터 확대 |
| 가지치기(Pruning) | 의사결정나무의 불필요한 가지 제거 |
| 차원 축소 / 변수 선택 | 잡음 변수 제거 |
| 교차검증 | 일반화 성능을 제대로 측정해 과대적합 조기 발견 |
과대적합 대책이 아닌 것으로 나오는 오답 후보: 은닉층·뉴런 수 증가, 학습 에폭 증가, 규제 강도 λ를 0으로 설정, 변수 추가, 훈련 데이터를 검증에 재사용. 전부 과대적합을 키우는 조치입니다. 반대로 조기종료는 "학습을 오래 하면 좋다"는 직관과 반대라서 자주 틀립니다. 검증 손실이 오르기 시작하면 멈춥니다.
매개변수 vs 초매개변수
| 구분 | 매개변수(Parameter) | 초매개변수(Hyperparameter) |
|---|---|---|
| 누가 정하나 | 데이터로부터 학습 | 분석자가 사전에 지정 |
| 시점 | 학습 중 갱신 | 학습 전 설정 |
| 최적화 방법 | 경사하강법 등 | 그리드/랜덤/베이지안 탐색 |
| 예 | 회귀계수, 신경망의 가중치·편향, SVM의 서포트벡터 계수 | 학습률, 에폭 수, 배치 크기, 은닉층 수·노드 수, 드롭아웃 비율, 규제 강도 λ, KNN·k-means의 k, 트리의 최대 깊이, SVM의 C·gamma, 랜덤포레스트의 트리 개수 |
단골 함정 그 자체입니다. "가중치는 초매개변수", "학습률은 매개변수", "k-means의 k는 학습으로 정해진다" 는 전부 오답입니다. 한 줄 기준: 모형이 스스로 찾아내는 값 = 매개변수, 사람이 손으로 넣어주는 값 = 초매개변수.
초매개변수 최적화
| 방법 | 방식 | 특징 |
|---|---|---|
| 그리드 서치(Grid Search) | 지정한 후보값의 모든 조합을 전수 탐색 | 재현성 좋음. 조합 수가 지수적으로 폭발(차원의 저주) |
| 랜덤 서치(Random Search) | 탐색 범위에서 무작위 추출해 정해진 횟수만 시도 | 같은 예산에서 그리드보다 좋은 값을 찾을 확률이 높음. 중요 변수만 몇 개일 때 특히 유리 |
| 베이지안 최적화 | 대체모형(surrogate, 보통 가우시안 프로세스) 으로 성능을 예측하고 획득함수로 다음 탐색점 선택 | 이전 시도 결과를 반영해 시도 횟수를 크게 절약 |
| 유전 알고리즘 | 선택·교차·돌연변이로 세대를 진화 | 전역 탐색, 계산량 큼 |
그리드와 랜덤의 결정적 차이는 이전 결과를 참고하는가가 아닙니다 — 둘 다 참고하지 않습니다. 이전 결과를 참고하는 것은 베이지안 최적화뿐입니다.
탐색은 반드시 검증(validation) 데이터로 하고, 평가(test) 데이터는 최종 1회만 사용합니다. 평가 데이터로 튜닝하면 그 성능은 이미 낙관적으로 오염됩니다.
모형 융합(앙상블)
| 방법 | 학습 방식 | 핵심 |
|---|---|---|
| 보팅(Voting) | 서로 다른 알고리즘의 결과를 투표 | 하드 보팅(다수결) / 소프트 보팅(확률 평균) |
| 배깅(Bagging) | 부트스트랩 표본으로 병렬 학습 후 결합 | 분산 감소. 랜덤포레스트는 여기에 변수 무작위 선택 추가 |
| 부스팅(Boosting) | 순차 학습, 이전 모형이 틀린 샘플에 가중치 증가 | 편향 감소. AdaBoost, GBM, XGBoost, LightGBM |
| 스태킹(Stacking) | 개별 모형의 예측값을 입력으로 메타 모형 학습 | 성능 높지만 과대적합 위험, 구성 복잡 |
앙상블이 잘 되는 조건은 개별 모형이 어느 정도 정확하고 서로 다양(다르게 틀림) 할 때입니다. 똑같이 틀리는 모형을 여러 개 모아도 개선되지 않습니다.
배깅은 병렬·복원추출·분산 감소, 부스팅은 순차·가중치 조정·편향 감소. 부스팅은 이상치에 민감하고 배깅보다 과대적합 위험이 큽니다.
최종 모형 선정
- 평가 지표 확정 — 문제 성격에 맞는 지표를 먼저 정한다(불균형 분류면 F1·AUC, 예측 오차 크기가 중요하면 RMSE)
- 동일 조건 비교 — 같은 검증 분할, 같은 전처리에서 비교
- 성능 외 기준 검토 — 해석 가능성, 예측 속도, 운영·재학습 비용, 규제 준수
- 단순한 모형 선호 — 성능 차이가 유의하지 않다면 더 단순한 모형(오카암의 면도날)
- 평가 데이터로 최종 검증 후 이해관계자 검토·승인
"정확도가 가장 높은 모형을 항상 최종 모형으로 선정한다"는 오답입니다. 해석 가능성과 운영 비용을 포함한 비즈니스 요구가 함께 판단 기준이 됩니다.