3. 나이브 베이즈 분류(Naive Bayes Classification)

AI Scientist를 목표로!·2023년 1월 18일
0

나이브(Naive)의 뜻

본래 자연적으로 각 단어, 즉 각 특징들 사이에 어느 정도의 상관관계가 존재한다.

그러나 나이브 베이즈 분류에서는 각각의 특징 간에 서로 아무 상관관계가 없다는 가정, 즉, 특정들이 서로 조건부 독립이라는 가정을 하게 된다.

만약 서로 다른 두 특징 A,B간의 조건부 독립이 성립한다면 아래 조건도 성립하게 된다.

P(A,B)=P(AB)=P(AB)P(B)=P(A)P(B)P(A,B) = P(A \cap B) = P(A|B)P(B) = P(A)P(B)

여러 특징들을 일반화 하면 우도는 아래와 같다.

P(XY=k)P(X|Y=k)
P(X=x1,x2,,xNY=k)P(X=x_1,x_2,\dots,x_N|Y=k)
P(X=x1Y=k)P(X=x2Y=k)  P(X=xNY=k)P(X=x_1|Y=k) P(X=x_2|Y=k) \dots \;P(X=x_N|Y=k)
i=1NP(X=xiY=k)\prod_{i=1}^{N}P(X = x_i|Y=k)

즉, 나이브 가정하에선 조건부 독립인 확률변수가 가지는 확률들의 곱으로 우도가 표현

x1,x2는 특증을 나타내고, K는 특정 분포 or 클래스를 나타낸다.

결론적으로 나이브 가정없이 베이즈 추론을 하려면 각 확률변수 사이의 상관관계도 고려해야 하기에 계산이 복잡해진다. 그러나 연관된 확률변수 간에 서로 독립이라는 가정을 함으로써 더 쉽게 베이즈 추론을 할 수 있다.


최대 우도 추정(Maximum Likelihood)

  • 확률 P를 추정하기 위한 방법

  • 현재 가지고 있는 데이터셋이 나올 확률을 최대화하는 우도 θ를 구하는 것

θ^=arg maxθP(Dθ)\hatθ = {\argmax}_θP(D|θ)
  • θ^\hatθ는 P(D|θ)를 최대로 하는 θ의 값

특정 사건의 확률 θ가 (0,1)사이의 범위일 때, 특정 데이터셋 D가 나올 확률 P(D|θ)는 위 그래프의 빨간선과 같다고 할때

최대 우도 추정은 위 그래프에서 확률의 최대인 점의 θ를 찾는 과정

θ^=arg maxθP(Dθ)=arg maxθ  θaH(1θ)aT\hatθ = {\argmax}_θP(D|θ) = {\argmax}_θ\;θ^{a_H}(1-θ)^{a_T}
θ^=arg maxθ  ln  P(Dθ)=arg maxθ  aH  ln  θ  +  aT  ln(1θ)\hatθ = {\argmax}_θ \;ln \;P(D|θ) = {\argmax}_θ\;{a_H\;ln\;θ\;+\;a_T\;ln(1-θ)}

로그 함수(ln)는 (0,1)에서 단조 증가 함수 이므로 argmax이후의 식에서 함수를 취해도 변화하지 않는다

특정 함수의 도함수가 0이 되는 지점이 있다면 그 점이 원래 함수의 최대값 혹은 최소값일 가능성이 있기 때문에 미분을 통해 미분한 식의 값이 0이 되는 θ를 구하면 이 값이 데이터셋이 일어날 확률을 최대로 하는 특정 사건이 일어날 확률 θ를 구하는 값이 된다.

단조 함수는 주어진 순서를 보존하는 함수
실수 단조 함수의 그래프는 왼쪽에서 오른쪽으로 쭉 상승하거나 하강한다.


최대 사후 확률 추정(Maximun a Posterior Estimation)

  • 사전 확률(prior)을 통해 사후 확률(posteior)을 최대화 하는 과정

  • 베이즈 정리를 통한 사후 확률을 구하는 수식

P(θD)=P(Dθ)P(θ)P(D)P(θ|D) = \frac{P(D|θ)P(θ)}{P(D)}
사후확률(Posterior)=우도(Likelihood)×사전확률(Prior)정규화상수(NormalizingConstant)사후확률(Posterior) = \frac{우도(Likelihood) \times 사전확률(Prior)}{ 정규화상수(Normalizing Constant)}
  • P(θ)를 구하기 위해서 베타 분포를 사용
P(θ)=θα1(1θ)β1B(α,β)P(θ) = \frac{θ^{α-1}(1-θ)^{\beta-1}}{B(α,\beta)}
B(α,β)=γ(α)γ(β)γ(α+β),γ(α)=(α1)!B(α,\beta) = \frac{\gamma(α)\gamma(\beta)}{\gamma(α + \beta)}, \quad \gamma(α) = (α-1)!

