[Chapter 2.1] Weight-space View

han811·2021년 1월 10일
0
post-thumbnail

2.1 Weight-space View

simple linear regression model의 경우 output이 input값들의 linear combination(선형결합)으로 표현됩니다.

이러한 linear regression의 장점으로는

  • implementation
  • interpretability

가 쉽다는 점 입니다.

그러나 단점 또한 존재하는데

  • limited flexibility

가 이에 해당됩니다.

즉 input 데이터와 output 데이터가 서로 linear function에 의한 관계를 갖지 못할 경우 안 좋은 성능을 보이게 됩니다.

그래서 해당 챕터에서는 이러한 단점을 보완하고자 linear model에 bayesian 방법을 적용하는 방법에 대해 다룹니다.

일련의 과정을 먼저 나열해보자면
1) input 데이터를 high-dimensional feature space에 projection(mapping)을 하고 해당 projection된 feature들을 토대로 linear model을 적용하고,
2) 이러한 과정에서 반복되는 연산을 줄이기 위한 방법으로 kernel trick이 제안되며,
3) 특정 조건 하에서 연산을 더욱 줄일 수 있는 방법을 소개하고 있습니다.

내용에 들어가기 이전에 notation을 먼저 정리하면 다음과 같습니다.

Dataset={(xi,yi)  i=1,...,n}Dataset = \{(x_i,y_i)\space|\space i=1,...,n\} - nn observation

D=(X,y)D=(X,y)

XX 는 모든 xx들을 해당하는 column vector들을 한데 모아 만든 input matrix - dimension d×nd \times n

yy 는 target value에 해당하는 값들을 column vector의 형태로 모아 만든 output vector - dimension 1×n1\times n


2.1.1 The Standard Linear Model

standard linear regression model에서는 다음과 같이 model을 설정합니다.

f(x)=xTwf(x)=x^Tw
y=f(x)+ϵy=f(x)+\epsilon
xxd×1d\times 1 dimension
wwd×1d\times 1 dimension
noise ϵ\epsilonN(0,σn2)N(0,\sigma^2_n)의 분포를 가집니다

여기서 매 noise들은 서로 i.i.d 조건 즉 independent identical distribution을 만족하고 bias에 해당하는 부분은 xx안에 항상 1인 원소로 들어있다고 보면 됩니다.

이제 bayes' rule에 들어갈 값들을 하나하나 확률분포로 구해보겠습니다.

1) p(yX,w)p(y|X,w) - likelihood
각 input sample들은 서로 independent 즉 독립이므로 아래의 식이 성립합니다.

p(yX,w)=Πi=1np(yixi,w)=Πi=1n12πσnexp((yixiTw)22σn2)=1(2πσn2)n/2exp(yXTw22σn2)p(y|X,w)=\Pi_{i=1}^np(y_i|x_i,w)=\Pi_{i=1}^n{1\over \sqrt{2\pi}\sigma_n}exp(-{{(y_i-x_i^Tw)^2}\over 2\sigma^2_n})={1\over{(2\pi\sigma_n^2)^{n/2}}}exp(-{{|y-X^Tw|^2}\over 2\sigma^2_n})

N(XTw,σn2I)N(X^Tw,\sigma_n^2I)의 분포를 가지게 됩니다.

2) p(wX,y)p(w|X,y) - posterior
bayes' rule에 의하여 다음이 성립합니다.

posterior=likelihood×priormarginal likelihoodposterior = {likelihood\times prior\over marginal\space likelihood}

이때 weight에 해당하는 wwN(0,Σp)N(0,\Sigma_p)의 분포를 가진다고 가정합니다.

이렇게 되면 bayes' rule을 수식으로 풀어보았을 때 다음과 같아집니다.

p(wX,y)=p(yX,w)p(w)p(yX)p(w|X,y)={p(y|X,w)p(w)\over p(y|X)}

여기서 분모에 해당하는 부분에는 ww가 없으므로 일종의 normalizing constant로 보아도 무방합니다.

전체 확률의 법칙에 의하여 ww와 관련 없는 고정된 값이 나오게 됩니다.

따라서 그냥 일반 상수처리할 수 있고 prior부분도 사전에 미리 확률분포를 정해두었고 likelihood 부분도 알고있으므로 posterior를 구할 수 있게 됩니다.

