- Published on
BA026. 입자들의 합의 — MCMC 앙상블과 교차검증의 수학

BA025에서 Grid Search가 3,240개의 격자를 탐색하여 Youden's J를 최대화하는 최적 후보 파라미터를 찾았다. 하지만 한 가지 중요한 질문이 남아 있다.
"그 최적값, 진짜 믿어도 되는가?"
Grid Search는 점 추정(Point Estimate)만 제공한다. T(Discovery)=0.22가 최적이라고 했지만, 0.21이나 0.23으로 바꾸면 결과가 완전히 달라지는가? 아니면 비슷한가? 그 대답 없이는, 영업 리더가 이 숫자를 신뢰하기 어렵다.
이 글은 Auto-Tuner의 두 번째 기둥 MCMC 앙상블 샘플링과 세 번째 기둥 교차검증의 수학적 원리를 풀어낸다.
Part I. MCMC 앙상블 샘플링
1. 사후분포: 답은 '점'이 아니라 '지형'이다
베이지안 추론의 핵심 철학은, 파라미터의 최적값이 하나의 점이 아니라 확률 분포(Distribution)라는 것이다.
Grid Search가 "T(Discovery)=0.22"라고 답했다면, 베이지안 관점에서 우리가 진정 알고 싶은 것은:
즉, 사후분포(Posterior Distribution) — "데이터를 관찰한 후, 파라미터 θ가 각 값을 가질 확률의 전체 지형(Landscape)"이다.
이 사후분포의 봉우리(Mode)가 최적점이고, 봉우리의 폭이 불확실성의 크기다. 봉우리가 날카로우면 "이 값이 확실하다"는 뜻이고, 넓으면 "여러 값이 비슷하게 좋다"는 뜻이다.
문제는, 이 사후분포를 수학적으로 계산하는 것이 대부분의 실제 문제에서 불가능하다는 것이다. 분모의 P(Data) — 증거(Evidence) — 가 고차원 적분을 요구하기 때문이다.
5개의 T값과 1개의 k값, 총 6차원 공간에서의 적분. 해석적 풀이(Analytical Solution)는 존재하지 않는다.
여기서 MCMC가 등장한다.
2. MCMC란 무엇인가?
MCMC를 처음 듣는 독자를 위해, 이름부터 분해해 보자.
MCMC = Markov Chain + Monte Carlo이 이름은 두 개의 수학적 아이디어를 합친 것이다.
Monte Carlo(몬테카를로) — 모나코의 유명한 카지노 도시 이름에서 왔다. 핵심 아이디어는 "정확한 계산이 불가능하면, 무작위 시뮬레이션을 수만 번 반복해서 근사값을 구하라"는 것이다. 예를 들어, 원의 넓이를 공식 없이 구하고 싶다면? 정사각형 위에 무작위로 점을 수만 개 찍고, 원 안에 들어간 비율을 세면 π를 추정할 수 있다. 이것이 Monte Carlo 방법이다.
Markov Chain(마르코프 체인) — 러시아 수학자 안드레이 마르코프의 이름에서 왔다. "다음 상태는 오직 현재 상태에만 의존하고, 과거 경로와는 무관하다"는 성질(무기억성)을 가진 확률적 이동 경로를 말한다. 비유하자면, 술 취한 사람이 골목에서 비틀거리는 모습이다. 다음 발걸음의 방향은 지금 서 있는 위치에만 달렸지, 어디서 출발했는지는 상관없다.
MCMC를 합치면: "마르코프 체인의 규칙(현재 위치에서 다음 위치를 확률적으로 선택)에 따라 파라미터 공간을 무작위로 돌아다니며(Monte Carlo), 그 궤적의 분포로 사후분포를 추정하는 방법"이다.
왜 이런 방법이 필요한가? 앞 절에서 보았듯이, 사후분포 P(θ|Data)를 직접 계산하려면 분모 P(Data)의 고차원 적분이 필요하다. 이 적분은 대부분의 현실 문제에서 수학적으로 풀 수 없다. MCMC는 이 적분을 회피하면서도 사후분포의 형태를 알아내는, 현대 계산통계학의 가장 강력한 도구다.
1990년대 이후 컴퓨팅 파워의 폭발적 증가와 함께 MCMC는 물리학, 천문학, 유전학, 금융공학 등 거의 모든 분야에서 표준 도구로 자리 잡았다. Auto-Tuner가 영업 파라미터 최적화에 MCMC를 사용하는 것은, 이 검증된 방법론을 비즈니스 영역에 적용한 것이다.
MCMC, 딥러닝, 강화학습 — 같은 뿌리, 다른 가지
MCMC가 낯설게 느껴질 수 있지만, 오늘날 AI의 핵심 기술들과 놀라울 만큼 깊은 연결고리를 가지고 있다.
딥러닝과의 연결 — "최적의 파라미터를 찾는 여정"딥러닝의 학습 과정을 생각해 보자. 신경망은 수백만 개의 가중치(Weight)를 가지고 있고, SGD(Stochastic Gradient Descent)가 손실함수의 경사면을 따라 내려가며 최적 가중치를 찾는다. MCMC도 본질적으로 같은 일 — 파라미터 공간에서 최적점을 찾는 일 — 을 한다. 차이는 방법론이다. SGD는 "가장 가파른 내리막길"을 따라가는 등산가이고, MCMC는 "확률적으로 돌아다니며 지형 전체를 그리는" 탐험대다. SGD는 하나의 최적점을 빠르게 찾지만, 그 주변의 불확실성은 모른다. MCMC는 느리지만, "이 답이 얼마나 확실한가"까지 알려준다. Auto-Tuner에게는 후자가 더 중요하다 — 영업 리더에게 "최적값은 0.22이고, 0.19~0.25 범위가 안전합니다"라고 말해줘야 하기 때문이다.
강화학습과의 연결 — "탐색과 활용의 균형"강화학습(RL)의 핵심 딜레마는 Exploration vs Exploitation — "새로운 행동을 시도할 것인가(탐색), 지금까지 가장 좋았던 행동을 반복할 것인가(활용)." MCMC의 수락/거절 메커니즘이 정확히 이 딜레마를 해결한다. 새로운 위치(θ')가 현재 위치(θₜ)보다 사후확률이 높으면 반드시 이동(활용)하고, 낮더라도 일정 확률로 이동(탐색)한다. 이 균형 덕분에 MCMC는 국소 최적점(Local Optimum)에 갇히지 않고 전역 최적점(Global Optimum)을 찾아갈 수 있다. 강화학습의 ε-greedy 전략이나 Policy Gradient 방법도 근본적으로 같은 원리 위에 서 있다.
세 기술의 공통 DNA딥러닝, 강화학습, MCMC — 이 셋은 모두 "고차원 공간에서 최적해를 확률적으로 탐색하는 방법"이라는 공통 DNA를 공유한다. ChatGPT가 수십억 개의 파라미터를 최적화하는 것과, Auto-Tuner가 6개의 영업 파라미터를 최적화하는 것은 스케일이 다를 뿐, 수학적 사고방식은 같은 가문에 속한다.
이제 구체적으로 MCMC가 어떻게 작동하는지 보자.
3. MCMC의 수학적 절차
- 초기점 선택: 파라미터 공간의 임의 위치 θ₀에서 시작한다.
- 제안(Proposal): 현재 위치 θₜ에서 새 위치 θ'를 제안한다.
- 수락/거절(Accept/Reject): 수락 확률 α를 계산한다.
이 수식이 왜 강력한가? 수락 확률 α가 원래 어디서 왔는지 추적해 보자.
우리가 진짜 비교하고 싶은 것은 "θ'에서의 사후확률"과 "θₜ에서의 사후확률"의 비(Ratio)다:
베이즈 정리를 각각에 대입하면:
여기서 핵심이 드러난다. 분자와 분모에 동일한 P(Data)가 존재한다. 분수의 분수를 정리하면:
P(Data)가 완전히 약분되어 사라진다. 이것이 MCMC의 핵심 트릭이다. 6차원 적분이 필요했던 P(Data)를 계산할 필요가 전혀 없다. 두 지점의 사후확률을 "비교"만 하면 되기 때문에, 양쪽에 공통으로 들어 있는 분모가 자연스럽게 상쇄된다.
결과적으로 수락 확률은 우도(Likelihood)와 사전분포(Prior)만으로 계산 가능하다 — 이 두 값은 쉽게 구할 수 있다.
- 이동: 확률 α로 θ'를 수락하고 이동한다. 수락되지 않으면 θₜ에 머무른다.
- 반복: 수천~수만 회 반복한다.
이 과정의 결과로 생성된 체인(Chain) — θ₀, θ₁, θ₂, ..., θₙ — 의 분포가, 충분한 반복 후에는 사후분포에 수렴한다. 이를 에르고딕 정리(Ergodic Theorem)가 보장한다.
4. Emcee: 아핀 불변 앙상블 샘플러
Auto-Tuner는 일반 MCMC가 아닌, Emcee(Goodman & Weare, 2010)라는 특수한 앙상블 샘플러를 사용한다. 이유가 있다.
일반 MCMC의 문제
전통적 MCMC(예: Metropolis-Hastings)는 하나의 체인이 사후분포를 탐색한다. 이때 두 가지 문제가 발생한다.
문제 1 — 상관된 파라미터(Correlated Parameters): T(Qualification)과 T(Solution-Fit)이 높은 상관관계를 가질 경우, 사후분포가 대각선 방향으로 길쭉한 타원 형태가 된다. 단일 체인은 이 타원을 따라 효율적으로 이동하지 못하고, 랜덤워크처럼 느리게 탐색한다.
문제 2 — 다봉성(Multimodality): 사후분포에 봉우리가 여러 개인 경우, 하나의 체인이 한 봉우리에 갇혀 나머지를 발견하지 못할 수 있다.
Emcee의 해법: 앙상블
Emcee는 하나의 체인 대신 수백 개의 워커(Walker)를 동시에 파라미터 공간에 풀어놓는다. Auto-Tuner는 256개의 워커를 사용한다.
각 워커의 이동 규칙이 핵심이다. 워커 j가 이동할 때, 다른 워커 k의 현재 위치를 참조한다.
여기서 z는 다음 분포에서 추출된다:
a는 튜닝 파라미터(기본값 2.0)다.
왜 "아핀 불변(Affine Invariant)"인가?
이 알고리즘의 가장 중요한 성질은 아핀 불변성이다. 파라미터 공간을 선형 변환(회전, 스케일링, 기울이기)해도 알고리즘의 성능이 변하지 않는다.
비즈니스 용어로 번역하면: T(Discovery)의 단위가 0.010.10이고 k의 단위가 0.52.5인, 스케일이 전혀 다른 파라미터들을 별도의 표준화 없이 동시에 효율적으로 탐색할 수 있다.
이것이 Auto-Tuner가 Emcee를 선택한 결정적 이유다. 영업 파라미터들은 차원마다 스케일과 상관구조가 다르고, Emcee는 이런 비정형 지형에서 가장 효율적으로 작동한다.
256개 워커의 의미
워커 수가 256개인 이유는 경험적 규칙에 기반한다.
Auto-Tuner는 6차원(5개 T + 1개 k)을 탐색하므로 최소 12개가 필요하지만, 충분한 사후분포 탐색을 위해 256개를 사용한다. 더 많은 워커는 더 빠른 수렴을 의미하지만, 계산량과 트레이드오프가 있다.
5. 수렴 진단: R̂ (R-hat)
MCMC의 결과를 신뢰하기 전에 반드시 확인해야 할 것이 있다. 체인이 정말로 사후분포에 수렴했는가?
초기 위치 근처에서 아직 벗어나지 못한 체인은 사후분포의 일부만 보여줄 수 있다. 이를 감지하는 표준 도구가 Gelman-Rubin R̂ (R-hat) 통계량이다.
R̂의 수학
여러 개의 독립적 체인(C₁, C₂, ..., Cₘ)이 있을 때:
체인 간 분산 (Between-chain variance, B):
체인 내 분산 (Within-chain variance, W):
R̂ 계산:
해석
- R̂ ≈ 1.00: 모든 체인이 같은 분포에 수렴. ✅ 결과를 신뢰할 수 있음.
- R̂ > 1.05: 체인 간 불일치 존재. ⚠️ 더 많은 반복이 필요.
- R̂ > 1.10: 심각한 미수렴. ❌ 결과를 사용하면 안 됨.
비즈니스 비유
256명의 탐험가(워커)를 서로 다른 출발점에서 풀어놓았다. 충분한 시간이 지난 후:
- R̂ ≈ 1.0: 256명 모두가 "최적값은 이 범위입니다"라고 동일한 결론에 도달. → 합의(Consensus) 성립.
- R̂ > 1.1: 일부 탐험가들이 아직 다른 곳을 헤매고 있음. → 합의 미성립. 더 많은 탐색 시간이 필요.
Auto-Tuner는 R̂ < 1.05를 필수 조건으로 설정한다. 이 조건이 충족되지 않으면, 자동으로 샘플링 반복 횟수를 증가시키고 다시 시도한다.
6. HDI 95% 신뢰구간
수렴이 확인된 사후분포 샘플로부터, HDI(Highest Density Interval)를 추출한다.
HDI vs 일반 신뢰구간
일반적인 95% 신뢰구간(CI, Confidence Interval)은 양쪽 꼬리를 2.5%씩 잘라낸다. 대칭 분포에서는 HDI와 동일하지만, 비대칭 분포에서는 다르다.
HDI는 "사후분포에서 확률밀도가 가장 높은 영역 중 전체 확률의 95%를 포함하는 가장 좁은 구간"이다.
여기서 c는 해당 영역의 확률이 정확히 0.95가 되도록 하는 밀도 임계값이다.
비즈니스 의미
BA024에서 시스템이 보여준 결과를 다시 보자.
T(Discovery): 0.19 ~ 0.25 (최적: 0.22)
이것이 HDI다. 의미: "106건의 데이터에 기반하여, T(Discovery)의 최적값은 0.22이며, 0.19와 0.25 사이 어디에 설정해도 95%의 확률로 성능이 유지된다."
이것이 Grid Search의 점 추정("0.22")보다 압도적으로 유용한 정보다.
영업 리더에게 "T(Discovery)를 0.22로 설정하세요"라고 말하면, 그는 "0.22여야만 하는 건가? 0.20이면 안 되나?"라고 의심한다. 하지만 "0.19~0.25 범위 내에서 자유롭게 설정해도 안전하다. 데이터가 보증한다"라고 말하면, 행동으로 이어지는 확신이 생긴다.
Part II. 교차검증과 진단
7. 5-Fold 교차검증: 미래를 시험하는 방법
Grid Search와 MCMC가 도출한 최적 파라미터가 과거 데이터에서는 완벽하게 작동한다. 하지만 진짜 질문은:
"이 파라미터가 아직 보지 못한 미래의 딜에서도 작동할 것인가?"
이것은 과적합(Overfitting) 문제의 핵심이다.
과적합의 비유
기말 시험 문제를 미리 입수해서 100점을 맞은 학생이 있다. 그 학생이 정말 물리학을 이해하는지는, 다른 시험을 치러봐야 알 수 있다.
마찬가지로, 106건의 과거 데이터에 최적화된 파라미터가 미래의 107번째 딜에서도 정확한지는, 그 데이터를 "보지 않은 상태에서" 평가해야 한다.
5-Fold의 수학적 절차
Step 1. 106건의 데이터를 무작위로 5개의 동일한 크기의 Fold로 분할한다.
| Fold 1 | Fold 2 | Fold 3 | Fold 4 | Fold 5 |
|---|---|---|---|---|
| 21건 | 21건 | 22건 | 21건 | 21건 |
Step 2. 첫 번째 반복: Fold 2~5(85건)로 학습하고, Fold 1(21건)으로 시험한다.
Step 3. 두 번째 반복: Fold 1, 3~5(85건)로 학습하고, Fold 2(21건)으로 시험.
이를 5번 반복한다.
Step 4. 최종 교차검증 점수:
해석 기준
- 평균 J가 높고, 표준편차가 작으면 → 파라미터가 안정적. 과적합 아님.
- 평균 J가 높지만, 표준편차가 크면 → 특정 데이터에만 잘 맞는 불안정한 파라미터. 과적합 의심.
- 전체 데이터 J보다 교차검증 J가 현저히 낮으면 → 과적합 확정.
BA024의 결과
평균 정확도: 75.5% (±1.2%)
전체 데이터에서의 J=0.74와 교차검증 평균 J≈0.73의 차이가 0.01에 불과하다. 그리고 Fold 간 표준편차가 1.2%p. 이는 파라미터가 과거 데이터에 과적합하지 않았으며, 미래의 딜에서도 유사한 성능을 기대할 수 있다는 강력한 증거다.
8. Signal Lift 분석: 어떤 시그널이 진짜 중요한가?
Auto-Tuner의 교차검증 단계에서 부수적으로 생성되는 강력한 분석이 Signal Lift다.
Lift의 정의
시그널 S가 관찰된 딜그룹과 관찰되지 않은 딜그룹의 수주율을 비교한다.
해석
- Lift > 1: 시그널 S가 관찰되면 수주 확률이 높아진다. → 유의미한 시그널.
- Lift ≈ 1: 시그널 S의 존재 여부가 수주에 영향을 주지 않는다. → 노이즈.
- Lift < 1: 시그널 S가 관찰되면 오히려 수주 확률이 낮아진다. → 역(逆)시그널.
비즈니스 진단
BA024에서 영업 본부장이 발견한 사실:
| 시그널 | Lift | 해석 |
|---|---|---|
| 경쟁사 정보 공유 | +3.2 | 고객이 경쟁사 카드를 보여줄 때, 수주 확률 3.2배 ↑ |
| MSA 검토 착수 | +2.8 | 법무팀이 계약 검토를 시작하면, 거의 확정 단계 |
| 예산 승인 확인 | +1.4 | 생각보다 수주에 결정적이지 않음 (조직변경 리스크) |
| 회의 참석 인원 증가 | +0.3 | 사실상 노이즈 — 구경꾼 효과 |
Signal Lift는 영업 전략의 재설계를 가능하게 한다. "회의에 사람 많이 모으기"에 투입하던 에너지를, "경쟁사 정보를 자연스럽게 공유받을 수 있는 관계 구축"으로 전환할 수 있다.
9. Mismatch Alert: 설정값과 데이터의 괴리
Auto-Tuner의 마지막 진단 기능은 Mismatch 경고다.
원리
사용자가 설정한 각 시그널의 Impact Score(임팩트 점수)와, 데이터에서 관찰된 실제 기여도(Signal Lift 기반)를 비교한다.
- Ratio ≈ 1.0: 사용자의 직관이 데이터와 일치. ✅
- Ratio > 1.5: 사용자가 해당 시그널을 과대평가. ⚠️ False Positive 유발 가능.
- Ratio < 0.67: 사용자가 해당 시그널을 과소평가. ⚠️ False Negative 유발 가능.
BA024의 사례
시그널 '예산 승인'의 현재 Impact Score(2.5)는 데이터 기반 권장값(1.7)과 불일치한다.
Mismatch Ratio = 2.5 / 1.7 = 1.47. 임계값(1.5)에 근접하여 경고를 발생시켰다.
비즈니스 의미
Mismatch Alert는 조직의 집단적 편향(Organizational Bias)을 감지하는 장치다.
"우리 회사에서는 예산 승인이 나오면 거의 된 거나 마찬가지야"라는 오래된 통념이 있을 수 있다. 하지만 최근 1년간의 데이터는 "예산 승인 후에도 20%가 뒤집혔다"고 말하고 있다.
Mismatch Alert는 이런 '느끼지 못하는 편향'을 데이터로 가시화한다. 그것은 비난이 아니라, 환경이 변했음을 알려주는 조기 경보다.
10. 전체 파이프라인: 세 기둥의 협업
Auto-Tuner의 세 기둥은 독립적이지 않다. 순차적으로 연결된 하나의 파이프라인이다.
Grid Search → "가능한 모든 조합 중, J가 최대인 후보를 찾는다."
MCMC → "그 후보가 얼마나 확실한지, 대안은 무엇인지, 분포 전체를 알려준다."
Cross-Validation → "이 결과가 과거에만 통하는 것인지, 미래에도 통할 것인지 시험한다."
각 단계의 역할을 의학에 비유하면:
| 단계 | 의학 비유 | 역할 |
|---|---|---|
| Grid Search | 전신 스캔(CT) | 문제 영역 대략적 식별 |
| MCMC | 정밀 검사(MRI) | 해당 영역의 정밀 지도 생성 |
| Cross-Validation | 임상 시험 | 치료법이 다른 환자에게도 효과 있는지 검증 |
세 단계를 모두 통과해야만 Auto-Tuner는 "이 파라미터를 적용하시겠습니까?"라는 최종 제안을 표시한다. 한 단계라도 기준에 미달하면 — R̂ > 1.05이거나, 교차검증 분산이 과도하거나 — 경고를 발생시키고 추가 데이터 수집을 권고한다.
11. 에필로그: 데이터가 조율하는 엔진
BA024에서 영업 본부장은 Auto-Tuner를 처음 실행하고 이렇게 말했다.
"6개월 전에는 내가 엔진을 조율했다. 오늘부터는 데이터가 엔진을 조율한다."
이 말은 단순한 감상이 아니다. 수학적으로 정확한 진술이다.
- 과거: 파라미터 θ를 인간의 경험 P(θ)로 설정. → 사전분포에 갇힌 추론.
- 현재: 데이터 D가 관찰되면, θ를 P(θ|D)로 업데이트. → 사후분포 기반 추론.
Auto-Tuner는 영업 엔진이 자기 자신의 파라미터에 대해서도 베이지안 추론을 수행하게 만드는 메타-레이어(Meta-layer)다.
엔진이 딜의 수주 확률을 추론하듯, Auto-Tuner는 엔진 자체의 설정값을 추론한다. 그리고 딜이 쌓일수록, 추론은 더 정밀해진다. 100건의 데이터보다 500건의 데이터가, 500건보다 1,000건의 데이터가 더 좁은 HDI를 제공한다.
이것이 Auto-Tuner의 본질이다 — 시간이 지날수록 스스로 정밀해지는, 자기 진화형 추론 시스템.
영업은 더 이상 직감의 영역이 아니다. 데이터의 양이 곧 엔진의 정밀도이며, 정밀도가 곧 조직의 경쟁력이다. Auto-Tuner는 그 여정의 가속 페달이다.
Bayesian EXAWin-Rate Forecaster
매 미팅과 협상에서 포착되는 미세한 신호를 베이지안 업데이트로 실시간 분석하여 영업 성공 확률을 정교하게 예측합니다. EXAWin과 함께라면 직관의 영역이었던 영업이 가장 완벽한 데이터 과학으로 진화합니다.


![[BA03. On-Time Risk: 부록1] EXA Bayesian 엔진의 해부: 혼합 분포와 관측 편차](/_next/image?url=%2Fstatic%2Fimages%2FBA03_1.png&w=3840&q=75)