공든탑앱 열기

베이지안 기법

빅데이터분석기사 · 고급 분석기법 · 약 12분

쉽게 말하면

검사에서 양성이 나왔다고 정말 병에 걸렸을 확률이 높은 건 아니에요. 원래 그 병이 얼마나 흔한지(사전확률)를 함께 따져야 해요. 이렇게 새 증거가 들어올 때마다 믿음을 고쳐 가는 계산법이 베이즈 정리예요. 스팸 메일 거르기도 이 원리로 해요.

시험용 정의

베이지안 기법은 확률을 '믿음의 정도'로 보고, 데이터를 볼 때마다 믿음을 고쳐 가는 방법이다. 중심은 베이즈 정리 P(A|B) = P(B|A) × P(A) / P(B) 다. 여기서 P(A)는 데이터를 보기 전의 사전확률, P(B|A)는 A 가 참일 때 데이터 B 가 나올 가능도, P(A|B)는 데이터를 본 뒤의 사후확률이다. 분류에 쓰면 나이브 베이즈가 된다. 범주마다 사후확률을 구해 가장 큰 범주로 분류하며, 계산을 쉽게 하려고 설명변수끼리 조건부 독립이라고 가정한다. 변수 사이 의존 관계를 방향 있는 그래프와 조건부 확률표로 나타낸 것이 베이지안 네트워크다.

비유로 이해하기

일기예보관이 '오늘 비 올 확률 30%'라고 봤다가(사전확률), 오후에 먹구름이 몰려오는 것을 보고(증거) '70%'로 고치는 것(사후확률)이 베이지안 추론이다. 먹구름은 비 오는 날 자주 보이고(가능도), 맑은 날엔 드물기 때문이다.

자세히

베이즈 정리 읽기

부분이름검사 예
P(A)사전확률병이 있을 확률 (유병률 1%)
P(B|A)가능도병이 있을 때 양성일 확률 (민감도 90%)
P(B)증거(정규화 상수)누구든 양성이 나올 확률 = 0.009 + 0.0495
P(A|B)사후확률양성일 때 병이 있을 확률 ≈ 15%

나이브 베이즈 분류

  • 범주 C 마다 P(C) × P(x₁|C) × P(x₂|C) × … 를 계산해 가장 큰 범주로 분류한다 (P(x)는 모든 범주에 같아 비교할 때 뺀다)
  • 조건부 독립 가정: 범주가 정해지면 설명변수끼리 서로 영향을 주지 않는다고 본다. 실제와 달라도 스팸 분류·문서 분류에서 잘 맞는 편이다
  • 장점: 계산이 빠르고 데이터가 적어도 쓸 만하다, 변수가 아주 많은 텍스트에 강하다
  • 학습 데이터에 없던 단어 하나 때문에 곱 전체가 0 이 되지 않도록 모든 빈도에 1 을 더하는 라플라스 스무딩을 쓴다

베이지안 추론과 네트워크

말뜻
사전분포 → 사후분포모수에 대한 믿음을 분포로 두고 데이터로 갱신. 사후분포가 다음 분석의 사전분포가 된다
켤레 사전분포사전과 사후가 같은 분포족이 되는 짝 (이항 자료에 베타 분포)
MCMC사후분포를 직접 계산하기 어려울 때 표본을 뽑아 근사하는 방법
베이지안 네트워크변수를 노드로, 조건부 의존을 방향 있는 간선으로. 순환이 없는 그래프(DAG)와 조건부 확률표

시험에 이렇게 나와요

출제기준 3과목 '베이지안 기법'

확인 문제

Q1. 유병률 1% 인 병을 민감도 90%, 건강한 사람에게 양성이 나올 확률 5% 인 검사로 본다. 양성이면 실제로 병이 있을 확률은 대략?

  1. 약 15%
  2. 약 95%
  3. 약 90%
  4. 약 50%
정답 보기

1번 약 15%

병 있고 양성 0.01 × 0.9 = 0.009, 병 없고 양성 0.99 × 0.05 = 0.0495. 0.009 ÷ (0.009 + 0.0495) ≈ 0.15. 병이 드물면 양성이어도 실제 확률은 낮다.

Q2. 베이즈 정리에서 데이터를 보기 전의 믿음을 나타내는 것은?

  1. 사후확률
  2. 가능도
  3. 사전확률
  4. p값
정답 보기

3번 사전확률

사전확률 P(A)를 데이터(가능도)로 고쳐 사후확률을 얻는다.

Q3. 나이브 베이즈의 '나이브(단순)'가 가리키는 가정은?

  1. 모든 변수가 정규분포를 따른다
  2. 범주가 두 개뿐이다
  3. 데이터에 결측값이 없다
  4. 범주가 주어지면 설명변수끼리 독립이다
정답 보기

4번 범주가 주어지면 설명변수끼리 독립이다

범주(클래스)가 주어지면 설명변수끼리 서로 독립이라는 가정이다. 실제로는 잘 맞지 않아도 계산이 단순해 잘 작동한다.

Q4. 학습 데이터에 없던 단어 때문에 확률이 0 이 되는 문제를 막는 방법은?

  1. 부트스트랩
  2. 라플라스 스무딩
  3. 드롭아웃
  4. 표준화
정답 보기

2번 라플라스 스무딩

빈도에 작은 수(1)를 더해 0 확률을 없앤다.

Q5. P(A) = 0.5, P(B|A) = 0.8, P(B) = 0.5 일 때 P(A|B)는?

  1. 0.4
  2. 0.5
  3. 0.8
  4. 1.0
정답 보기

3번 0.8

0.8 × 0.5 / 0.5 = 0.8.

헷갈리기 쉬운 O·X

검사 정확도가 90% 라면 양성 판정을 받은 사람이 실제 병이 있을 확률도 항상 90% 다.

정답 보기

X 유병률(사전확률)이 낮으면 사후확률은 훨씬 낮다.

나이브 베이즈는 계산이 빠르고 텍스트 분류에 자주 쓰인다.

정답 보기

O

베이지안 네트워크는 순환이 있는 그래프로 변수 관계를 나타낸다.

정답 보기

X 방향 있는 비순환 그래프(DAG)를 쓴다.

함께 보면 좋은 개념