회귀분석이란 P차원 벡터(X)가 입력(input)될 때, 그에 대응하는 연속형 타깃 변수(target) y를 예측하는 것이다. N개의 관측값 XN이 있다고 하자. 이에 대응하는 변수 yN이 훈련 집합으로 존재한다고 하자. 이 때, 선형회귀모델의 목표는 새로운 변수 Xnew의 종속변수인 ynew를 예측하는 것이며 최종적으로 P(ynewXnew) 의 분포를 모델링하는 것이다. 우리는 이 예측분포를 통해서 Xnew에 대한 ynew의 불확실성을 표현할 수 있다.

‘선형’ 모델(Linear Model)

가장 단순한 형태의 선형 회귀 모델은 입력 변수들의 선형 결합을 바탕으로 한 모델로 다음과 같이 표현할 수 있다.

Y=Xβ+ϵ,ϵN(0,σ2I)

여기서 짚고 넘어가야할 부분은 무엇에 관한 ‘선형’이냐는 것이다. 로지스틱 회귀의 경우는 위와 달리 logit(y)=Xβ 로 표기되는데 이 역시도 선형 모델이라고 불린다. 함수의 결과값은 0과 1사이의 S자 곡선 형태를 갖지만, Xβ는 서로 선형결합한다. 따라서 로지스틱 회귀 역시도 input 데이터 X에 대한 선형 모델이다.

최소 제곱법

앞서 표기한 것처럼 YXβ와 가우시안 노이즈 ϵ의 합으로 이루어진다고 하자.

그렇다면, P(yX,β,σ2)의 분포는 N(yXβ,σ2) 로 표현될 수 있다.

손실함수를 다음과 같이 오차제곱합 함수 L(y,f(x))={yf(x)}2 의 형태를 가정한다면, 평균적인 손실은 다음과 같이 표현할 수 있을 것이다.

E[L]=L(y,f(x))P(X,y)dXdy={yf(x)}2P(X,y)dXdy

최소제곱법의 목표는 결국 E[L] 를 최소화하는 f(X)를 선택하는 것이다. 여기서 변분법을 적용하면, 다음과 같이 표기할 수 있다.

2L(y,f(x))P(X,y)dy=0

이를 정리하면 다음과 같을 것이며, 즉 손실함수를 최소화하는 함수 f(X)X가 주어졌을 때, y의 조건부 평균이다.

f(X)=yP(X,y)dyP(X)=yP(yX)dy=Ey[yX]Ey[yX]=yP(yX)dy=Xβ

노이즈가 가우시안 분포라고 가정하는 것은 X가 주어진 상황에서 y의 조건부 분포가 단봉 분포라는 것을 내포하는데 때로는 이러한 가정이 적절하지 않을 수도 있다는 것을 유념해야 한다. 어쨌든 앞으로 논의를 이어나가는 과정에서는 다음과 같이 각 변수끼리 독립적인 가우시안 노이즈를 가정할 것이다.

Y=Xβ+ϵE(ϵ)=0Cov(ϵ)=σ2I

최고제곱법을 활용하는 우리의 시도는 E(Y) 값을 구하는 것이며 이는 기하학적으로 생각해보면, X가 Span하는 Subspace에서 Y 라는 벡터와 가장 근접한 벡터를 찾는 과정이다. XˆβX가 Span하는 Subspace 내에 존재하는 벡터라면, 이 때 ˆββ의 LSE(Least Square Estimate)라 불린다. 이를 수식으로 표현하자면 다음과 같다.

minβ(YXβ)T(YXβ)=(YXˆβ)T(YXˆβ)

벡터 Y를 X가 Span하는 Subspace로 Orthogonal Projection 시키는 행렬을 M이라 한다면, 다음과 같은 수식이 성립하며 이 식은 ˆββ의 LSE가 되는 필요충분조건이다.

MY=XˆβwhereM=X(XTX)1XT

우리의 목표는 앞서 수식에 표현한 것처럼 minβ(YXβ)T(YXβ) 을 구하는 것이며 다음과 같은 과정을 통해 구할 수 있다.

(YXβ)T(YXβ)=(YMY+MYXβ)T(YMY+MYXβ)=(YMY)T(YMY)+(MYXβ)T(MYXβ)

식이 2가지 부분으로 나뉘는 것을 확인할 수 있고 두가지 값은 모두 0이상의 값을 가질 것이다. 여기서 첫번째 부분은 β가 존재하지 않는다. 따라서 이 값은 β에 의존하지 않는다.

따라서 (YXβ)T(YXβ)를 최소화시키는 것은 (MYXβ)T(MYXβ)를 최소화시키는 것과 동일하다. 왜냐면, 여기에는 β가 있기 때문이다. 따라서 여기서 MY=Xβ일 때, 최소값이 발생할 것이라는걸 알 수 있다. 이는 β의 LSE를 구하기 위한 필요충분조건에서 마주했던 값이다.

