![[머신러닝] 학습 가능성과 일반화 이론 (Feasibility of Learning)](/images/ml-1-2.jpeg)
[머신러닝] 학습 가능성과 일반화 이론 (Feasibility of Learning)
기계학습의 핵심 질문은 이것입니다: 훈련 데이터에서 잘 작동하는 모델이 새로운 데이터에서도 잘 작동할 것이라고 어떻게 보장할 수 있는가?
우리는 훈련 오차 은 계산할 수 있지만, 진짜 알고 싶은 것은 일반화 오차 입니다. 이 둘의 관계를 정량적으로 분석하는 것이 이 글의 목표입니다.
이 글의 여정
확률 부등식에서 출발하여, 성장 함수와 VC 차원을 거쳐, PAC 학습과 라데마허 복잡도까지 — 하나의 논리적 흐름으로 연결됩니다.1. 확률 부등식의 계층
마르코프에서 Hoeffding까지
우리가 하고 싶은 것은 "과 의 차이가 보다 클 확률에 상한을 두는 것"입니다. 이것이 확률 부등식의 역할입니다.
2. Union Bound와 다중 가설
단일 가설에서 가설 공간으로
Hoeffding 부등식은 고정된 가설 h 하나에 대해 성립합니다. 하지만 학습 알고리즘은 여러 가설 중에서 이 가장 작은 것을 선택합니다.
3. 성장 함수와 Shattering
가설 공간의 실효적 크기
핵심 아이디어: 가설의 개수가 아니라, 데이터에 대해 만들 수 있는 서로 다른 분류 패턴의 수로 복잡도를 측정합니다.
성장 함수 (Growth Function)
N개의 점에 대해 가설 공간 H가 만들 수 있는 서로 다른 분류의 최대 개수:4. VC 차원 (Vapnik-Chervonenkis Dimension)
가설 공간 복잡도의 척도
VC 차원의 정의
가설 공간 H의 VC 차원은 H가 shatter할 수 있는 최대 점의 개수입니다.2차원 직선 분류기: 3개까지 shatter 가능, 4개는 불가능 → d_VC = 3
5. VC 일반화 경계
일반화 오차의 정량적 경계
VC 일반화 경계
확률 1 - δ 이상으로 다음이 성립합니다:이 bound가 말해주는 것:
E_in 작아야
훈련 오차가 크면 일반화도 보장 못함
d_VC 작을수록
단순한 모델일수록 일반화 ↑
N 클수록
데이터 많을수록 gap ↓
📐 일반화 경계 계산기
일반화 오차 상한
± 67.7%
E_out ≤ E_in + 0.677 (확률 95%)
💡 Bound가 너무 느슨합니다. N을 늘리거나 d_VC를 줄여보세요. N/d_VC 비율이 클수록 의미 있는 bound를 얻습니다.
6. PAC 학습 (Probably Approximately Correct)
학습 가능성의 형식적 정의
PAC 학습의 의미
Probably (확률 1-δ 이상으로) Approximately (오차 ε 이내로) Correct (올바른 답)7. 라데마허 복잡도 (Rademacher Complexity)
데이터 의존적 복잡도 측도
VC 차원의 한계: 데이터 분포와 무관하게 최악의 경우를 고려합니다. 실제 데이터가 특정 구조를 가지고 있다면, 더 정밀한 bound를 얻을 수 있지 않을까요?
라데마허 복잡도의 핵심 질문
가설 공간이 무작위 레이블을 얼마나 잘 맞출 수 있는가?무작위 레이블을 잘 맞출 수 있다 = 노이즈를 외울 수 있다 = 과적합 위험
요약: 학습 가능성의 조건
전체 흐름 정리
확률 부등식
마르코프 → 체비셰프 → Hoeffding
기댓값 → 분산 → 유계 조건 활용
Union Bound
단일 가설 → 다중 가설
M개 가설에 대한 동시 보장
성장 함수 & VC 차원
가설 공간의 실효적 크기
Shatter 가능한 최대 점 수
VC 일반화 경계
E_out ≤ E_in + O(√(d_VC/N))
복잡도-데이터 트레이드오프
PAC 학습
VC 유한 ↔ 학습 가능
샘플 복잡도: O(d_VC/ε²)
라데마허 복잡도
데이터 의존적 복잡도
실제 분포의 구조를 반영
핵심 메시지
VC 차원이 유한한 가설 공간은, 충분한 데이터가 있으면, 높은 확률로 좋은 일반화를 보장받습니다.이것이 기계학습의 이론적 토대입니다.