핵심 명제 — 표현력 확보 후 그 안에서 단순함 찾기
ML 모델 설계를 가만히 들여다보면 두 단계가 거의 항상 분리되어 있다. 먼저 모델이 표현할 수 있는 hypothesis 전체를 넉넉히 잡고, 그 다음 그 안에서 "이 중 어느 것?"을 단순함 기준으로 좁힌다. 이 두 단계가 왜 합쳐지지 않는가가 이 노트의 핵심 질문.
명제
표현력은 데이터에 앞서 결정한다. 단순함 기준은 그 표현력 안에서 별도의 prior로 추가된다. 두 결정은 독립적이며, 한쪽으로 합치려는 시도는 모두 다른 쪽을 망가뜨린다.
두 단계 분리의 그림
여기서 미묘한 부분: 단계 2의 단순함 prior는 데이터를 보지 않고도 정의된다. L2 regularizer의 , decision tree의 max depth, dropout rate — 모두 데이터에 무관한 모델 구조 결정이다. 데이터는 hypothesis 후보를 좁히지만, 그 안에서 어느 걸 선호할지는 데이터 밖에서 정한다.
합치려는 시도가 왜 무너지는가
이 두 단계를 한 번에 처리하려는 시도가 종종 등장한다. 둘 다 실패한다.
시도 A — Hypothesis space를 처음부터 좁게
"애초에 단순한 함수만 후보로 두면 별도 prior가 필요 없지 않은가?"
decision-tree-structure-and-hypothesis에서 본 conjunctive functions가 이 시도의 사례다. AND로 연결된 literal만 허용하면 hypothesis 수가 로 줄어든다. 단순함은 자동으로 보장된다.
문제: 이 공간이 데이터 자체를 표현하지 못할 가능성이 있다. 강의 자료의 표는 conjunctive form 16개 중 데이터를 맞추는 게 0개임을 보여준다. 표현력이 부족하면 단순함을 논할 무대 자체가 없다.
시도 B — Hypothesis space를 크게 두고 데이터로만 결정
"표현력은 충분히 크게 두고, 데이터로 best fit만 찾자."
이게 vanilla MLE / unconstrained polynomial regression / unregularized NN의 형태. Hypothesis space 안에서 데이터를 가장 잘 맞추는 함수를 선택한다.
문제: 데이터를 완벽히 맞추는 hypothesis가 너무 많다. Decision tree에서 16개 input 중 7개만 알 때, 개 함수가 모두 training set과 consistent하다. 이 중 어느 걸 고를지 데이터만으로는 결정 불가능. 데이터에 가장 가까운 게 generalization에 가장 좋은 함수도 아니다 (overfitting).
두 시도가 보여주는 것
| 시도 | 빠진 단계 | 결과 |
|---|---|---|
| A — 좁은 H | 표현력 확보 (단계 1) | underfitting · 데이터 표현 불가 |
| B — H + best fit only | 단순함 prior (단계 2) | overfitting · hypothesis 무수히 많음 |
→ 두 단계는 서로 다른 종류의 결정이라 합쳐질 수 없다. 단계 1은 데이터에 무관한 모델 표현력 결정. 단계 2는 데이터 안에서 선호 결정. 도구의 종류 자체가 다르다.
단순함의 정의 — 모델마다 다르다는 약점
이 thesis의 첫 번째 약점: "단순함"이 모델마다 다르게 정의된다. 그래서 두 모델의 단순함을 직접 비교할 수 없다.
| 모델 | 단순함의 측도 |
|---|---|
| Polynomial regression | degree , 또는 파라미터 norm |
| Decision tree | 노드 수, max depth, leaf 수 |
| Linear model with L1 | 0이 아닌 파라미터 수 (sparsity) |
| Neural network | weight norm, 활성화된 뉴런 수, 함수의 smoothness |
| Bayesian model | prior 분산 (작을수록 단순) |
| Kernel method | RKHS norm |
각각 그 모델 안에서는 자연스러운 측도지만, "polynomial degree 5와 NN parameter norm 10 중 어느 게 단순한가?" 같은 비교는 무의미하다.
왜 이게 문제가 되는가? 모델 선택을 할 때 단순함을 비교 기준으로 쓰고 싶지만, 모델마다 단순함의 단위가 다르다. 그래서 결국 cross-validation 같은 데이터 기반 선택으로 우회한다 — Occam의 직관에서 시작했지만 실무에서는 데이터 기반 검증으로 돌아오는 셈.
이 균열을 깊이 보려면 occam-mdl-kolmogorov — MDL과 Kolmogorov complexity는 모델 무관한 단순함 척도를 시도한다.
대안적 시각 — 단순함은 prior, 표현력은 likelihood
이 두 단계 분리를 Bayesian 시각으로 다시 쓰면 깔끔해진다.
- 표현력 = 가 데이터 를 얼마나 잘 설명하는가 (likelihood)
- 단순함 = 자체가 얼마나 그럴듯한가 (prior, 데이터 무관)
두 항이 곱해진다는 게 핵심. 한쪽만 키우면 다른 쪽이 죽는다. 두 단계가 분리되는 이유가 여기서 명료해진다 — 수학적으로 두 항은 별개의 함수이고, 합치려면 의미가 망가진다.
이 시각은 ML이 Bayesian이든 frequentist든 동일하게 작동한다. Frequentist에서 regularization은 prior의 역할을 대체한다 (regularization-as-unified-pattern에서 더).
인사이트 — 두 단계 사고법
새 모델을 만나거나 자기 모델을 디버깅할 때, 두 질문으로 쪼개라.
- 표현력 (likelihood 측면) — 이 모델이 표현하는 함수 공간은? 내 데이터의 진짜 패턴이 그 안에 있는가?
- 단순함 (prior 측면) — 그 공간 안에서 무엇을 선호하도록 설정했는가? 그 선호가 내 도메인에 맞는가?
둘 중 하나만 답할 수 있다면 그 모델은 절반만 이해한 것. 의외로 자주 일어난다 — 라이브러리 default가 단순함 prior를 자동으로 끼워넣어서 사용자가 의식하지 못한다 (sklearn DecisionTreeClassifier의 max_depth=None, NN training의 weight initialization, optimizer의 momentum 등).
약점·열린 질문
- 단순함의 정의가 모델 의존적 — 위에서 다룸. 이게 다음 노트 occam-mdl-kolmogorov의 출발
- 두 단계가 정말 깔끔히 분리되는가? — 현대 NN의 implicit regularization은 단계 1과 2가 섞이는 사례. SGD가 표현력 안에서 자동으로 단순한 영역으로 흐른다는 가설. 4번 축 follow-up
- 단순함이 generalization에 정말 도움이 되는가? — over-parameterized 모델이 더 잘 일반화한다는 double descent 현상이 이 thesis의 가장 큰 도전. 4번 축 follow-up
다음 노트
- 단순함이 왜 답인가의 철학적 근거 → occam-mdl-kolmogorov
- 두 단계 분리의 수학적 형식화 → vc-dimension-and-generalization
- 단순함 prior의 다양한 발현 → regularization-as-unified-pattern
- 단순함 찾기가 왜 어려운가 → simple-is-not-easy