이번에는 Smoothing Splines에 대해 살펴보도록 하겠습니다.


데이터에 대해서 곡선을 적합시킬 때,

우리가 원하는 것은 주어진 data set에 잘 맞는 함수 를 찾는 것입니다.

즉, 를 작게하는 것이 목표입니다.


하지만, 이때 에 아무런 조건(constraints)이 없다면,

모든 를 이은(interpolates all of the 를 선택함으로써 RSS가 0이 되게 할 수 있을 것입니다.

그러나 이러한 는 과도하게 flexible하고 overfitting 문제가 발생할 수 있습니다.



이러한 문제를 해결하기 위한 방법 중 하나는 아래의 식을 최소화하는 를 찾는 것입니다.



※  = nonnegative tuning parameter


(1)을 최소화하는 함수 를 smoothing spline이라고 합니다.





그렇다면 (1)이 무엇을 의미할까요?


(1)은 6장의 ridge regression과 lasso에서 보았던 "Loss + Penalty" 형태입니다.


는 가 data에 잘 적합되도록 해주는 loss function이고

은 의 variability를 penalize해주는 penalty term입니다.

Penalty term에서 는 t에서 기울기의 변화를 뜻하므로

는 함수의 roughness에 대한 척도입니다.

즉, 의 절댓값이 크다는 것은 t 근처에서 함수가 매우 울렁거린다(wiggly)는 것입니다.


따라서 적분 기호는 합(summation)으로 생각할 수 있으므로

는 전체 범위에서 함수 의 총 변화에 대한 척도라고 할 수 있습니다.

만약 가 smooth하면, 는 거의 일정하므로 는 작은 값을 가집니다.


결론은 은 가 smooth하도록 해줍니다.

이때, 의 값이 클수록 는 더욱 smooth해집니다.

[가 0일 경우, 는 training observations를 이은(interpolate) 곡선에 해당하고

일 경우, 는 직선이 됩니다.]


따라서 는 smoothing spline의 bias-variance trade-off를 조절합니다.





결국 (1)을 최소화하는 함수는

에 따라 함수의 shrinkage가 조절되고

에서 knots를 가지는 natural cubic spline에 해당합니다.

[도함수와 이계도함수가 연속이며 양 끝의 boundaries에서 함수가 linear]






Smoothing spline은 knots의 개수나 위치를 결정할 필요가 없습니다.

대신, 의 값을 결정해줄 필요가 있습니다.


의 값을 결정해주는 방법으로는 cross-validation이 있고,

smoothing spline의 경우 LOOCV (leave-one-out cross-validation)를 이용해 cross-validated RSS를 최소화하는 것이 효율적이라고 합니다.


또한 LOOCV를 이용한 RSS는 아래의 식을 통해 모든 데이터를 이용하여 적합한 함수를 이용하여 계산할 수 있다고 합니다.



여기서 는 i번째 observation 를 제외한 training observations를 이용해 만든 smoothing spline으로 추정한 값이고

는 모든 observations를 이용해 만든 모델로 추정한 값입니다.







위의 그림에서 빨간색 선은 임의로 자유도를 16으로 지정해준 smoothing spline이고

파란색 선은 LOOCV를 통해 결정된 값을 이용한 smoothing spline입니다.


LOOCV를 이용한 파란색 smoothing spline의 자유도가 6.8로

자유도가 16인 빨간색 곡선보다 자유도가 더 작지만

그림을 통해 알 수 있듯이 두 곡선의 차이는 거의 없습니다.


따라서 동일한 정보를 제공해준다면 더욱 간단한 모델을 사용하는 것이 더욱 효율적이므로

자유도가 6.8인 LOOCV를 사용한 모델을 선택하는 것이 좋습니다.

'An Introduction to Statistical Learning > 7. Moving Beyond Linearity' 카테고리의 다른 글

Regression Splines  (0) 2018.05.06
Step Functions  (0) 2018.05.02
Polynomial Regression  (0) 2018.05.02
The Methods to Move Beyond Linearity  (0) 2018.05.02