Skip to content

1회 · 확률이란 무엇인가 · 노트

8 Beautiful insights — 1회의 수학은 어디에 있나 ​

8.1 시뮬레이션은 상대도수 해석이다 ​

노트북은 거의 모든 확률을 정확한 값과 시뮬레이션으로 두 번 구한다. 시뮬레이션은 2절의 상대도수 해석을 컴퓨터로 옮긴 것이다. 같은 실험을 독립적으로 nn번 되풀이해 사건이 일어난 비율 p^\hat p를 확률 pp의 추정으로 쓴다.

얼마나 정확한가? 2회에서 Chebyshev 부등식으로, 7회에서 중심극한정리로 증명하겠지만, p^\hat p는 대략 p±2p(1−p)/np\pm2\sqrt{p(1-p)/n} 안에 떨어진다. 오차는 1/n1/\sqrt n의 속도로만 준다. 소수 셋째 자리까지 믿으려면(표준오차 0.00050.0005) de Méré의 내기 1에서 n≈p(1−p)/0.00052≈106n\approx p(1-p)/0.0005^2\approx10^6번이 필요하다. 시뮬레이션은 정확한 계산을 대신하는 것이 아니라 확인하는 도구다.

그림 8.1. de Méré의 내기 1을 n번 시뮬레이션한 추정값(크기마다 60번 반복). 점선은 p±2√p(1-p)/n이다.
그림 8.1 de Méré의 내기 1을 nn번 시뮬레이션한 추정값(크기마다 60번 반복). 점선은 p±2p(1−p)/np\pm2\sqrt{p(1-p)/n}이다.

8.2 기저율 오류는 분류기의 precision이다 ​

예제 5.6의 진단검사는 이진 분류기와 같다. 민감도 P(+∣D)P(+\mid D)는 기계학습의 재현율(recall), P(D∣+)P(D\mid +)는 정밀도(precision)다. 베이즈 정리가 말하는 것은 정밀도가 분류기만의 성질이 아니라 양성 비율(기저율)에 의존한다는 것이다. 같은 모델이라도 양성이 1%1\%인 데이터에서는 정밀도가 9%9\%, 30%30\%인 데이터에서는 81%81\%가 될 수 있다(그림 5.1). 불균형 데이터에서 정확도나 정밀도를 서로 다른 데이터셋끼리 비교할 때 이 점을 잊으면 안 된다.

8.3 베이즈 정리와 naive Bayes 분류기 ​

스팸 필터의 고전적인 형태는 베이즈 정리에 “클래스가 주어지면 단어들이 독립”이라는 가정(조건부 독립)을 더한 것이다. 메일의 단어가 w1,…,wmw_1,\dots,w_m이면

P(스팸∣w1,…,wm)P(정상∣w1,…,wm)=P(스팸)P(정상)∏j=1mP(wj∣스팸)P(wj∣정상).\frac{P(\text{스팸}\mid w_1,\dots,w_m)}{P(\text{정상}\mid w_1,\dots,w_m)} =\frac{P(\text{스팸})}{P(\text{정상})}\prod_{j=1}^m\frac{P(w_j\mid\text{스팸})}{P(w_j\mid\text{정상})} .

5.2절의 오즈 공식을 단어마다 되풀이한 것이다. 예를 들어 사전 스팸 비율이 0.40.4이고 “무료”가 스팸의 30%30\%, 정상 메일의 2%2\%에 나오면 “무료”가 든 메일의 스팸 확률은 0.910.91이다. 같은 메일에 정상 메일에 흔한 “회의”(스팸 1%1\%, 정상 10%10\%)도 있으면 가능도비 0.10.1이 곱해져 0.50.5로 내려간다(연습 8.2). “naive”는 조건부 독립이 대개 사실이 아니라는 뜻이지만, 분류에는 놀랄 만큼 잘 작동한다.

8.4 생일 문제와 해시 충돌 ​

kk비트 해시 함수의 출력이 N=2kN=2^k개의 값에 고르게 퍼진다면, 서로 다른 입력 nn개 가운데 출력이 같은 쌍이 생길 확률은 생일 문제와 같은 계산으로 대략 1−e−n2/(2N)1-e^{-n^2/(2N)}이다. 이것이 12\tfrac12이 되는 nn은 2ln⁡2 2k/2≈1.18⋅2k/2\sqrt{2\ln2}\,2^{k/2}\approx1.18\cdot2^{k/2}이다. 64비트 해시라도 약 50억 개면 충돌이 반반이다. 암호에서는 이것을 생일 공격이라 하고, 그래서 충돌을 막아야 하는 해시는 원하는 안전 비트의 두 배 길이로 만든다.

연습문제

연습 8.1 (몇 번 시뮬레이션해야 하나 ★) 내기 2(p≈0.4914p\approx0.4914)가 불리하다는 것을 시뮬레이션으로 보이려면, p^\hat p의 두 표준오차가 pp와 12\tfrac12의 차이보다 작아야 한다. 대략 몇 번이 필요한가?

풀이

12−p≈0.0086\tfrac12-p\approx0.0086이다. 2p(1−p)/n<0.00862\sqrt{p(1-p)/n}<0.0086을 풀면 n>4p(1−p)/0.00862≈1.35×104n>4p(1-p)/0.0086^2\approx1.35\times10^4이다. de Méré가 경험으로 차이를 알아챘다면 수천 판 이상을 기억에 담았다는 뜻이다.

연습 8.2 (naive Bayes 계산 ★) 본문의 수(사전 스팸 비율 0.40.4, “무료” 0.3/0.020.3/0.02, “회의” 0.01/0.10.01/0.1)로 두 확률 0.910.91과 0.50.5를 직접 계산하라.

풀이

“무료”만 있을 때 사후 오즈는 0.40.6⋅0.30.02=10\tfrac{0.4}{0.6}\cdot\tfrac{0.3}{0.02}=10이므로 확률은 10/11≈0.90910/11\approx0.909. “회의”가 더해지면 가능도비 0.01/0.1=0.10.01/0.1=0.1이 곱해져 오즈가 1, 확률이 0.50.5가 된다.

이 회차에서 읽은 절 0개 · 회차 차례