모델 선택 기준 (Model Selection Criteria)¶
개요¶
여러 후보 모델 중 어떤 것을 선택할지는 ML의 핵심 문제다. 교차 검증이 가장 범용적인 방법이지만, 계산 비용이 높다. 정보 기준(Information Criteria)은 단 한 번의 모델 적합으로 일반화 성능을 근사하는 빠른 대안이다.
이 문서에서는 AIC, BIC, MDL의 수학적 정의, 직관적 해석, 그리고 교차 검증과의 관계를 다룬다.
핵심 개념¶
정보 기준의 기본 원리¶
모든 정보 기준은 같은 구조를 따른다:
- \(\hat{L}\): 최대화된 우도(maximized likelihood)
- 첫째 항: 모델의 적합도(goodness of fit) — 작을수록 데이터를 잘 설명
- 둘째 항: 복잡도 페널티 — 파라미터가 많을수록 증가
- 목표: 정보 기준을 최소화하는 모델 선택
Akaike Information Criterion (AIC)¶
- \(k\): 모델의 추정 파라미터 수
- \(\hat{L}\): 최대우도
유도: KL-발산(Kullback-Leibler divergence) 최소화에서 유도된다. AIC는 모델과 실제 데이터 생성 분포 사이의 KL-발산의 추정치를 최소화한다.
핵심 성질: - LOOCV와 점근적으로 동등 (Asymptotically equivalent to LOO-CV) - 예측 중심: 새 데이터에 대한 예측 성능을 최적화 - 일관적(consistent)이지 않음: \(n \to \infty\)에서 참 모델을 선택한다고 보장하지 않음 - 대신 효율적(efficient): 유한 표본에서 예측 오차를 더 낮추는 경향
소표본 보정 — AICc:
\(n\)이 \(k\)에 비해 작을 때 (대략 \(n/k < 40\)) AICc를 사용해야 한다. \(n \to \infty\)이면 AICc → AIC.
Bayesian Information Criterion (BIC)¶
- \(k\): 파라미터 수, \(n\): 샘플 수
유도: 베이지안 모델 증거(Bayesian model evidence)의 근사. Schwarz (1978)가 유도.
핵심 성질: - \(n > e^2 \approx 7.4\)이면 AIC보다 더 강한 복잡도 페널티 → 더 단순한 모델 선호 - 일관적(consistent): \(n \to \infty\)에서 후보 중 참 모델이 있으면 이를 선택 - AIC보다 예측 효율(prediction efficiency)은 낮을 수 있음
AIC vs BIC 페널티 비교:
| \(n\) | AIC 페널티 (파라미터당) | BIC 페널티 (파라미터당) |
|---|---|---|
| 7 | 2 | 1.95 |
| 8 | 2 | 2.08 |
| 50 | 2 | 3.91 |
| 100 | 2 | 4.61 |
| 1000 | 2 | 6.91 |
\(n\)이 커질수록 BIC의 페널티가 AIC보다 훨씬 커져서, BIC는 더 단순한 모델을 선택한다.
Minimum Description Length (MDL, 최소 기술 길이)¶
정보 이론(Rissanen)에서 유래한 원리:
- \(L(M)\): 모델을 기술하는 데 필요한 코드 길이
- \(L(D|M)\): 모델이 주어졌을 때 데이터를 기술하는 코드 길이
직관: 데이터를 가장 짧게 기술할 수 있는 모델이 최선의 모델이다.
- Two-part MDL: 위의 기본 형태
- Normalized Maximum Likelihood (NML): 현대적 정제 버전
- BIC와의 관계: BIC는 MDL의 근사이다
상세 내용¶
AIC vs BIC: 언제 무엇을 사용하는가¶
| 기준 | AIC | BIC |
|---|---|---|
| 목적 | 예측 성능 최적화 | 참 모델 식별 |
| 복잡도 페널티 | 약함 (\(2k\)) | 강함 (\(k \ln n\)) |
| 이론적 성질 | 효율적 (efficient) | 일관적 (consistent) |
| 모델 선택 경향 | 더 복잡한 모델 | 더 단순한 모델 |
| 적합한 상황 | 예측이 목적일 때 | 해석/설명이 목적일 때 |
| CV와의 관계 | LOO-CV에 점근적 동등 | — |
실전 지침: - "이 모델로 예측을 해야 한다" → AIC - "데이터를 생성한 진짜 모델을 찾고 싶다" → BIC - 의심스러우면 두 모두 계산하고, 둘 다 같은 모델을 선택하면 확신을 가진다
정보 기준 vs 교차 검증¶
| 비교 항목 | 정보 기준 (IC) | 교차 검증 (CV) |
|---|---|---|
| 계산 비용 | 매우 낮음 (1회 적합) | 높음 (\(k\)회 적합) |
| 가정 | 모수적 모델, 올바른 우도 | 없음 (비모수적) |
| 적용 범위 | 우도 기반 모델에 한정 | 모든 모델 |
| 소표본 | AICc로 보정 가능 | 분산이 높음 |
| 비중첩 모델 | 비교 어려울 수 있음 | 자유롭게 비교 |
실전 권장: - 교차 검증을 주요(primary) 방법으로 사용 - 정보 기준은 보조/빠른 스크리닝 용도로 활용 - 후보 모델이 매우 많을 때, 먼저 IC로 후보를 줄이고, 최종 선택은 CV로
정보 기준이 실패하는 경우¶
- 비중첩 모델 (Non-nested models): 구조가 완전히 다른 모델 간 비교에서 IC가 오도할 수 있다
- 잘못 지정된 우도 (Misspecified likelihood): 우도 함수가 부정확하면 IC 자체가 부정확
- 소표본: AIC/BIC의 점근적 근사가 부정확할 수 있다 — AICc 사용 또는 CV로 전환
- 비모수 모델: 파라미터 수 \(k\)가 명확하지 않은 모델 (예: 비모수 방법, 신경망의 효과적 파라미터 수)
모델 선택 의사결정 흐름 (Decision Flowchart)¶
실무에서 모델을 선택할 때 고려해야 하는 주요 분기점을 정리한 흐름도이다.
flowchart TD
A["모델 선택 시작"] --> B{"우도 기반 모델인가?<br/>(GLM, 혼합 모델 등)"}
B -- "예" --> C{"분석 목적은?"}
B -- "아니오<br/>(비모수, 신경망 등)" --> CV["교차 검증 (CV) 사용"]
C -- "예측 성능 최적화" --> D{"표본 크기 n vs 파라미터 수 k"}
C -- "참 모델 식별 / 해석" --> BIC_USE["BIC 사용"]
D -- "n/k < 40<br/>(소표본)" --> AICc_USE["AICc 사용"]
D -- "n/k ≥ 40<br/>(충분한 표본)" --> AIC_USE["AIC 사용"]
AIC_USE --> E{"후보 모델이 많은가?"}
AICc_USE --> E
BIC_USE --> E
E -- "예 (>10개)" --> F["IC로 1차 스크리닝<br/>→ 상위 후보만 CV로 최종 비교"]
E -- "아니오" --> G{"AIC와 BIC가<br/>같은 모델 선택?"}
G -- "예" --> H["높은 확신으로 해당 모델 선택"]
G -- "아니오" --> I["분석 목적에 따라 결정<br/>예측 → AIC 기준<br/>해석 → BIC 기준"]
CV --> J{"계산 비용 허용?"}
J -- "예" --> K["k-Fold CV 또는 LOO-CV"]
J -- "아니오" --> L["Hold-out 또는<br/>단순 Train/Val 분할"]
style A fill:#4a90d9,color:#fff
style H fill:#27ae60,color:#fff
style I fill:#f39c12,color:#fff
style CV fill:#8e44ad,color:#fff
style F fill:#e74c3c,color:#fff 모델 복잡도에 따른 AIC/BIC 변화 (시각적 설명)¶
AIC / BIC 값
│
│ ╲ ╱ ← BIC (강한 페널티)
│ ╲ ╌╌╌╌╌╌╌╌╌╌ ╱
│ ╲ ╱ ╲ ╱
│ ╲ ╱ ╲╱ ← BIC 최적점
│ ╲╱ ← AIC 최적점
│
│ ╲ ╱ ← AIC (약한 페널티)
│ ╲╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╱
│
└──────────────────────────────── 모델 복잡도 (파라미터 수) →
AIC 최적점이 BIC 최적점보다 오른쪽(더 복잡한 모델)에 위치하는 경향이 있다.
언제 사용하는가¶
- 우도 기반 모델 (GLM, 혼합 모델 등)의 빠른 모델 선택 → AIC/BIC
- 예측 목적의 모델 선택 → AIC (또는 AICc)
- 참 모델 식별 / 해석 목적 → BIC
- 범용적이고 가정 없는 모델 비교 → 교차 검증
- 대규모 모델 탐색 후 최종 비교 → IC로 스크리닝 → CV로 최종 선택
흔한 오해와 함정¶
-
"AIC/BIC가 낮으면 절대적으로 좋은 모델이다" — IC는 후보 모델 간의 상대적 비교 도구다. IC 값 자체는 모델의 절대적 품질을 말하지 않는다.
-
"AIC가 항상 BIC보다 좋다 (또는 그 반대)" — 목적에 따라 다르다. 예측이면 AIC, 해석이면 BIC. 둘 다 계산하여 비교하라.
-
"파라미터 수만 세면 된다" — 정규화된 모델, 비모수 모델 등에서는 "효과적 파라미터 수(effective number of parameters)"를 사용해야 하며, 이는 명시적 파라미터 수와 다를 수 있다.
-
"IC만으로 충분하다" — IC는 점근적 근사이므로, 소표본이나 비표준 모델에서는 부정확할 수 있다. 가능하면 CV로 검증하라.
-
"AIC와 BIC가 다른 모델을 선택하면 문제다" — 이는 자연스러운 현상이다. 두 기준의 철학이 다르기 때문이다. 선택은 분석 목적에 따라 결정한다.
다른 주제와의 연결¶
- 교차 검증: 정보 기준의 범용적 대안; AIC는 LOOCV의 점근적 동등
- 편향-분산 트레이드오프: 정보 기준의 복잡도 페널티는 편향-분산 균형을 추구
- 회귀 지표: Adjusted \(R^2\)와 정보 기준의 관계 — 둘 다 복잡도를 벌함
- 보정 (Calibration): 우도 기반 지표 (Log Loss)와 정보 기준의 관계