확률적 머신러닝 입문
동전 · 가우시안 · 릿지 예로 최대우도 · MAP · 베이즈 추론과 '정규화 = 사전 분포'를 익히는 수업
먼저 알아야 할 것
다루는 내용
Murphy의 『확률적 머신러닝 입문』이 책 전체에 깔고 있는 확률적 관점을 자체 해설로 정리했습니다. 분포 가정에서 손실(NLL)이 나오는 원리, 동전 던지기 MLE와 그 약점, 베타-베르누이 켤레 사전으로 하는 MAP · 사후 평균 계산, 가우시안 MLE와 MSE의 관계, L2 정규화가 가우시안 사전의 MAP(λ = σ²/τ²)라는 것을 작은 숫자로 확인합니다.
해설
확률적 머신러닝 입문으로 배우는 최대우도 · MAP · 베이즈 추론
Kevin Murphy의 『확률적 머신러닝 입문』은 머신러닝 전체를 "데이터가 어떤 확률 분포에서 나왔는가"라는 질문으로 엮습니다. 이 수업은 그 관점의 뼈대 — 최대우도 추정(MLE), 최대 사후 확률 추정(MAP), 베이즈 추론(베타-베르누이 동전 예), 가우시안 MLE, MSE와 가우시안 우도의 관계, 정규화와 사전 분포의 관계 — 를 원문 없이 손계산으로 익힙니다.
| 항목 | 내용 |
|---|---|
| 출처 | Probabilistic Machine Learning: An Introduction · Kevin P. Murphy · MIT Press · probml.github.io/pml-book/book1.html |
| 트랙 · 수준 | 머신러닝 · 중급 |
| 이 수업의 범위 | 1부 기초(2~4장 확률 · 통계)의 핵심 생각인 MLE · MAP · 베이즈 추론과, 2부 선형 모델(11장 선형 회귀)의 확률적 해석을 자체 해설로 정리 |
| 먼저 알면 좋은 것 | 베이즈 정리, 정규분포, 로그와 미분, 교차 엔트로피, 로지스틱 회귀 |
들어가기 전에
- 확률과 통계 최소한 — 베이즈 정리(사전 · 가능도 · 사후)와 정규분포가 이 수업의 재료입니다.
- 정보 이론 최소한 — "음의 로그 우도 = 교차 엔트로피"라는 연결을 이 수업에서 일반화합니다.
- 스탠퍼드 CS229 머신러닝 강의 노트 — 로지스틱 회귀의 로그 우도와 "최소제곱 = 가우시안 잡음의 최대우도"를 이미 봤다면 이 수업이 그 일반판입니다.
한눈에 보기
- 손실 함수가 "데이터 분포 가정 + 음의 로그 우도"에서 자동으로 나온다는 원리를 압니다.
- 동전 던지기로 MLE를 미분해 구하고, 데이터가 적을 때 MLE가 왜 위험한지 봅니다.
- 베타 사전 분포 + 베르누이 가능도 = 베타 사후 분포라는 계산을 숫자로 따라 하고, 사후 평균 · MAP · MLE를 비교합니다.
- 가우시안의 MLE가 표본평균 · 표본분산이라는 것과, MSE가 가우시안 우도에서 나온다는 것을 확인합니다.
- L2 정규화 = 가우시안 사전 분포의 MAP라는 것을 식과 숫자로 보입니다.
1. 확률 모델에서 손실 함수로
직관(해설용 비유): 탐정은 "이 증거가 나올 가능성이 가장 높은 용의자"를 고릅니다. 최대우도 추정은 "이 데이터가 나올 가능성이 가장 높은 매개변수"를 고르는 일입니다.
단계
- 데이터가 어떤 분포 에서 나왔다고 가정합니다(모델).
- 예제들이 독립이라 보고, 전체 데이터 의 우도를 곱으로 씁니다.
- 곱을 합으로 바꾸려고 로그를 씌웁니다.
- 최대화 대신 음수를 붙여 최소화하면 그것이 손실(음의 로그 우도, NLL)입니다.
| 기호 | 뜻 |
|---|---|
| 데이터 전체 | |
| 모델의 매개변수 | |
| 입력이 주어졌을 때 출력의 분포(모델) | |
| · | 괄호 안을 가장 크게 · 작게 만드는 값 |
| NLL | 음의 로그 우도(negative log-likelihood) |
식은 설명용으로 단순화했습니다(은 최적점을 바꾸지 않아 편의상 붙였습니다).
| 분포 가정 | 나오는 손실 |
|---|---|
| 가 정규분포 | 평균 제곱 오차(MSE) |
| 가 베르누이(0/1) | 이진 교차 엔트로피(로지스틱 회귀) |
| 가 범주형(K개 클래스) | 교차 엔트로피(소프트맥스 회귀, LLM 손실) |
왜 이 관점이 유용한가: 새 문제(개수 데이터, 이상치가 많은 데이터, 여러 정답이 가능한 문제)를 만나도 "데이터가 어떤 분포를 따를까"만 정하면 손실이 따라 나옵니다. 손실을 외울 필요가 없어집니다.
2. 동전 던지기로 보는 MLE
숫자로 해 보기(해설용): 앞면 확률이 인 동전을 4번 던져 앞 3번, 뒤 1번이 나왔습니다.
- 우도:
- 로그 우도:
- 미분해 0으로:
| 0.5 | 0.75 | 0.9 | |
|---|---|---|---|
| 0.0625 | 약 0.105 | 약 0.073 |
일반적으로 앞면 번, 뒷면 번이면 , 즉 관측 비율입니다.
MLE의 약점 — 데이터가 적을 때: 3번 던져 3번 다 앞면이면 입니다. "이 동전은 절대 뒷면이 안 나온다"고 단언하는 셈입니다. 언어 모델에서 학습 데이터에 한 번도 안 나온 단어 조합에 확률 0을 주는 문제와 같습니다. 이것을 고치는 것이 사전 분포입니다.
3. MAP와 베이즈 추론: 사전 믿음 더하기
직관: "동전은 보통 공정하다"는 상식을 숫자로 적어 두고(사전 분포), 데이터를 볼 때마다 그 믿음을 고칩니다(사후 분포).
베타 사전 분포와 베르누이 가능도
0~1 사이 값 에 대한 믿음은 베타 분포(Beta distribution)로 적기 좋습니다.
| 기호 | 뜻 |
|---|---|
| "앞면을 번, 뒷면을 번 미리 본 것처럼" 믿는다는 뜻의 숫자(가상 관측) | |
| 비례 — 전체 합이 1이 되도록 맞추는 상수는 생략 | |
| 평균 | |
| 최빈값(가장 높은 점) | (일 때) |
가능도 를 곱하면 지수끼리 더해져 사후 분포도 베타가 됩니다.
사전과 사후가 같은 꼴이 되는 이런 짝을 켤레 사전 분포(conjugate prior)라고 부릅니다. 계산이 덧셈 두 번으로 끝납니다.
숫자로 해 보기(해설용): 사전 ("앞뒤 한 번씩 본 정도의 공정하다는 믿음"), 데이터 앞 3 · 뒤 1.
- 사후:
- 사후 평균:
- MAP(사후 최빈값):
- MLE:
| 추정 | 값 | 성격 |
|---|---|---|
| MLE | 0.75 | 데이터만 믿음 |
| MAP | 0.667 | 데이터 + 사전 믿음, 가장 그럴듯한 한 점 |
| 사후 평균 | 0.625 | 사후 분포 전체의 평균, "다음 던지기가 앞면일 확률" |
앞의 "3번 다 앞면" 문제에 같은 사전을 쓰면 사후 , 사후 평균 , MAP 로 1이라는 극단적 결론을 피합니다.
데이터가 많아지면: 40번 중 앞 30번이면 사후 , 사후 평균 , MAP , MLE 로 셋이 거의 같아집니다. 데이터가 많으면 사전의 영향은 줄어듭니다.
왜 '한 점'이 아니라 '분포'인가: 베이즈 추론은 를 한 값으로 정하지 않고 분포로 들고 다닙니다. 그래서 "얼마나 확신하는가"(분포의 폭)를 함께 압니다. 앞 3 · 뒤 1과 앞 30 · 뒤 10은 MLE가 같지만 사후 분포의 폭은 크게 다릅니다.
flowchart LR
A["사전 분포 Beta(a, b)"] --> C["곱하기: 지수 더하기"]
B["데이터: 앞 N₁ · 뒤 N₀"] --> C
C --> D["사후 분포 Beta(a+N₁, b+N₀)"]
D --> E["MAP = 최빈값"]
D --> F["사후 평균 = 예측 확률"]
D -. "다음 데이터의 사전 분포로" .-> A4. 가우시안 MLE와 MSE
가우시안의 MLE: 데이터 이 에서 나왔다면 로그 우도는
입니다. 와 로 각각 미분해 0으로 두면
가 나옵니다. 즉 표본평균과 (으로 나눈) 표본분산입니다.
숫자로 해 보기(해설용): 데이터 이면 , 입니다. 확률과 통계 최소한에서 본 로 나누는 표본분산()과 다릅니다. MLE 분산은 데이터가 적을 때 진짜 분산을 약간 작게 추정하는 치우침(bias)이 있습니다.
MSE가 가우시안 우도에서 나온다: 회귀에서 로 두고 를 고정하면, 위 식의 첫 항은 상수이고 남는 것은 입니다. NLL 최소화 = 오차 제곱합 최소화입니다. 오차에 이상치가 많다면 정규분포 대신 꼬리가 두꺼운 분포(라플라스 등)를 가정하고, 그러면 절댓값 오차(MAE) 같은 다른 손실이 나옵니다.
5. 정규화 = 사전 분포
직관: "가중치는 아마 0 근처일 것"이라는 믿음을 평균 0의 정규분포 사전 로 적고 MAP를 구하면, L2 정규화가 저절로 나옵니다.
양변에 를 곱하면 , 여기서 입니다. 이것이 릿지 회귀(ridge regression), 곧 L2 정규화 선형 회귀입니다.
| 기호 | 뜻 |
|---|---|
| 데이터 잡음의 분산 | |
| 사전 분포의 분산 — 작을수록 "가중치는 0 근처"라고 강하게 믿음 | |
| 정규화 세기 — 사전 믿음이 강할수록(τ 작을수록) 커짐 |
숫자로 해 보기(해설용): 절편 없는 모델 , 데이터 에서 릿지 해는 입니다.
| 뜻 | ||
|---|---|---|
| 0 (MLE) | 사전 없음 | |
| 1 | 약한 사전 — 조금 줄어듦 | |
| 14 | 강한 사전 — 0 쪽으로 크게 당김 |
왜 중요한가: 모델 평가와 과적합에서 "과적합을 막는 기술"로 배운 L2 정규화가, 확률의 언어로는 "합리적인 사전 믿음"이라는 것을 압니다. 같은 식으로 라플라스 사전은 L1 정규화(가중치를 정확히 0으로 만드는 희소성)를 줍니다.
연습 문제
1. 동전을 10번 던져 앞 7번이 나왔습니다. MLE는? 사전 (균등 분포)일 때 MAP와 사후 평균은?
풀이: MLE . 사후 , MAP (균등 사전이면 MAP = MLE), 사후 평균 입니다.
2. 데이터 의 가우시안 MLE , 는?
풀이: , 편차 제곱 의 합 을 로 나눠 입니다.
3. 본문 릿지 예에서 , 이면 와 는?
풀이: , 입니다.
4. 분류 모델이 정답에 확률 를 주었습니다. 이 예제의 NLL(자연로그)은?
풀이: 입니다. 교차 엔트로피 손실과 같은 값입니다.
스스로 점검
- MLE가 데이터가 적을 때 위험한 이유는?
- 답: 관측 비율을 그대로 믿기 때문에, 몇 번 안 본 데이터로 "확률 0 또는 1" 같은 극단적인 결론을 낼 수 있습니다.
- 베타-베르누이 모델에서 사후 분포를 구하는 계산은?
- 답: 사전 의 에 앞면 수, 에 뒷면 수를 더해 를 얻습니다.
- L2 정규화의 를 키우는 것은 확률로 어떤 뜻인가요?
- 답: 가중치에 대한 가우시안 사전 분포의 분산 를 줄이는 것, 즉 "가중치는 0 근처"라고 더 강하게 믿는 것입니다().
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 최대우도 추정(MLE) | 데이터가 나올 확률을 가장 크게 하는 매개변수 고르기 |
| 음의 로그 우도(NLL) | 로그 우도에 마이너스를 붙인 것, 곧 손실 |
| 최대 사후 확률 추정(MAP) | 가능도 × 사전을 가장 크게 하는 매개변수 고르기 |
| 베이즈 추론(Bayesian inference) | 매개변수를 한 값이 아닌 사후 분포로 다루는 방법 |
| 사전 · 사후 분포(prior · posterior) | 데이터 보기 전 · 본 뒤 매개변수에 대한 믿음 |
| 베타 분포(Beta distribution) | 0~1 사이 값에 대한 믿음을 적는 분포 |
| 켤레 사전 분포(conjugate prior) | 곱해도 사후가 같은 꼴이 되는 사전 분포 |
| 사후 평균(posterior mean) | 사후 분포의 평균, 다음 결과의 예측 확률로 씀 |
| 릿지 회귀(ridge regression) | L2 정규화를 더한 선형 회귀 |
| 치우침 · 편향(bias, 추정량의) | 추정값의 평균이 진짜 값과 다른 정도 |
더 깊이 보려면
책은 1장 들어가며와 다섯 부로 되어 있습니다. 1부 기초(2장 단변량 확률, 3장 다변량 확률, 4장 통계, 5장 결정 이론, 6장 정보 이론, 7장 선형대수, 8장 최적화) 가운데 이 수업은 2~4장의 핵심을 다뤘습니다. 다음으로 2부 선형 모델(10장 로지스틱 회귀, 11장 선형 회귀)을 읽으면 이 수업의 MLE · MAP가 실제 모델에 어떻게 쓰이는지 볼 수 있고, 4부의 18장(트리 · 랜덤 포레스트 · 배깅 · 부스팅)은 이 섹션의 XGBoost 항목과 이어집니다. 본문 그림을 만드는 코드는 pyprobml 저장소에 Colab 노트북으로 공개돼 있습니다.
다음에 볼 것
- 중간 점검: 머신러닝 트랙 (문제 15개와 풀이) — 머신러닝 트랙을 마쳤다면 15문제로 이해를 점검합니다
- XGBoost: 확장 가능한 트리 부스팅 — 정규화 항을 목적 함수에 넣고 2차 근사로 최적화하는 트리 부스팅을 봅니다.
- 변분 오토인코더 (VAE) — 사후 분포를 정확히 계산할 수 없을 때 근사하는 변분 추론을 신경망과 결합합니다.
- 딥러닝 이해하기 — 같은 "분포 가정 → 손실" 원리를 신경망의 손실 함수 설계에 적용합니다.
라이선스
초안 PDF는 CC BY-NC-ND(저작자표시 · 비영리 · 변경 금지) 라이선스로 공개돼 있고, 정식판은 MIT Press 출간본입니다. 변경 금지 조건이 있어 번역본을 만들 수 없으므로, 이 글은 원문 번역이 아니라 KAITABASE가 직접 쓴 해설입니다. 숫자 예는 모두 설명용으로 만든 것입니다.
출처
- 원문: https://probml.github.io/pml-book/book1.html (Kevin P. Murphy, MIT Press)
AI 원리부터 이해하기 · 머신러닝 모듈
머신러닝 모듈 학습
이 글은 머신러닝 모듈의 학습 자료입니다. 전체 17개 자료 중 16번째입니다.
출처·원문
원문 보기요약만