[ML] 딥러닝의 깊이 있는 이해를 위한 머신러닝 3-2 (K-MOOC)

daeungdaeung·2021년 6월 20일
0

Machine-Learning

목록 보기
6/25

확률적 구분기와 Naive Bayes

Bayes Rule

p(AB)=p(BA)(A)p(B)p(A|B)=\frac{p(B|A)\cdotp(A)}{p(B)}

  • Likelihood: p(BA)p(B|A)

  • Prior: p(A)p(A), 현재 목표로 하고 있는 이벤트가 발생할 확률

  • Marginalization: p(B)p(B), 현재 조건부인 이벤트가 발생할 확률

  • Posterior: p(AB)p(A|B)

Bayes Rule 을 사용하는 이유:

  • Posterior 를 p(AB)p(A|B) 로 구할 때 feature(BB) 의 가지수가 너무 많은 경우 직접 구하기 힘들 것입니다.
  • Bayes Rule 을 사용하면 p(BA)p(B|A) 를 활용하기 때문에 직접 구하는 경우보다 수월할 것입니다. (AA는 label이며 보통 label이 feature 보다는 가지수가 적습니다.)

Naive Bayes

Bayes Rule을 적용하더라도 여전히 가지수가 많은 feature의 다양성 문제를 해결하기 위한 것입니다.

다음과 같은 가정이 필요합니다. \rarr 각각의 서로 다른 피쳐들은 독립적이다. (독립적이라고 가정했기 때문에 아래와 같이 표현 가능합니다.)

  • p(xiyi=1)=p(xi1yi=1)(xi2yi=1)(xi3yi=1)p(x_i|y_i=1)=p(x_{i1}|y_i=1)\cdotp(x_{i2}|y_i=1)\cdotp(x_{i3}|y_i=1)\cdot\dots

Naive Bayes를 활용하면 모든 조합의 feature들을 정확하게 맞출 때만 확률을 계산했을 때보다 훨씬 적은 데이터만으로도 충분히 확률값을 계산할 수 있습니다. (바로 위에 적힌 수식을 적용하면 각각의 feature에 대한 Conditional Probability를 구하면 되기 때문에 계산이 훨씬 수월해 진다고 이해하면 될 것 같습니다.)

Training Steps

  1. Set yi=cy_i=c (yiy_i 는 label을 의미합니다. cc는 label의 특정한 값을 의미합니다.)

  2. Estimate p(yi=c)p(y_i=c)

  3. Estimate p(xij=kyi=c)p(x_{ij}=k|y_i=c) using p(xij=k,yi=c)p(yi=c)\frac{p(x_{ij}=k,y_i=c)}{p(y_i=c)} (feature는 각각 독립적이라고 했으니 j개의 feature에 대해서 구해주면 되겠습니다.)

  4. label이 가질 수 있는 모든 값에 대해서 posterior를 구하고 가장 큰 확률을 찾습니다. \rarr 가장 큰 확률을 가지는 label 값이 정답이라고 결과를 도출하게 됩니다.

profile
개발자가 되고싶읍니다...

0개의 댓글