베타 분포(Beta distribution) 정규 분포와 비슷하게 생겼지만 사건값의 범위가 정해져 있다는 차이가 있다. 정
규 분포에서 사건값의 범위는 [−∞,∞] 이지만 베타 분포의 사건값은 [0,1] 범위를 갖으며 기호로는 Beta(α,β) 로 나타낸다.
베타 분포는 특정한 모양을 가지고 있지 않으며 두 매개변수 α,β 의 값에 따라서 다양한 모양을 갖는다.

  • P(θ)의 값을 알기에 식을 재정리 할 수 있다.
P(Dθ)P(θ)=θαH(1θ)αT×θα1(1θ)β1θαH+α1(1θ)αT+β1P(D|θ)P(θ) = θ^{\alpha_H}(1-θ)^{\alpha_T} \times θ^{\alpha-1}(1-θ)^{\beta-1} \Rightarrow θ^{\alpha_H + \alpha-1}(1-θ)^{\alpha_T + \beta-1}
  • 최대 사후 확률 추정의 목표는 사후확률인 P(θ|D)를 최대화(argmax)하는 것이다.
θ^=arg maxθP(θD)\hatθ = {\argmax}_θP(θ|D)
θ^=arg maxθP(θD)P(θ)arg maxθ[θαH+α1(1θ)αT+β1]\hatθ = {\argmax}_θP(θ|D)P(θ) \Rightarrow {\argmax}_θ[θ^{\alpha_H + \alpha-1}(1-θ)^{\alpha_T + \beta-1}]
  • 최대 우도 추정과 동일하게 argmax 이하의 식에 로그를 취해준 뒤 미분하여 해당 값이 0이 되는 θ를 찾는다.
θ^=arg maxθ[θαH+α1(1θ)αT+β1]\hatθ = {\argmax}_θ[θ^{\alpha_H + \alpha-1}(1-θ)^{\alpha_T + \beta-1}]
=arg maxθ  ln[θαH+α1(1θ)αT+β1]= {\argmax}_θ\;ln[θ^{\alpha_H + \alpha-1}(1-θ)^{\alpha_T + \beta-1}]
=arg maxθ[(αH+α1)lnθ+(αT+β1)ln(1θ)]= {\argmax}_θ[(\alpha_H + \alpha-1)lnθ + (\alpha_T + \beta-1)ln(1-θ)]
ddθ[(αH+α1)lnθ+(αT+β1)ln(1θ)]=0\frac{d}{dθ}[(\alpha_H + \alpha-1)lnθ + (\alpha_T + \beta-1)ln(1-θ)] = 0
(αH+α1)θ(αT+β1)(1θ)=0\frac{(\alpha_H + \alpha-1)}{θ} - \frac{(\alpha_T + \beta-1)}{(1-θ)} = 0
  • 최종 결과값
θ^MAP=αH+α1αH+α+αT+β2\hatθ_{MAP} = \frac{\alpha_H + \alpha-1}{\alpha_H + \alpha + \alpha_T + \beta - 2}

최대 사후 확률 추정(MAP)과 최대 우도 추정(MLE)비교

  • 두 추정값의 비슷한 점은 어떤 특징 or 사건(X)이 발생했을 때 그 사건의 발생 가능성을 최대화하는 데이터 분포(Y) or 클래스를 추론한다는 점에서는 비슷하다.

  • 가장 큰 차이점은 사전확률(Prior)의 개입 유무 이다.

  • 사전 확률은 과거의 경험에서 나오는 값이다 따라서 사전 확률에는 인간의 개입 여지가 있다. 그 말인 즉슨, 같은 문제라도 서로 다른 사전확률을 사용해 접근할 수 있다는 말이 된다.

  • 만약 사전확률을 모를경우 최대 사후 확률 = 최대 우도 추정이 된다.


나이브 베이즈 분류기의 특징

  • 장점
    • 결과 도출을 위해 조건부 확률(우도, 사후확률)만을 계산하면 되기 때문에 간단하고 계산량이 적어 속도가 빠르다.
    • 큰 데이터셋에 적합하며, 작은 데이터셋으로도 충분히 훈련이 가능하다
    • 다중 클래스 예측에도 사용 가능하다.
  • 단점
    • 나이브 가정을 만족하기 위해서는 특징간 독립성이 있어야 한다.
    • 연속형 보다 이산형 데이터에서 성능이 좋다
profile
딥러닝 지식의 백지에서 깜지까지

0개의 댓글

관련 채용 정보