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} - n observation
D=(X,y)
X 는 모든 x들을 해당하는 column vector들을 한데 모아 만든 input matrix - dimension d×n
y 는 target value에 해당하는 값들을 column vector의 형태로 모아 만든 output vector - dimension 1×n
2.1.1 The Standard Linear Model
standard linear regression model에서는 다음과 같이 model을 설정합니다.
f(x)=xTw y=f(x)+ϵ x 는 d×1 dimension w 는 d×1 dimension
noise ϵ 은 N(0,σn2)의 분포를 가집니다
여기서 매 noise들은 서로 i.i.d 조건 즉 independent identical distribution을 만족하고 bias에 해당하는 부분은 x안에 항상 1인 원소로 들어있다고 보면 됩니다.
이제 bayes' rule에 들어갈 값들을 하나하나 확률분포로 구해보겠습니다.
1) p(y∣X,w) - likelihood
각 input sample들은 서로 independent 즉 독립이므로 아래의 식이 성립합니다.
2) p(w∣X,y) - posterior
bayes' rule에 의하여 다음이 성립합니다.
posterior=marginallikelihoodlikelihood×prior
이때 weight에 해당하는 w는 N(0,Σp)의 분포를 가진다고 가정합니다.
이렇게 되면 bayes' rule을 수식으로 풀어보았을 때 다음과 같아집니다.
p(w∣X,y)=p(y∣X)p(y∣X,w)p(w)
여기서 분모에 해당하는 부분에는 w가 없으므로 일종의 normalizing constant로 보아도 무방합니다.
전체 확률의 법칙에 의하여 w와 관련 없는 고정된 값이 나오게 됩니다.
따라서 그냥 일반 상수처리할 수 있고 prior부분도 사전에 미리 확률분포를 정해두었고 likelihood 부분도 알고있으므로 posterior를 구할 수 있게 됩니다.
p(w∣X,y)∝exp(−2σn21(y−XTw)T(y−XTw))exp(−21wTΣp−1w)∝exp(−21(w−w‘)TA(w−w‘))
단, A=σn−2XXT+Σp−1w‘=σn−2A−1Xy
위와 같이 식이 정리되고 이는 자연상수 지수부분에 벡터의 제곱의 형태로 표현되는 함수들은 다 gaussian distribution의 형태가 되는 성질을 이용하면 굉장히 쉽게 보일 수 있습니다.
이렇게 구해진 posterior를 구하는 bayesian 방법을 MAP(maximum a posterior)라고 부릅니다.
이때 parameter를 특정 기준에 의하여 고정된 값으로 가지는 non-bayesian 방법들에서는 이러한 prior분포로 인한 특징이 어떤 penalty로써 등장하게 되는데 위의 식을 보면 MAP의 방법을 적용하는 것이 ridge regression임을 알 수 있습니다.
이제 모든 재료가 모아졌으므로 새로운 input값에 대하여 prediction을 하는 과정을 분포로 나타내어 보겠습니다.
이처럼 prediction value에 대한 분포를 구할 수 있게 됩니다.
유도과정은 위와 마찮가지로 우선 f⋆에 대하여 자연상수의 지수부분이 2차식이 되므로 gaussian distribution의 형태를 가지고, A 및 covariance matrix는 symmetric matrix라는 성질을 이용하여 유도가 가능합니다.
로 나타낼 수 있고 이때 ΦΣpϕ 요러한 형태의 식들이 자주 나타나는 것을 볼 수 있습니다.
여기서 covariance matrix는 쉽게 SVD(singular value decomposition)에 의해 분해 될 수 있으므로 Σp1/2=UD1/2UT라는 표현이 가능하고,
이를 이용하면 ψ(x)=Σp1/2ϕ(x)라는 함수를 통해 k(x,x‘)=ψ(x)∗ψ(x‘)라는 커널함수가 정의 가능합니다.
이때 kernel함수에서의 곱셉은 dot product를 말하고 차원이 달라도 broadcasting해서 연산하면 됩니다.
이렇게 반복되는 형태의 식들을 kernel 함수를 이용하여 빠르게 연산할 수 있고 이러한 GP regression model의 여러 특징들이 kernel 함수와 관련해서 정리되므로 보통 basis function을 정하거나 주목하기보다 그전에 kernel 함수를 먼저 고려하여 주목한다고 합니다.
마지막으로 위의 variance 부분 연산은 high-dimensional space의 차원의 수보다 sample input dataset의 개수가 더 작을때 훨씬 연산이 빨라집니다.
이 부분에 대한 증명은 부록에 있는데 너무 많은 양이어서 해당 도서 A.9라는 것만 남기도록 하겠습니다.