Post

Naive Bayes

Based on the lecture “Intro. to Machine Learning (2023-2)” by Prof. Je Hyuk Lee, Dept. of Data Science, The Grad. School, Kookmin Univ.

Naive Bayes


  • 정의 : 조건부 확률에 기초하여 관측치의 범주를 판별하는 알고리즘

  • 조건부 확률의 이해

    \[\begin{aligned}P(B \mid A)&= \frac{P(A,B)}{P(A)}\end{aligned}\]
    • \(P(B \mid A)\) : 사건 \(A\) 가 발생한 상태에서 사건 \(B\) 가 발생할 확률
    • \(P(A,B)\) : 사건 \(A\), \(B\) 가 공동으로 발생할 확률
    • \(P(A)\) : 사건 \(A\) 가 발생할 확률
    • \(P(B)\) : 사건 \(B\) 가 발생할 확률
  • 한계점 : Class Conditional Independent Assumption

    • Class Conditional Independent Assumption : 범주 내에서 특정 특성의 존재 또는 부재가 다른 특성의 존재 또는 부재와 독립적이라는 가정

      \[\begin{aligned} P(X_{1},X_{2},\cdots,X_{n} \mid Y) &= P(X_{1} \mid Y) \times P(X_{2} \mid Y) \times \cdots \times P(X_{n} \mid Y) \end{aligned}\]

Decision Function


  • 문제 정의

    \[\begin{aligned} \hat{Y} &= f(\overrightarrow{x})\\ &= \text{arg} \max_{Y}{P(Y=i \mid X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})} \end{aligned}\]
    • 관측치 벡터 \(\overrightarrow{x}\) 의 범주 \(\hat{Y}\) 는 \(\overrightarrow{x}\) 가 \((x_{1},x_{2},\cdots,x_{n})\) 로 주어졌을 때, 범주 \(Y\) 가 \(i=1,2,\cdots\) 일 확률이 최대인 \(i\) 임
  • 베이즈 정리에 의해 다음이 성립함

    \[\begin{aligned} &P(Y=i \mid X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})\\ &= \frac{P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n} \mid Y=i) \cdot P(Y=i)}{P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})} \end{aligned}\]
    • \(P(Y=i \mid X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})\) : 관측치 벡터 \(\overrightarrow{x}=(x_{1},x_{2},\cdots,x_{n})\) 가 주어졌을 때, 해당 관측치의 범주 \(Y\) 가 $i$ 일 확률
    • \(P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n} \mid Y=i)\) : 범주 \(Y=i\) 가 주어졌을 때, 관측치 벡터 \(\overrightarrow{x}\) 가 \((x_{1},x_{2},\cdots,x_{n})\) 일 확률
    • \(P(Y=i)\) : 범주 \(Y\) 가 \(i\) 일 확률
    • \(P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})\) : 관측치 벡터 \(\overrightarrow{x}\) 가 \((x_{1},x_{2},\cdots,x_{n})\) 일 확률
  • 클래스 조건부 독립 가정 하 다변량 조건부 확률을 단변량 조건부 확률로 변환할 수 있음

    \[\begin{aligned} &P(X_{1},X_{2},\cdots,X_{n} \mid Y)\\ &= P(X_{1} \mid Y) \times P(X_{2} \mid Y) \times \cdots \times P(X_{n} \mid Y) \end{aligned}\]
  • 따라서 관측치 벡터 \(\overrightarrow{x}\) 의 범주 \(Y\) 가 \(i\) 일 확률은 다음과 같음

    \[\begin{aligned} &P(Y=i \mid X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})\\ &= \frac{P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n} \mid Y=i) \cdot P(Y=i)}{P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n})}\\ &= \frac{P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n} \mid Y=i) \cdot P(Y=i)}{\sum_{j}P(X_{1}=x_{1},X_{2}=x_{2},\cdots,X_{n}=x_{n} \mid Y=j)}\\ &= \frac{\prod_{k=1}^{n}{P(X_{k}=x_{k} \mid Y=i)} \cdot P(Y=i)}{\sum_{j}{\prod_{k=1}^{n}{P(X_{k}=x_{k} \mid Y=j)}}} \end{aligned}\]

Laplace Smoothing


  • 라플라스 평활화(Laplace Smoothing) : 훈련 데이터 세트에 존재하지 않는 사례 \(\overrightarrow{x}_{k}\) 에 대한 확률을 \(0\) 으로 부여하는 것을 방지하기 위한 기법

  • 계산 방법

    \[P(\overrightarrow{x}_{k} \mid Y) = \frac{\text{count}(\overrightarrow{x}_{k},Y)+\alpha}{\text{count}(Y)+2\alpha}\]
    • \(P(\overrightarrow{x}_{k} \mid Y)\) : 관측치 벡터 \(\overrightarrow{x}_{k}\) 가 범주 \(Y\) 에 속할 조건부 확률
    • \(\text{count}(\overrightarrow{x}_{k},Y)\) : 관측치 벡터 \(\overrightarrow{x}_{k}\) 와 범주 \(Y\) 의 동시 출현 빈도
    • \(\text{count}(Y)\) : 범주 \(Y\) 의 출현 빈도
    • \(\alpha\) : 라플라스 평활화 강도
This post is licensed under CC BY 4.0 by the author.