3.2 Conditional Independence

Eony_Jahng·2022년 2월 9일
0

인공지능

목록 보기
5/14

KOOC에서 제공하는 KAIST 문인철 교수님의 "인공지능 및 기계학습 개론 1" 수업입니다.

Review

지난 시간에 Optimal Classifier에 대해 배웠다. 다시 복습해보자.

Optimal Classification은 Bayes Risk를 줄이는 데 최적화된 Classification이다. 즉 오류를 최소화하는 optimize function인 것이다!

f(x)=argmaxY=yP(Y=yX=x)f^*(x)=argmax_{Y=y}P(Y=y|X=x)
=argmaxY=yP(X=xY=y)P(Y=y)= argmax_{Y=y}P(X=x|Y=y)P(Y=y)

Bayes Theorm을 이용해 given과 R.V를 switch해 표현해주었다. 이때 Prior(P(Y=y)P(Y=y))는 알 수 있지만, Likelihood(P(X=xY=y)P(X=x|Y=y))는 Random Variable X가 여러 개일 경우 문제가 될 수 있다. 이를 해결하기 위한 것이 Naive Classification!!

그 놈의 Navie Clssification이 무엇인지 알아보자.

Dateset for Optimal Classifier Learning

주어진 6개의 Random Variable(Sky, Temp, Humid, Wind, Water, Forecst)을 통해 EnjoSpt를 예측해보는 모델을 만든다고 하자.

f(x)=argmaxY=yP(X=xY=y)P(Y=y)f^*(x)= argmax_{Y=y}P(X=x|Y=y)P(Y=y)

Random Variable이 여러 개가 됐으니, 이를 생각해주어야 한다.

P(X=xY=y)=(x1=Sky,x2=Temp,...x6=ForecstY=y)P(X=x|Y=y)\\=(x_1=Sky,x_2=Temp,...x_6=Forecst|Y=y)

즉, 변수 사이에 Compound가 생겨 Joint Prob이 되는 것이다. Prior는 어떨까?

Prior P(Y=y)P(Y=y)는 전체 경우의 수 중 yes가 나올 확률이므로, 위의 표에서는 0.75가 된다. 쉽다.

자, 그렇다면 필요한 Parameter의 수는 얼마나 될까??

P(X=xY=y)(2d1)kP(X=x|Y=y) \rightarrow(2^d-1)k
P(Y=y)(k1)P(Y=y)\rightarrow (k-1)

Likelihood의 경우, 각 Random Variable이 가질 수 있는 경우의 수가 2라고 보면 2n2^n이 된다. 따라서 위의 표는 64개의 Condition이 존재한다. 이때 모든 64개의 Comdition의 Sumation은 1이 Probability Simplex 속에 존재해야 한다. 따라서 마지막 64번 째 값은 1에서 63개의 값을 빼주면 되는 값이다. 그리고 Class 개수 k를 곱한 수 만큼의 Parameter가 필요하다.

Prior의 경우, Binary Classifier이기 때문에 Y=yes에 대한 확률만 안다면 Y=no인 확률도 알게된다. 따라서 1개의 parameter만 필요하다. 그래서 Class 개수 k에서 하나를 뺀 만큼의 parameter가 필요하다.

(2d1)k(2^d-1)k만큼의 parameter가 필요하다...너무 많이 필요하다. 줄일 필요가 있다.

Why need an additional assumption?

f(x)=argmaxY=yP(X=xY=y)P(Y=y)f^*(x)= argmax_{Y=y}P(X=x|Y=y)P(Y=y)

Joint Probability Distribution P(X=xY=y)P(X=x|Y=y) 때문에 너무 많은 parameter가 필요하다.

x is a vector value, and the length of the vector is d

벡터의 길이 d를 줄여야 한다는 말이다. Input feature를 많이 늘려놨더니 줄여라? 그건 또 좋지 않은 방법이다. 누가 기껏 늘려놨더니 줄이고 싶겠냐 이거다. 그래서 새로운 가정(additional assumption)이 필요하다. 그게 바로 Conditional Independence이다.

Conditional Independence Assumtion

given y인 상황에서 개별 x(x1,x2,...xi)x(x_1,x_2,...x_i)는 모두 conditionally independence하다고 가정하자는 것이다. 이게 무슨 말이냐 하면,

P(X=<x1,x2,...xi>Y=y)i=1P(Xi=xiY=y)P(X=<x_1,x_2,...x_i>|Y=y)\rightarrow \prod_{i=1}P(X_i=x_i|Y=y)

라고 보자는 것이다. 이렇게 하면 parameter의 수가 (2d1)(2^d-1)인 것을 줄일 수 있다 이거다.

conditional independence에 대해 좀 더 알아보자. x1x_1 is conditionally independent of x2x_2 given y. given y인 상황에서 x1과 x2가 서로 conditionally independent 하다는 말은,

모든x,y에대해,P(x1x2,y)=P(x1y)모든 x,y에 대해,\quad P(x_1|x_2,y)=P(x_1|y)

이다. 따라서

P(x1,x2y)=P(x1y)P(x2y)P(x_1,x_2|y)=P(x_1|y)P(x_2|y)

가 된다는 것이다.

Conditional vs. Marginal Independence

쉽게 말해서 Commander의 명령을 아는가 모르는가에 따라 구분된다. 즉, 두 Random Variable 사이에 오작교를 할 사람이 있으면 Conditional Independence하고, 없으면 Marginal Independence하다!!

latent variable에 기반해서 Conditional Indepence하게 정의할 수 있다는 것이다.

결론!! Navie Bayes Classifier은 Class variable을 동인(動因, drive)으로 생각하고, 그것을 기반으로 Conditional로 두어 X1과 X2 사이의 독립을 정의하는 Classifier인 것이다.

profile
7층에 사는 동언이

0개의 댓글