콘텐츠로 건너뛰기

국소 회귀 (Local Regression)

지난 글에서는 X와 Y의 관계가 비선형이면서 비단조 문제일 때 해결하는 다항회귀에 대해 알아보았다(다항회귀 알아보기). 이번에는 비슷한 문제에서 조금 다른 접근법으로 해결하는 국소 회귀에 대해 알아보자.

■ 국소 회귀(Local Regression)의 가정

국소 회귀는 비선형 문제여도 적은 범위(로컬, Local)에서 관찰하면 선형 문제라고 보는 접근 방식이다. 아래와 같이 비선형 + 비단조 문제도 범위를 좁혀서 보면 선형 관계로 나타낼 수 있다는 아이디어에서 출발한다.

오른쪽 그림을 보면 첫 번째 데이터와 두 번째 데이터 간의 관계는 선형, 두 번째~네 번째 관계 역시 선형이다. 이런 식으로 주어진 데이터 포인트에 대해 모두 선형 관계를 도입하는 방식을 LOESS 또는 LOWESS(Locally Weighted Scatterplot Smoothing)이라고 부른다. 영어 표현으로는 LWR(Locally Weighted Regression)이라고 부르기도 한다.

■ 모수적 모델(Parametric Model) vs. 비모수적 모델(Non-parametric Model)

다항 회귀와 국소 회귀 모두 비선형 문제를 해결할 때 쓰인다. 다만, 다항 회귀의 경우 새로운 변수를 추가하여 해결하는 모수적(parametric) 방법이고, 국소 회귀는 비모수적(non-parametric) 방법이다.

모수적 모델과 비모수적 모델의 차이는 모수(parameter)의 개수가 고정되어 있는지의 여부에 따라 갈린다. 선형 회귀나 로지스틱 회귀와 같이 모수의 개수가 고정되어 있을 경우를 모수적 모델이라고 하고, 학습 데이터가 늘어남에 따라 모수의 개수도 늘어나는 kNN과 같은 모델을 비모수적 모델이라고 한다.

비모수적 모델의 경우, 차원의 저주를 해결해야하는데 분포에 새로운 가정을 두어 다시 모수적 모델로 변환해서 해결하는 방법이 있다. 자세한 내용에 대해서는 다른 포스팅에서 다루도록 하겠다.

다항 회귀와 국소 회귀 모두 장단점이 있다. 다항 회귀 글에서 언급했다시피 변수가 늘어나면 오버피팅 문제가 생긴다. 만약 충분한 크기의 학습 데이터가 있다면, 변수 선택이 덜 중요하다고 가정하는 국소 회귀를 이용하면 된다.

■ 국소 회귀 접근 방식

국소 회귀는 여러 가지의 kNN 기반 모델을 합친 회귀 모델이라고 생각하면 된다(kNN에 대해 알아보기). 타겟하는 데이터 포인트의 이웃 데이터 포인트만을 가지고 선형식을 만드는데 당연히 타겟 데이터 포인트와 거리가 가까울수록 높은 가중치를 주고, 거리가 멀어질수록 가중치를 낮춰준다. 국소 회귀는 kNN의 특징을 그대로 물려오기 때문에 게으른 학습(lazy learning)이다. 현재 데이터 포인트에 대해서만 동작하는 것을 보통 게으른 학습이라고 말한다.

기본적으로 선형 회귀의 알고리즘은 SSE(Sum Squared Error, 오차제곱의 합)을 최소화하는 파라미터를 찾아 예측을 한다. 국소 회귀의 알고리즘은 가중치 w(i)와 SSE를 곱한 값을 최소화하는 파라미터를 찾아 예측을 한다. 가중치 w(i)는 다음의 공식에 의해 구할 수 있다.

{\displaystyle w(x,z)=\exp \left(-{\frac {(x-z)^{2}}{2\sigma ^{2}}}\right)}
출처: https://en.wikipedia.org/wiki/Local_regression

■ 국소 회귀 장단점

국소 회귀의 장점으로는 비선형 문제에 잘 적합한다는 점이다. 종종 kNN 보다 더 우수한 성능을 보인다.

단점으로는 테스트를 할 때마다 최근접 이웃을 찾아야 하고, 국소 모델을 계산하기 때문에 시간이 오래 걸리고 데이터를 다소 비효율적으로 사용한다. 또한 어떠한 공식으로 쉽게 표현되는 회귀식을 만들어주지 않기 때문에 결과를 공유하기 상당히 어렵다.