p(wX,y)exp(12σn2(yXTw)T(yXTw))exp(12wTΣp1w)                  exp(12(ww)TA(ww))p(w|X,y)\propto exp(-{1\over2\sigma_n^2}(y-X^Tw)^T(y-X^Tw))exp(-{1\over2}w^T\Sigma_p^{-1}w) \newline\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\propto exp(-{1\over 2}(w-w^`)^TA(w-w^`))
단, A=σn2XXT+Σp1   w=σn2A1XyA=\sigma_n^{-2}XX^T+\Sigma_p^{-1}\space\space\space w^`=\sigma_n^{-2}A^{-1}Xy

위와 같이 식이 정리되고 이는 자연상수 지수부분에 벡터의 제곱의 형태로 표현되는 함수들은 다 gaussian distribution의 형태가 되는 성질을 이용하면 굉장히 쉽게 보일 수 있습니다.

이렇게 구해진 posterior를 구하는 bayesian 방법을 MAP(maximum a posterior)라고 부릅니다.

이때 parameter를 특정 기준에 의하여 고정된 값으로 가지는 non-bayesian 방법들에서는 이러한 prior분포로 인한 특징이 어떤 penalty로써 등장하게 되는데 위의 식을 보면 MAP의 방법을 적용하는 것이 ridge regression임을 알 수 있습니다.

이제 모든 재료가 모아졌으므로 새로운 input값에 대하여 prediction을 하는 과정을 분포로 나타내어 보겠습니다.

p(fx,X,y)=p(fx,w)p(wX,y)dw                         N(1σn2xTA1Xy,xTA1x)p(f_\star|x_\star,X,y)=\int p(f_\star|x_\star,w)p(w|X,y)dw \newline\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space \sim N({1\over\sigma_n^2}x_\star^TA^{-1}Xy,x_\star^TA^{-1}x_\star)

이처럼 prediction value에 대한 분포를 구할 수 있게 됩니다.
유도과정은 위와 마찮가지로 우선 ff_\star에 대하여 자연상수의 지수부분이 2차식이 되므로 gaussian distribution의 형태를 가지고, AA 및 covariance matrix는 symmetric matrix라는 성질을 이용하여 유도가 가능합니다.

E(f)=E(xTw+ϵ)=xTE(w)=xTwVar(f)=Var(xTw)=xTVar(w)x=xTA1xE(f_\star)=E(x_\star^Tw+\epsilon)=x_\star^TE(w)=x_\star^Tw^` \newline Var(f_\star)=Var(x_\star^Tw)=x_\star^TVar(w)x_\star=x_\star^TA^{-1}x_\star

2.1.2 Projection of Inputs into Feature Space

이제 bayesian linear regression model을 알았으니 input 값들을 high-dimensional space에 projection하여 진행을 하면 됩니다.

먼저 projection을 위한 basis function을 ϕ(x)\phi(x)라고 합니다.
예를 들어보면 하나의 단일 변수 값 xx에 대해서 ϕ(x)=(1,x,x2,x3,...)T\phi(x)=(1,x,x^2,x^3,...)^T으로 표현할 수 있습니다.

그러면 projection의 경우 그냥 함수하나만 통과를 해주면 되고, weight ww는 basis function에 영향을 받지 않으므로 model에 영향을 주는 것 없이 손쉽게 high-dimensional space에 mapping이 가능합니다.

여기서 classification의 문제인 경우 혹은 basis function을 선정하는 방법은 각각 chapter3 chapter5에 나오므로 여기서는 basis function이 주어졌다고 가정하고 진행합니다.

방법은 그냥 xx위치에 ϕ(x)\phi(x)를 넣으면 끝입니다.

간단히 정리하기 위하여 ϕ(x)=ϕ, Φ(X)=Φ\phi(x_\star)=\phi, \space \Phi(X)=\Phi로 표기하고,

식을 정리해보면,
fx,X,yN(1σn2ϕTA1Φy,ϕTA1ϕ)f_\star|x_\star,X,y \sim N({1\over\sigma_n^2}\phi^TA^{-1}\Phi y,\phi^TA^{-1}\phi)
와 같습니다.

이러한 확률분포를 K=ΦTΣpΦK=\Phi^T\Sigma_p\Phi를 이용하여 좀 더 변형해보면,

fx,X,yN(ϕTΣpΦ(K+σn2I)1y,ϕTΣpϕϕTΣpΦ(K+σn2I)1ΦTΣpϕ)f_\star|x_\star,X,y \sim N(\phi^T\Sigma_p\Phi(K+\sigma_n^2I)^{-1} y,\phi^T\Sigma_p\phi-\phi^T\Sigma_p\Phi(K+\sigma_n^2I)^{-1}\Phi^T\Sigma_p\phi)

로 나타낼 수 있고 이때 ΦΣpϕ\Phi\Sigma_p\phi 요러한 형태의 식들이 자주 나타나는 것을 볼 수 있습니다.

여기서 covariance matrix는 쉽게 SVD(singular value decomposition)에 의해 분해 될 수 있으므로 Σp1/2=UD1/2UT\Sigma_p^{1/2}=UD^{1/2}U^T라는 표현이 가능하고,
이를 이용하면 ψ(x)=Σp1/2ϕ(x)\psi(x)=\Sigma_p^{1/2}\phi(x)라는 함수를 통해
k(x,x)=ψ(x)ψ(x)k(x,x^`)=\psi(x)*\psi(x^`)라는 커널함수가 정의 가능합니다.

이때 kernel함수에서의 곱셉은 dot product를 말하고 차원이 달라도 broadcasting해서 연산하면 됩니다.

이렇게 반복되는 형태의 식들을 kernel 함수를 이용하여 빠르게 연산할 수 있고 이러한 GP regression model의 여러 특징들이 kernel 함수와 관련해서 정리되므로 보통 basis function을 정하거나 주목하기보다 그전에 kernel 함수를 먼저 고려하여 주목한다고 합니다.

마지막으로 위의 variance 부분 연산은 high-dimensional space의 차원의 수보다 sample input dataset의 개수가 더 작을때 훨씬 연산이 빨라집니다.
이 부분에 대한 증명은 부록에 있는데 너무 많은 양이어서 해당 도서 A.9라는 것만 남기도록 하겠습니다.

profile
han811

0개의 댓글