[통계학]Bayes' Theorem

MA·2022년 7월 27일
0

통계학

목록 보기
1/1
post-thumbnail

Bayes' theorem .. 너란 녀석..

도대체 왜 이딴 형태의 식을 만들었을까 ? 싶다.

보통 수학이 재미없는 이유는 딱 하나다. 그냥 공식만 달달달 외우게 한다. 진짜 문제다 이건. 통계도 마찬가지다. 왜 쓰는지를 알아야지 이게 이해가 되고 배우는데 하나하나 배우는 재미가 있는데, 도대체가 대학에 와서도 항상 똑같다. (내가 볼땐 솔직히 가르치는 사람들도 잘 몰라서인듯.)

일단 내가 아는대로 적어보겠다.

위키 사전을 한번 볼까 ?

https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%A6%88_%EC%B6%94%EB%A1%A0

베이즈 추론(Bayesian inference)은 통계적 추론의 한 방법으로, 추론 대상의 사전 확률(Prior)과 추가적인 정보를 통해 해당 대상의 사후 확률(Posterior)을 추론하는 방법이다. 베이즈 추론은 베이즈 확률론을 기반으로 하며, 이는 추론하는 대상을 확률변수로 보아 그 변수의 확률분포를 추정하는 것을 의미한다.

생각보다 좀 간단하다. 한마디로 말해서 내가 구하고 싶은건 Posterior인데 이게 구하기가 너~무 어려워서 '어떻게 쉽게 못푸나 ?' 해서 Posterior을 Prior이랑 Likelihood를 가지고 푼게 베이즈 추론이다.(? 사실 이게 맞는지도 모르겠음)~~

ㅋㅋ 좀 구체적인 예를 들어 설명해보자면,

만약에 베이즈 이론을 따르는 어떤 네트워크가 있다고 할 때,

우리가 구하고 싶은건 입력(X\mathbf{X})과 아웃풋(Y\mathbf{Y})값을 통해서 파라미터(W\mathbf{W})를 최적화 하기를 원할 것이다. (이게 머신러닝, 딥러닝의 강점 : 인풋과 아웃풋(정답 label) 만으로 파라미터를 학습시킴(BackProp) 뇌피셜임)

즉, posterior : p(WX,Y)p(\mathbf{W}|\mathbf{X},\mathbf{Y})(X\mathbf{X}Y\mathbf{Y}가 주어졌을 때 파라미터 W\mathbf{W}) 를 구해야한다. 근데 이게 사실상 불가능한 연산이다. 왜냐면 이를 풀어보면, p(W,X,Y)p(X,Y)p(\mathbf{W},\mathbf{X},\mathbf{Y})\over{p(\mathbf{X},\mathbf{Y}}) 를 직접 구해야 되는데, 어케할거 ? 이게 어렵다고 한다.(왜 어려운지는 모름 ㅋ 나중에 알아보자)

??? : "에휴 그래서 이걸 어떻게 풀거여"

베이즈 : "베이즈"

??? : "???"

그렇다 베이즈 정리를 통해 이걸 풀 수 있더라(이걸 여기서 쓸 수 있네 ㄷㄷ)

예시를 들어 설명해보자.

우리가 어떤 네트워크(NN)를 가지고 있다고 하자. 그러면 이 안에는 여러 weights가 존재할 것인데, 우리는 이 weights가 Gaussian prior를 따른다고 가정할 것이다. : WN(0,I)\mathbf{W} \sim \mathcal{N}(0,I)

이런 모델을 뭐라하냐 ? Bayesian neural network (BNN) 이라고 한단다.

얘네는 기존 네트워크가 가진 weight parameters가 deterministic(상수값)값들을 직접적으로 optimising하는 방법이 아니라 marginalisation(이게 정확히 뭔지 모르겠는데 엄청 유명함. 나중에 정리해야됨)을 통해 가능한 weights값들을 최적화한다.

BNN에서 나오는 임의의 랜덤한 결과값을 fW(x)f^\mathbf{W}(\mathbf{x})라 하자.

그리고 likelihood p(yfW(x))p(\mathbf{y}|\mathbf{f}^\mathbf{W}(\mathbf{x}))를 정의하자. (여기서 likelihood는 p(yW,X)p(\mathbf{y}|\mathbf{W},\mathbf{X})다.)

어떤 데이터 X={x1,...,xN}\mathbf{X}=\{\mathbf{x_1},...,\mathbf{x_N}\}, Y={y1,...,yN}\mathbf{Y}=\{\mathbf{y_1},...,\mathbf{y_N}\} 가 주어졌을 때, Bayesian inference는 아까 언급한 posterior : p(WX,Y)p(\mathbf{W}|\mathbf{X},\mathbf{Y})를 구하고 싶다!

regression 문제에서 우리는 보통 likelihood는 Gaussian으로 정의하고, p(yfW(x))=N(fW(x),σ2)p(\mathbf{y}|\mathbf{f}^\mathbf{W}(\mathbf{x}))=\mathcal{N}(\mathbf{f}^\mathbf{W}(\mathbf{x}), \sigma^2)로 정의내린다.(왜??? 찾아보기) 이때 σ\sigma는 관찰되는 noise의 scalar이다.

classification에서는 반면에 종종 모델의 아웃풋을 softmax function으로 squash하고 p(yfW(x))=Softmax(fW(x))p(\mathbf{y}|\mathbf{f}^\mathbf{W}(\mathbf{x}))=Softmax(\mathbf{f}^\mathbf{W}(\mathbf{x}))로 부터 샘플링한다. (이건 흔히 아는 모델)

여기서 BNN은 아주 쉽게 표현할 수 있따. 그러나 inference하기는 겁나 어렵다.

왜냐면 marginal probabilityp(YX)p(\mathbf{Y}|\mathbf{X})때문인데, 베이즈 정리에 의해서

아까 언급한 posterior는 다음과 같이 표현할 수 있다.

p(WX,Y)=p(YX,W)p(W)/p(YX)p(\mathbf{W}|\mathbf{X},\mathbf{Y}) = p(\mathbf{Y}|\mathbf{X},\mathbf{W})p(\mathbf{W})/p(\mathbf{Y}|\mathbf{X})

profile
급할수록 돌아가라

0개의 댓글