Processing math: 100%
반응형

Bayes' theorem

 Conditional probability를 활용하여 P(AB) 를 쓰면 다음과 같다.

P(AB)=P(A|B)P(B)=P(B|A)P(A)

위 수식의 의미는, 사건 A와 사건 B가 함께 일어날 확률은 사건 A가 일어나고 사건 B가 일어나거나, 사건 B가 일어나고 사건 A가 일어날 확률로 쓸 수 있다는 것이다.

 위의 수식을 이용하면 $P(A \vert B)$를 다음과 같이 쓸 수 있다.

P(A|B)=P(B|A)P(A)P(B)

이 수식을 베이즈 정리라 한다.

 

용어 정리

위 수식을 활용하기 위해 A를 가설, B를 데이터라 하면,

P(hypothesis|data)=P(data|hypothesis)P(hypothesis)P(data)

라 쓸 수 있다.

P(hypothesis|data) : posterior probability(사후확률)라 하며, 주어진 데이터 하에 가설이 참일 확률을 의미한다.

P(data|hypothesis) : 가설 하의 데이터의 likelihood이다.

P(data) : marginal probability

P(hypothesis) : Prior probability(사전확률)로 가설에 대한 초기 믿음을 나타낸다.

 

Naive Bayes' Classifier

 입력 feature x를 통해 class y를 유추하는 모델을 생각해보면 베이즈 정리에 의해 다음과 같이 쓸 수 있다.

