콘텐츠로 이동

모델 선택 기준 (Model Selection Criteria)

개요

여러 후보 모델 중 어떤 것을 선택할지는 ML의 핵심 문제다. 교차 검증이 가장 범용적인 방법이지만, 계산 비용이 높다. 정보 기준(Information Criteria)은 단 한 번의 모델 적합으로 일반화 성능을 근사하는 빠른 대안이다.

이 문서에서는 AIC, BIC, MDL의 수학적 정의, 직관적 해석, 그리고 교차 검증과의 관계를 다룬다.


핵심 개념

정보 기준의 기본 원리

모든 정보 기준은 같은 구조를 따른다:

\[\text{정보 기준} = -2 \ln(\hat{L}) + \text{복잡도 페널티}\]
  • \(\hat{L}\): 최대화된 우도(maximized likelihood)
  • 첫째 항: 모델의 적합도(goodness of fit) — 작을수록 데이터를 잘 설명
  • 둘째 항: 복잡도 페널티 — 파라미터가 많을수록 증가
  • 목표: 정보 기준을 최소화하는 모델 선택

Akaike Information Criterion (AIC)

\[\text{AIC} = 2k - 2\ln(\hat{L})\]
  • \(k\): 모델의 추정 파라미터 수
  • \(\hat{L}\): 최대우도

유도: KL-발산(Kullback-Leibler divergence) 최소화에서 유도된다. AIC는 모델과 실제 데이터 생성 분포 사이의 KL-발산의 추정치를 최소화한다.

핵심 성질: - LOOCV와 점근적으로 동등 (Asymptotically equivalent to LOO-CV) - 예측 중심: 새 데이터에 대한 예측 성능을 최적화 - 일관적(consistent)이지 않음: \(n \to \infty\)에서 참 모델을 선택한다고 보장하지 않음 - 대신 효율적(efficient): 유한 표본에서 예측 오차를 더 낮추는 경향

소표본 보정 — AICc:

\[\text{AIC}_c = \text{AIC} + \frac{2k^2 + 2k}{n - k - 1}\]

\(n\)\(k\)에 비해 작을 때 (대략 \(n/k < 40\)) AICc를 사용해야 한다. \(n \to \infty\)이면 AICc → AIC.


Bayesian Information Criterion (BIC)

\[\text{BIC} = k \ln(n) - 2\ln(\hat{L})\]
  • \(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)에서 유래한 원리:

\[\text{Total Length} = L(M) + L(D|M)\]
  • \(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로


정보 기준이 실패하는 경우

  1. 비중첩 모델 (Non-nested models): 구조가 완전히 다른 모델 간 비교에서 IC가 오도할 수 있다
  2. 잘못 지정된 우도 (Misspecified likelihood): 우도 함수가 부정확하면 IC 자체가 부정확
  3. 소표본: AIC/BIC의 점근적 근사가 부정확할 수 있다 — AICc 사용 또는 CV로 전환
  4. 비모수 모델: 파라미터 수 \(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로 최종 선택

흔한 오해와 함정

  1. "AIC/BIC가 낮으면 절대적으로 좋은 모델이다" — IC는 후보 모델 간의 상대적 비교 도구다. IC 값 자체는 모델의 절대적 품질을 말하지 않는다.

  2. "AIC가 항상 BIC보다 좋다 (또는 그 반대)" — 목적에 따라 다르다. 예측이면 AIC, 해석이면 BIC. 둘 다 계산하여 비교하라.

  3. "파라미터 수만 세면 된다" — 정규화된 모델, 비모수 모델 등에서는 "효과적 파라미터 수(effective number of parameters)"를 사용해야 하며, 이는 명시적 파라미터 수와 다를 수 있다.

  4. "IC만으로 충분하다" — IC는 점근적 근사이므로, 소표본이나 비표준 모델에서는 부정확할 수 있다. 가능하면 CV로 검증하라.

  5. "AIC와 BIC가 다른 모델을 선택하면 문제다" — 이는 자연스러운 현상이다. 두 기준의 철학이 다르기 때문이다. 선택은 분석 목적에 따라 결정한다.


다른 주제와의 연결