식을 전개하는 과정에서 교차항 부분에 대해서는 계산하지 않았는데 값이 0이 되기 때문이다. 그 이유는 다음과 같다.

(YMY)T(MYXβ)=YT(IM)MYYT(IM)Xβ=0(IM)M=0(IM)X=0

M값을 위에서 X로 표현했던 것을 대입해보면 첫번째 부분이 0이되는 것을 확인할 수 있고 두번째 부분이 0이 되는 것은 기하학적인 부분에서 설명했던 것을 활용하면 이해할 수 있다. M이 X가 Span하는 공간으로 Orthogonal Projection 시키는 행렬인데 X를 X가 Span하는 공간으로 Orthogonal Projection 시켜도 X 그 자체이기 때문이다.

오차항 가정으로 인한 결과들

잘 생각해보면 지금까지 우리는 β의 LSE를 구하는 과정에서 오차항이 가우시안 분포를 따른다는 성질을 전혀 사용하지 않았다. 지금부터는 오차항이 가우시안 분포 N(0,σ2I)를 따른다는 가정을 통해 얻을 수 있는 성질들에 대해 이야기할 것이다.

1.오차에 대한 불편추정량

일단 가우시안 분포 가정이 이루어졌을 때, σ2에 대한 불편 추정량(unbiased estimator)을 어떻게 구할 수 있는지 생각해보자. 이 때, r(X)=r이라 가정하자.

Y의 추정값인 ˆYˆY=MY=Xˆβ 과 같이 구할 수 있다. 그렇다면, 잔차 ˆϵYMY로 표현할 수 있다. 따라서 Y=MY+(IM)Y 로 표현될 수 있다.

기존 Y=Xβ+ϵ 식의 양변에 (IM)을 곱해보자. (IM)X=0 이기 때문에 (IM)Y의 값은 ϵ에 의존한다. σ2 값은 오차항의 성질을 결정짓기 때문에 우리는 σ2을 추정하는 과정에서 (IM)Y를 이용해야 한다. Quadratic Form 특성에 의해, 다음과 같은 식이 성립한다.

E[YT(IM)Y]=tr[σ2(IM)]+βTXT(IM)Xβ

여기에서 (IM)X=0 이라는 것과 tr[σ2(IM)]=σ2tr(IM)=σ2(nr) 이라는 것을 활용하면 다음과 같이 정리될 수 있다.

E[YT(IM)Y]=σ2(nr)E[YT(IM)Y/(nr)]=σ2

σ2의 불편추정량은 YT(IM)Y/(nr) 으로 구할 수 있고 이를 MSE(mean squared error)라고 부른다. nr로 나누기 이전의 YT(IM)Y 값은 SSE (sum of squares for error)라고 불린다.

2.β에 대한 최대 가능도 값이 곧 최소 제곱법으로 추정하는 값이다.

입력 데이터 집합 XN={x1,...,xN} 타깃변수 집합 yN={y1,...,yN} 과 같이 존재한다고 생각해보자. 이 타깃변수의 데이터 포인트 (y1,...,yn)P(yX,β,σ2) 로부터 독립적으로 추출된다는 가정을 하자. 그렇다면 다음과 같이 가능도(Likelihood)를 계산할 수 있다.

P(yX,β,σ2)=Ni=1N(yixTiβ,σ2)

앞으로의 과정에서 입력변수 X의 분포에 대해서는 관심을 두지 않으므로 모든 과정에서 X 를 생략하더라도 조건부 변수로 설정되어 있다고 생각하자. 그리고 앞서 언급한 가능도에 로그를 취하면 다음과 같이 표현할 수 있다.

logP(yβ,σ2)=Ni=1logN(yixTiβ,σ2)=N2log2πN2logσ212σ2(YXβ)T(YXβ)

로그 가능도를 구하였으니 MLE 방식을 통하여 우리는 βσ2 에 대한 추정을 시도할 수 있다. 그런데 주목할 사실은 지금처럼 노이즈를 가우시안 분포로 가정한 경우 ^βMLE^βLSE 결과가 동일하다는 것이다.

위의 로그 가능도에서 모수 β에 대한 관련있는 부분만 고려해보자. 그렇다면 로그 가능도의 앞 2가지 부분을 제외할 수 있고 12σ2(YXβ)T(YXβ) 부분만 남는 것을 확인할 수 있다. 이를 최대화시키는 값을 찾는 것이 모수 β의 MLE값을 구하는 것이다. 그런데 잘 생각해보면, 이 값을 최대화하는 것은 (YXβ)T(YXβ 값을 최소화시키는 것과 동일하다. 이는 최소제곱법 방법과 동일하다.

한편, σ2의 경우는 MLE로 추정하는 방식이 LSE로 추정하는 방식과 다르다. 앞서 LSE 방법을 활용할 때는 ^σ2=YT(IM)Y/(nr) 이었으나 MLE 방식에서는 ^σ2=YT(IM)Y/n 으로 값이 추정된다.