P(yj|x)=P(x|yj)P(yj)P(yj

우항의 분모를 다시 쓰면,

P(x|yj)P(yj)=P(x1|x1,,xn,yj)

이며, xi가 서로 독립이라는 가정을 하면(강력한 가정이며 이 때문에 Naive Bayes' classifier이다),

P(x|yj)P(yj)=P(x1|yj)P(x2|yj)P(xn|yj)P(yj)=kP(xk|yj)P(yj)

라 쓸 수 있다.

 이 때, 주어진 feature x에 대한 예측 클래스 ˆy 는 다음과 같다.

ˆy=argmaxyjkP(xk|yj)P(yj)

 

Laplace Smoothing

 위 모형의 문제는 샘플의 개수가 적을 때 P(xi|yj)=0 이 생기는 문제가 발생할 수 있다. 즉, 데이터 기반으로 likelihood를 계산하다보니 등장하지 않은 데이터에 대해서는 class yj일 확률이 아예 없다고 하는 강력한 모형이 만들어지는 것이다. 이러한 강력한 모형은 바람직 하지 않으므로

P(xi|yj)=# number of xi+cP(xi# of yj+c

와 같이, 아주 작은 값을 분모와 분자에 더해줘 확률이 0이 되는 것을 피한다.

 

Application with Iris dataset

 붓꽃 분류 데이터를 활용하여 실습해 보겠습니다. 해당 데이터에서 feature는 4개로 ['sepal length', 'sepal width', 'petal length', 'petal width'] 이고, class는 [0,1,2] 세개로 주어집니다.

 주어진 데이터에 맞게 각 확률을 구해주면 됩니다. 또한, 계산의 편의성을 위해 모든 인풋값을 반올림하여 사용하였습니다. 연속값을 사용하는 경우에는 특정 구간의 데이터 개수를 세면 됩니다.

 Prior probability : 모든 클래스의 데이터가 각 50개씩 주어지므로 1/3으로 했습니다.

 Marginal probability : [x1,x2,x3,x4] 의 개수를 센 후, 전체 개수로 나누어주면 각 인풋 데이터에 맞는 Marginal probability가 됩니다.

 Likelihood : P(xi|y) 의 개수를 세어 확률을 측정합니다.

 코드는 깃허브를 참조해주세요.

 Github link

 

SunggookCHOI/Laboratory

개인 학습의 기록. Contribute to SunggookCHOI/Laboratory development by creating an account on GitHub.

github.com

 학습과 테스트 데이터는 8:2로 나누었으며, 30개의 테스트셋에 대해 약 93%의 정확도를 보이는 것을 확인할 수 있습니다.

반응형

'ML > 이론' 카테고리의 다른 글

Least-Mean-Square Algorithm  (0) 2020.03.09
Maximum a posteriori estimation  (0) 2020.03.03
반응형

요약

 LMS 알고리즘은 가장 유명한 학습법 중 하나이며, LMS 알고리즘은 성능이 좋으면서도, 빠르고 효율적이며 코드 짜기도 쉽다. 본 포스트에서는 선형회귀만을 다룹니다.

Adpative Filter

 LMS 알고리즘은 adaptive filter라고 할 수 있으며 filtering process와 adaptive process가 합쳐져 있다. w와 i번째 샘플 x(i)로부터 예상된 결과가 y(i)라 할때, y(i)와 실제 정답 d(i)를 비교함으로써 error e(i)를 얻는 과정이 filtering process이고, e(i)로부터 w를 적절하게 수정해 나가는 과정이 adaptive process이다.

 

 어떤 이상적인 분류기의 모델로서 optimal solution w가 있다고 할때, 실제 w는 알 수가 없으므로, 우리의 목표는 가지고 있는 sample들로부터 error를 가장 작게 만드는 w를 찾는 것이다. w에 관한 error를 E라 하면, E(w)<=E(w) 일 것이며, w가 optimal solution일 조건은 E(w)=0 이다.

 ww에 가까워지도록 하는 adaptive filter는 iterative descent의 방식으로 진행된다. 즉 i번째 iteration에서의 error를 E(w(n))라 하면 E(w(n+1))<E(w(n))가 된다.

Steepest Decsent Algorithm

 말그대로 가장 가파른 곳으로 내려가는 알고리즘으로, w에 대한 에러 E(w)의 경사가 가장 가파른 곳으로 내려가는 알고리즘으로, 

 w(n+1)=w(n)η\triangledown\mathcal{E}(w)$

 w(n)=w(n+1)=w(n)=η\triangledown\mathcal{E}(w) = -\eta g(n)$

가 된다. 이러한 방식을 통해 ww에 가까워지는 이유는 다음과 같이 error를 테일러 전개 함으로써 알 수 있다.

 E(w(n+1))=E(w(n))+E(w(n))Tw(n)+O((w(n))2)E(w(n))ηgT(n)g(n)=E(w(n))ηg(n)2

 E(w(n+1))<E(w(n))

Newton's Method

 이번에는 에러 함수를 이차항까지 테일러전개를 하면 아래와 같다.

 (E(w(n)))=E(w(n+1))E(w(n))

        =E(w(n))+E(w(n))Tw(n)+122E(w(n))T(w(n))2+O((w(n))3)E(w(n))

        =gT(n)w(n)+12wT(n)H(n)w(n), H(n)은 헤세 행렬 ( H(n) = \triangledown^2 \mathcal{E}(w(n))

 즉, g(n)+H(n)w(n)=0 일때 에러의 차가 최소가 된다.

w(n+1)=w(n)H1(n)g(n)

Gauss-Newton Method

 Todo

The Least Mean Square Algorithm

 에러 함수를 다음과 같이 정의하면

 E(w)=12e2(n),

 gradient vector는 다음과 같다.

 g(n)=E(w)w=e(n)e(n)w=e(n)x(n)

 여기서 Steepest Descent를 활용하여 w를 업데이트 시키면 다음과 같다.

 w(n+1)=w(n)+ηx(n)e(n)

 

LMS 알고리즘은 environment에 대한 정보가 하나도 없어도 적용이 가능하다.

 

코드로 구현한 내용은 전에 작성한 포스트에 있습니다.

 

Lecture2 Linear classifiers, SGD

Gradient Discent 어떤 함수 f(x)가 있을 때, f(x)가 최소가 되는 x 값을 찾는 방법으로, f(x)의 gradient의 반대방향으로 x값을 변화시키는 방법이다. (gradient의 방향이 f(x)를 최대화시키는 방향..

hellya.tistory.com

 

반응형

'ML > 이론' 카테고리의 다른 글

Naive Bayes' classifier  (0) 2020.10.16
Maximum a posteriori estimation  (0) 2020.03.03
반응형

요약

 Bayes' theorem을 이용한 Maximum a posteriori estmation(MAP)을 이용한 모델과 MAP과 least mean-square estimation 사이의 관계에 대하여 다룹니다.

Bayes' theorem

 Regressor x가 environment w와 상호작용하여 response d가 관측되었다고 할 때, 확률론을 이용하면 environment w에 대한 조건부 확률 pW,D|X(w,d,x)는 아래와 같이 쓸 수 있다. 

 pW,D|X(w,d,x)=pW|D,X(w|d,x)pD(d)=pD|W,X(d|w,x)pW(w)

 또한, 위의 식을 이용하면 조건부 확률 pW|D,X(w|d,x)을 아래와 같이 쓸 수 있는데, 이것이 Bayes' theorem이다.

 pW|D,X(w|d,x)=pD|W,X(d|w,x)pW(w)pD(d)

 즉, Bayes' theorem이란, w에 대한 조건부 확률을 w에 대한 사전확률(믿음)과 관측값 d에 대한 조건부 확률을 이용하여 나타내는 것이다.

용어정리

 Observation density : pD|W,X(d|w,x)로, 주어진 환경 w하에서 stimuli x에 대하여 response d가 관측될 확률을 나타낸다.

 Prior : pW(w)로, 관측전의 w에 대한 information을 나타내며 앞으로는 π(w)라고 쓰겠습니다.

 Posterior density : pW|D,X(w|d,x)로, 관측 후의 w에 대한 조건부 확률로, 앞으로는 π(w|d,x)로 쓰겠습니다.

 Evidence : pD(d)로, d에 대한 통계 분석에 의한 information을 나타낸다.

Maximum likelihood estimation(ML)과 Maximum a posteriori estimation(MAP)

 Likelihood function $l(w \vert d,x)는

 l(w|d,x)=pD|W,X(d|w,x),

 즉, observation density라고 할 수 있고, 위의 Bayes' theorem을 통해 posteriori π(w|d,x)는 다음과 같이 쓸 수 있다.

 π(w|d,x)l(w|d,x)π(w)

 따라서 ML estimation of w wML과 MAP estimation of w wMAP은 아래와 같이 쓸 수 있다.

 wML=argmaxwl(w|d,x)

 wMAP=argmaxwπ(w|d,x)

 둘의 차이점을 살펴보면, wML의 경우에는 w에 대한 prior를 고려하지 않는다. 또한 많은 경우에 π(w|d,x) 값 자체보다는 log(π(w|d,x)) 값이 편리한 경우가 많으므로, 계산상의 편의를 위하여 앞으로는 wMAP=argmaxwlog(π(w|d,x))를 사용한다. 

Parameter estimation in a Gaussian Environment

 Gaussian environment에서의 MAP 추정은 우리에게 친숙한 least-square estimation과 연관되는데, 이를 보이겠다.

 이를 보이기 위해서는 세가지 가정이 필요한데, 먼저 N개의 sample data (xi,di)Ni=1은 i.i.d이다. 또한, di=wTxi+ϵi 일 때, error ϵi 역시 Gaussian 분포를 따른다. 

 pE(ϵi)=12πσexp(ϵ2i2σ2)

 또한 w가 길이 M인 벡터라 할 때, M개의 각각의 요소들은 stationary하다. 여기서는 각각의 요소들이 독립적이며 평균이 0이고, 분산이 σ2w라 가정한다.

 π(wk)=12πσwexp(w2k2σ2w)

 위의 가정들을 종합해보면, E[Di]=wTxi,var[Di]=σ2 가 된다. 이를 가지고 liklihood function을 쓰면 아래와 같다. 

 (w|di,xi)=ΠNi=1l(w|di,xi)=12πσ)Nexp(12σ2i(diwTxi))

 Prior π(w)의 경우, 앞에서 w의 각각의 요소들이 i.i.d임을 가정했으므로 다음과 같이 쓸 수 있다.

π(w)=ΠMk=1π(wk)=1(2πσw)Mexp(12σ2wkw2k)=1(2πσw)Mexp(12σ2ww2)

 Priori와 likelihood 함수를 모두 구했으므로, Posteiori는 다음과 같이 쓸 수 있다.

 π(w|d,x)exp[12πσi(diwTwi)212πσww2]

 wMAP=argmaxw[12πi(diwTwi)2λ2πw2],λ=σ2σ2w

 

 여기서 argmax 함수 안의 첫 항은 least-square estimation 에서 쓰는 quadratic error function이며, 뒤의 항은 regularization이라 할 수 있다. 즉, 가우시안 환경에서의 MAP 추정은 regularized least-square 추정이 된다. 또한 λ0(σw)인 경우, 즉, w의 분포가 uniform 분포인 경우에는 MAP 추정이 ML 추정과 같아진다.

 

* Neural Networks and Learning Machines -Simon Haykin 의 책을 스터디한 내용을 정리한 것입니다.

반응형

'ML > 이론' 카테고리의 다른 글

Naive Bayes' classifier  (0) 2020.10.16
Least-Mean-Square Algorithm  (0) 2020.03.09

+ Recent posts