이 글은 교재 직접 참조 없이 agent 사전학습 기반으로 작성되었다 (교재 미확인 — agent 사전학습 기반). Kohavi et al. (2020) Trustworthy Online Controlled Experiments Ch.4 의 간접 인용이며, 본 글은 Schulz Phase F 의 cross-link 이다.
이 글은 Phase I 시리즈의 다섯 번째 글이다. 이전 4 글에서 다룬 MAB 알고리즘 (ε-greedy, UCB, Thompson) 과 A/B Test (Phase F) 의 서로 다른 질문에 대한 답 이라는 본질을 정리한다.
1 진입 직관 — 두 도구는 경쟁자가 아니다
흔한 오해: “MAB 가 A/B 테스트의 진보된 버전”. 틀렸다.
본질적 차이: A/B 테스트와 MAB 는 서로 다른 질문 에 답한다.
- A/B Test: “이 처치의 진짜 평균 효과 가 얼마인가?” — 추정·검정 도구
- MAB: “매 시점 어떤 처치를 노출 해야 총 누적 보상 이 최대인가?” — 최적화 도구
같은 데이터·같은 환경에서 양립 가능. 하나가 다른 하나의 대체가 아님.
비유 — 운전 vs 내비게이션: A/B 테스트는 차선 변경의 효과 측정 (실험), MAB 는 실시간 경로 최적화 (운영). 둘 다 필요. 운영만 하면 측정 안 됨, 측정만 하면 운영 안 됨.
2 5 가지 결정 기준
어느 도구를 사용할지 결정하는 5 가지 차원.
2.1 기준 1: 실험 Horizon — 짧은가, 긴가?
| Horizon | 권장 도구 |
|---|---|
| 짧음 (수일~수주) | A/B Test — 효과 검증 우선 |
| 중간 (수주~수개월) | Hybrid — 초기 A/B, 후기 MAB |
| 긴 (수개월~상시) | MAB — 누적 보상 최적화 |
반사실: 1 일짜리 광고 배너 검증 시험에 MAB 사용? 학습 시간 부족 — 통계적 추론 없이 끝남. A/B 가 적절. 반대로 상시 추천 시스템 에 A/B? 영원한 균등 할당 의 비효율 — MAB 가 적절.
2.2 기준 2: 결과 평가의 시점 — 학습 중인가, 학습 후인가?
| 평가 시점 | 적합 regret | 도구 |
|---|---|---|
| 학습 중 (실시간) | Cumulative regret | MAB |
| 학습 후 (배포 결정) | Simple regret | A/B 또는 Best Arm Identification |
사례:
- 임상 시험: 약 1 개 채택 — Simple regret. A/B (또는 더 정교한 RCT) 가 적합.
- 광고 추천: 매 노출이 수익 — Cumulative regret. MAB 가 적합.
2.3 기준 3: 통계 정밀성 요구
| 요구 | 권장 도구 |
|---|---|
| 효과 크기 정확 추정 (예: lift = 5% ± 1%) | A/B Test (균등 할당) |
| 최선의 처치 식별 만 | MAB |
| 각 segment 의 효과 추정 | A/B + Subgroup |
| 효과 부호 만 알면 됨 | MAB (탐색 후 활용) |
MAB 의 추정 정밀성 함정: MAB 는 suboptimal 팔에 적은 sample — 그 팔의 효과 추정 정밀성 약함. 하나의 팔만 알면 OK 면 문제 없으나, 각 팔의 효과 비교 가 필요하면 부적합.
2.4 기준 4: 윤리·규제 제약
| 영역 | 제약 |
|---|---|
| 임상시험 (FDA 등) | A/B (RCT) 표준. MAB 는 response-adaptive 로 일부 허용 |
| 의료 기기 | A/B (대부분) |
| 광고·웹 | 거의 자유 — MAB 흔함 |
| 추천 시스템 | 거의 자유 — MAB 표준 |
이유: 규제 기관은 결정의 statistical evidence 우선. MAB 의 불균등 sample 은 사후 분석 어려움 — 규제 입장에서 덜 신뢰. Phase C 시리즈의 적절한 무작위 배정 원칙 은 고정 할당 기반.
반사실: 임상시험에 MAB 적용 시도가 있지만 (response-adaptive randomization), 대부분 시험 은 여전히 고정 할당. Schulz Ch.20 (multiplicity II) 의 stopping rules 가 MAB 와 다른 메커니즘.
2.5 기준 5: 비즈니스 맥락
| 맥락 | 권장 도구 |
|---|---|
| 제품 결정 — UI 변경 채택 여부 | A/B Test |
| 지속 운영 — 추천 시스템 | MAB |
| 반복 가능 프로세스 — 새 광고 빈번 | MAB |
| 희귀 결정 — 큰 알고리즘 변경 | A/B Test |
결정 공식: 결정의 빈도. 매 환자/사용자/세션에 새 결정 필요 → MAB. 한 번의 큰 결정 → A/B.
3 흔한 오해 5 가지
3.1 오해 1: “MAB 가 A/B 보다 항상 좋다”
반박: A/B 의 고정 할당 이 효과 추정 정밀성 우월. MAB 는 suboptimal 팔의 추정 약함.
3.2 오해 2: “MAB 가 A/B 보다 sample 효율적”
반박: 혼동 발생. MAB 는 cumulative reward 효율, A/B 는 효과 추정 효율. 서로 다른 metric.
3.3 오해 3: “MAB 는 A/B 의 simple regret 도 처리”
반박: 그러나 Best Arm Identification (Phase I-8) 은 일반 MAB 와 다른 알고리즘. UCB·Thompson 은 cumulative regret 최적화 — simple regret 에 차선.
3.4 오해 4: “MAB 가 더 윤리적 (효과 좋은 처치 더 많이)”
반박: 임상에서는 효과 크기 추정 정밀성 도 윤리. 약 승인 결정에 부정확 효과 는 향후 환자 해. 환자별 적응 의 매력 vs 전체 모집단의 통계 추론 의 trade-off.
3.5 오해 5: “MAB 면 통계 분석 불필요”
반박: MAB 운영 후에도 효과 분석 필요. 그러나 불균등 sample 로 분석 어려움. Inverse Probability Weighting 같은 보정 필요.
4 Hybrid 접근
4.1 Approach 1: A/B → MAB
Phase 1: 고정 할당 A/B Test (수주)
- 통계적 유의성 검증
- 효과 크기 추정
Phase 2: MAB 운영 (지속)
- 승자 결정 후 *남은 트래픽 (10~20%) 으로 새 variant 시도*
- 누적 보상 최적화
사례: 추천 시스템. 새 알고리즘 A/B 1 주 검증 → 채택 시 95% 사용자 새 알고리즘 + 5% MAB 탐색 (최신 v2, v3).
4.2 Approach 2: MAB → A/B 검증
Phase 1: MAB 탐색 (빠른 식별)
- Thompson Sampling 으로 *유망 후보* 식별
Phase 2: A/B 정식 검증
- 유망 후보 vs 표준 의 *고정 할당 시험*
- 통계적 유의성 + 효과 정밀 추정
사례: 신약 후보 50 개. MAB 탐색 으로 상위 5 개 식별 → 고정 RCT 로 정식 검증.
4.3 Approach 3: Multi-Stage Bandit
Best Arm Identification (Phase I-8). 처음에는 모든 팔에 균등 시도, 점진적으로 분명히 나쁜 팔 제거. fixed budget 또는 fixed confidence 접근.
5 Decision Framework — 의사결정 플로차트
Q1: 효과의 *통계적 정확 추정* 이 결정 자체보다 중요한가?
YES → A/B Test
NO → Q2
Q2: *각 결정마다 보상* (매 사용자에 의미 있는 결과) 인가?
YES → MAB
NO → A/B Test
Q3: 결정의 *반복 빈도* 가 매우 높은가? (예: 매 페이지 노출)
YES → MAB
NO → A/B Test
Q4: *규제 제약* (임상, FDA 등) 이 있는가?
YES → A/B Test (RCT)
NO → MAB 가능
Q5: *Hyperparameter 튜닝 자원* 이 충분한가?
YES → Thompson 또는 UCB
NO → A/B Test (단순)
Q6: *Hybrid* 가능한가? (시간·자원)
YES → A/B → MAB 또는 Best Arm Identification
NO → 단일 도구 선택
6 시뮬레이션 — A/B vs MAB 비교
import numpy as np
from scipy import stats
np.random.seed(42)
K = 5
true_means = np.array([0.30, 0.50, 0.70, 0.40, 0.60])
mu_star = true_means.max()
N = 5000
# A/B Test: 균등 할당
def ab_test(true_means, N):
K = len(true_means)
rewards = np.zeros(N)
for t in range(N):
a = t % K # round-robin
rewards[t] = np.random.binomial(1, true_means[a])
return rewards
# MAB: Thompson Sampling
def thompson(true_means, N):
K = len(true_means)
alpha = np.ones(K)
beta = np.ones(K)
rewards = np.zeros(N)
for t in range(N):
theta = np.random.beta(alpha, beta)
a = theta.argmax()
r = np.random.binomial(1, true_means[a])
rewards[t] = r
if r == 1:
alpha[a] += 1
else:
beta[a] += 1
return rewards
n_sim = 200
ab_total = []
mab_total = []
ab_mu_estimate = [] # MAB 의 효과 추정 정밀성
mab_mu_estimate = []
for s in range(n_sim):
ab_r = ab_test(true_means, N)
mab_r = thompson(true_means, N)
ab_total.append(ab_r.sum())
mab_total.append(mab_r.sum())
# 효과 추정 정밀성 (단일 시뮬레이션, 마지막 시점)
np.random.seed(0)
ab_pulls = np.zeros(K, dtype=int)
ab_sums = np.zeros(K)
for t in range(N):
a = t % K
r = np.random.binomial(1, true_means[a])
ab_pulls[a] += 1
ab_sums[a] += r
alpha = np.ones(K)
beta = np.ones(K)
mab_pulls = np.zeros(K, dtype=int)
for t in range(N):
theta = np.random.beta(alpha, beta)
a = theta.argmax()
r = np.random.binomial(1, true_means[a])
mab_pulls[a] += 1
if r == 1:
alpha[a] += 1
else:
beta[a] += 1
print(f"[A/B vs MAB — N={N}, 200 sims]\n")
print(f"누적 보상 평균:")
print(f" A/B: {np.mean(ab_total):>7.1f}")
print(f" MAB (TS): {np.mean(mab_total):>7.1f}")
print(f" 차이: {np.mean(mab_total) - np.mean(ab_total):>7.1f}\n")
print(f"단일 시뮬레이션 — 각 팔의 시도 횟수:")
print(f" A/B 균등 할당: {ab_pulls}")
print(f" MAB Thompson: {mab_pulls}")
print(f" 진짜 평균: {true_means}")
print(f"\n[MAB 의 정밀성 함정]")
print(f" Suboptimal 팔 (예: 팔 0, 진짜 평균 0.30):")
print(f" A/B 시도 = {ab_pulls[0]}, 표본 평균 = {ab_sums[0]/ab_pulls[0]:.3f}")
print(f" MAB 시도 = {mab_pulls[0]}")
print(f" → MAB 는 suboptimal 팔의 효과 추정이 매우 부정확")
print(f"\n→ MAB 는 더 큰 누적 보상")
print(f"→ A/B 는 모든 팔의 효과를 정밀히 추정")결과 해석:
- 누적 보상: MAB > A/B (보통 5~10%). MAB 의 매력.
- 각 팔의 시도 횟수: A/B 균등, MAB 매우 불균등 (최선 팔에 대부분 집중).
- Suboptimal 팔의 효과 추정: A/B 정밀, MAB 매우 부정확 — trade-off 명확.
7 결론
MAB 와 A/B Test 는 경쟁자가 아닌 보완재. 5 가지 기준 (horizon, 평가 시점, 정밀성, 규제, 비즈니스) 으로 적합 도구 선택. Hybrid 접근이 흔히 최선.
핵심 메시지:
- 다른 질문: A/B = 효과 추정, MAB = 보상 최적화
- 5 가지 기준 으로 선택
- 5 가지 흔한 오해 회피
- Hybrid 접근: A/B → MAB 또는 MAB → A/B 검증
- 규제 영역 (임상): A/B 우선
다음 두 글: Contextual Bandit, Non-stationary Bandit — MAB 의 확장.
8 관련 주제
선행 지식
Phase I 후속 글
Phase F 와 cross-link
- (Phase F) Trustworthy Online Controlled Experiments — A/B 정통
- (Phase F-7) Bayesian A/B Testing — Thompson 의 형제
9 참고문헌
- Kohavi, R., Tang, D., Xu, Y. (2020). Trustworthy Online Controlled Experiments, Ch. 4. Cambridge University Press. (간접 인용)
- Russo, D., Van Roy, B., Kazerouni, A., Osband, I., Wen, Z. (2018). A tutorial on Thompson sampling. Foundations and Trends in Machine Learning 11, 1-96.
- Scott, S. L. (2010). A modern Bayesian look at the multi-armed bandit. Appl. Stoch. Models Bus. Ind. 26, 639-658.
- Lattimore, T. & Szepesvári, C. (2020). Bandit Algorithms. Cambridge University Press. (교재 미확인 — agent 사전학습 기반)