Regression(회귀)은 데이터의 추세를 표현하는 가장 좋은 함수를 찾는 것이다.
다양한 함수를 이용하여 추세를 표현할 수 있겠지만, 일단은 가장 간단하고 쉽지만 아주 강력한 일차함수를 생각하자.
이를 Linear Regression이라고 한다.
Frequentist?
확률을 바라보는 관점은 여러가지가 있지만, 아마 그 중에서 가장 사람들에게 익숙한 것은 Frequentist(빈도주의자) 들의 관점일 것이다.
이들은, 이름처럼 확률을 어떠한 사건이 일어나는 빈도로 해석한다.
즉, 총 n번의 시행에서 사건 E가 nE번 일어났다면, 이 사건이 일어날 확률 P(E)는
다음과 같다고 주장하는 것이다.
P(E)=n→∞limnnE
고등학교 때 일명 '통계적 확률'이라고 배운 것이 Frequentist들이 확률을 정의하는 방법이었고, 이는 무척이나 직관적이다.
이렇게 객관적인 사건과 시행을 통해 얻은 확률은 매우 객관적이며, Frequentist들은 이 객관성을 다소 중시한다.
이제는 관점을 데이터로 확장시켜보자. 어떠한 Data 가 parameter θ인 미지의 분포를 따른다고 가정하면,
어떻게 최적의 θ를 구할 수 있을까? 답은 간단하다. Likelihood를 세우고, 이를 최대화 하는 θ를 찾으면 된다.
혹은, 적절한 모델을 세워 관측값과 모델값의 차이를 최소화하는 θ를 찾으면 된다.
이렇게 하면, 결국 최적의 θ 하나를 구할 수 있을 것이다!
Frequentist의 방법은 후에 소개할 Bayesian의 방법에 비해 훨씬 간단하며, point estimation에 적합하다는 성질을 가지고 있다.
따라서, 일단은 Frequentist의 방법으로 Linear regression model의 최적의 parameter을 찾아보자.
Simple Linear Regression
Model
D개의 feature을 가지는 N개의 Data D={(xi,yi)}i=1N 를 생각하자.
그러면, model은 다음과 같이 설정할 수 있다.
y=w⊤x+b
(단, 여기서 w=(w1,⋯,wD)⊤∈RD이고, b∈R 이다)
여기서 조금만 더 머리를 쓰면, w 내에 bias term b를 포함시킬 수 있겠다는 생각이 들 것이다.
따라서, 일반성을 잃지 않고, model을 다음과 같이 설정하자.
y=w⊤x
Loss function
Loss function은 여러가지가 있지만, 이번에는 MSE(Minimum Square Error)을 사용할 것이다.
즉, parameter w에 대한 loss function L은 다음과 같다.
L(w)=21i=1∑N(w⊤xi−yi)2
이를 최소화해야 하고 이는 convex function 이므로, 미분하여 0이 되는 값이 최적의 parameter이다.
이제는 구한 w∗를 바탕으로 새로운 input x에 대한 output y를 추정해보자.
간단하다. 그냥 linear regression 모델에 대입하기만 하면 된다.
y=w∗⊤x=x⊤w∗=x⊤(XX⊤)−1Xy
마지막 부분만 다시 써보면, 다음과 같다.
y=x⊤(XX⊤)−1Xy
Pitfalls!
우리는 방금 closed-form을 구했다. 이는 단 몇 번의 행렬 연산을 통해서 답을 낼 수 있다는 소리로,
굳이 gradient descent같은 반복적인 방법을 사용하지 않아도 된다는 것을 시사한다. 하지만, 이 방법에는 큰 함정이 있다.
바로, XX⊤이 항상 invertible 한가? 라는 것이다.
조금만 생각해보면, N<D 일 때는 singular, 즉 invertible하지 않다는 것을 깨달을 수 있다. 즉, 차원에 비해
데이터가 적다면, 이 방법은 전혀 쓸 수 없다. 심지어는, N이 D보다 아주 약간 크면 (XX⊤)−1가 매우 커지게 되어서,
추정하는 값이 거의 발산해버린다.
이런 일이 발생하지 않으려면 어떻게 해야할까?
당연히 데이터의 개수를 늘리는 것이 우선이다. 😛
하지만, 여러 이유로 이것이 불가능하다면, 우리의 모델이나 loss function을 고쳐야 할 수 밖에 없다.
일단은, XX⊤이 non-singular 하게끔 만들어 주는 것이 목적이므로, 적절한 positive 상수가 곱해진
identity matrix를 더하면 된다. 즉, 우리의 목적은 다음 term을 만드는 것이다.
XX⊤+γI
(where γ>0)
With Regularization
저 γ 를 만들어주기 위하여, loss function을 약간 손보자. 일명 regulation term
이라고 불리는 항을 추가한다.
L(w)=21i=1∑N(w⊤xi−yi)2+2γ∥w∥2
마찬가지로 미분하여 optimal한 parameter을 구해보면, 다음과 같다.
dwdL=XX⊤w−Xy+γw=(XX⊤+γI)w−Xy=0
따라서, optimal한 parameter과 prediction은 다음과 같다.
w∗y=(XX⊤+γI)−1Xy=x⊤(XX⊤+γI)−1Xy
이를 식 (5), (6)과 비교하면 확실히 regularization term이 포함되어 있어 non-singular 함을 알 수 있다.
🤔 Hmm...
근데 뭔가 찝찝하다. Frequentist들은, 그 무엇보다도 객관성을 중시하는데, 여기서 γ는 결국 주관적으로 결정되는 것이 아닌가?
심지어, 이 γ가 정확히 어떠한 의미를 가지는지, 어떻게 설정해야 적절한 것인지 알기가 쉽지 않다.
이러한 찝찝한 문제를 주관적 확률의 대명사, Bayesian들은 어떻게 해결할까?
Bayesian의 방법을 따라가면서 이 γ의 정확한 의미에 대해 알아보자. 다소 힘든 일이 될 것이다 ㅎㅎ.