독서/An Introduction to Statistical Learning

[ISL] Chapter 2 : Statistical Learning

도리언 옐로우 2024. 6. 6. 22:53

 

1. Statistical Learning

통계 학습이란 X와 Y의 관계인 f를 추정하기 위한 일련의 접근법을 말한다. 이 문장만으로는 통계학습이 무엇인지에 대해 와닿지 않으므로 교재의 예시를 살펴보며 이해해보자.

 

 

통계 학습에 대해 잘 모르더라도 특정 제품의 광고 예산과 판매량 간에는 어떠한 관계가 있을 것이라는 생각은 쉽게 할 수 있다. 단순히 생각해도 광고 예산이 커질수록 판매량은 늘어나야 정상일 것 같다. 그렇다면 막연히 존재할 것이라고 생각되는 그 관계를 알 수 있다면 주어진 광고 예산에 대한 판매량을 정확히 예측할 수 있을 것이다. 교재의 예시는 TV, 라디오, 신문 세 가지의 매체에 대한 광고 예산 데이터셋이 주어질때 이를 기반으로 판매량을 예측할 수 있는 정확한 모델을 개발하는 것이다. 

 

여기서 광고 예산은 입력변수(= 예측변수 = 독립변수)이고 $X_i$와 같이 나타낸다. 예시에서 TV 광고예산은 $X_1$, 라디오 광고예산은 $X_2$, 신문 광고예산은 $X_3$로 표현할 수 있다. 그리고 판매량이 출력변수(=반응변수 = 종속변수)가 되며 $Y$로 표시한다. 매우 일반적으로 X와 Y에 대해 다음과 같이 작성할 수 있다.

$$ Y=f(X) + \epsilon$$

여기서 $f$는 우리가 알고 싶어하는 관계이고, $\epsilon$은 평균이 0인 random error를 의미한다.

 

2. 주요 개념

(1) $f$의 추정 : 모수적 방법과 비모수적 방법

우리는 훈련 데이터에 통계학습을 적용하여 알려지지 않은 함수인 $f$를 추정하고 싶다. 수식적으로 다시 표현하면 모든 관찰 (X, Y)에 대해 $ Y\approx \hat{f}(X)$ 가 되도록 하는 함수$\hat{f}$를 찾는 것이 목표이다. 여기에는 두 가지 접근방식이 있다.

 

먼저 모수적 방법(parametric method)이다. 모수적 방법은 ① $f$의 형태에 대한 가정 ② 가정한 함수 형태에 대한 모수의 추정이라는 두 단계로 이루어진다. 즉, 모수적 방법은 함수를 추정하는 문제를 그보다 훨씬 단순한 문제인 매개변수 집합의 추정으로 축소시킨다. 다만 함수 형태에 대한 가정이 정확해야 의미가 있을 것이다.

 

다음으로 비모수적 방법(non-parametric method)이다. 모수적 방법과 달리 $f$의 함수 형태에 대한 명시적 가정없이 가능한한 데이터 포인트에 가깝게 $f$를 추정하려는 방법이다. 가정이 없기 때문에 모수적 방법에서 처럼 가정 자체가 실제 함수에서 많이 벗어나는 위험은 없으나, 정확한 추정을 위해서는 매우 많은 수의 관찰이 필요하다는 단점이 있다.

 

(2) 지도학습과 비지도학습

통계 학습 문제는 대부분 지도학습(supervised learning)이나 비지도 학습 (unsupervised learning)중 하나에 속한다. 이 두 접근 방식은 입력 데이터와 출력 데이터의 관계를 학습하는 방식에서 차이가 있다.

 

지도학습은 입력데이터와 그에 대응하는 레이블(정답 데이터)가 모두 주어진 경우에 활용된다. 이 경우 알고리즘은 입력 데이터와 레이블 사이의 패턴을 학습하고 이를 통해 새로운 입력 데이터에 대한 예측을 수행하게 된다. 대표적인 지도학습 알고리즘으로 이후 챕터에서 공부하게 될 선형 회귀, 로지스틱 회귀, GAM, 부스팅, SVM 등이 있다.

 

비지도학습에서는 지도학습과 달리 예측할 반응 변수가 존재하지 않는다. 즉, 입력데이터만 주어지고 레이블이 없는 경우에 해당한다. 비지도학습 알고리즘은 입력 데이터 내부의 패턴, 구조, 관계 등을 찾아내는 것을 목표로 하는데, 대표적인 비지도 학습 알고리즘으로 클러스터링이 있다.

 

문제해결시 지도학습과 비지도학습을 적절히 호라용해야 한다. 다만 경우에 따라서는 지도학습 또는 비지도학습으로 명확히 구분되기 어려운 경우가 있다. 예를들어 여러 관찰 중 일부에는 예측 변수와 반응 변수 측정값이 존재하지만, 나머지에는 예측 변수 측정값만 존재하는 경우가 있을 수 있다. 이 경우 두 접근 방식을 결합한 반지도학습(semi-supervised learning)을 활용할 수 있다. (다만 반지도학습은 본 책의 범위를 벗어난다고 함)

 

(3) 회귀와 분류

변수는 수치값을 갖는 정량적(quantitative) 변수와 서로 다른 클래스를 갖는 정성적(qualitative)변수로 구분할 수 있다. 예를 들어 나이, 키, 소득 등은 정량적 변수에 해당하고 결혼 여부, 병 진단 등은 정성적 변수에 해당한다. 

 

회귀(regression)는 입력 변수와 출력 변수간의 관계를 모델링하여 예측하는 문제인데, 일반적으로 출력 변수가 정량적 변수인 경우에 활용된다. 분류(classification)는 입력 변수를 바탕으로 출력 변수의 카테고리를 구분하는 문제로, 일반적으로 출력 변수가 정성적 변수인 경우에 활용된다. '일반적으로'라는 말을 굳이 붙힌 이유는 정량적 또는 정성젹 변수에 따른 구분이 항상 명확하지는 않기 때문이다. 

 

3. 모델의 평가

머신러닝에서는 '공짜 점심은 없다'는 이론(No Free Lunch Theorem)이 있다고 한다. 모든 데이터 셋에서 다른 모든 방법보다 우월한 머신러닝 알고리즘은 없다는 것이다. 결국 주어진 데이터 셋에 대해 어떤 방법이 가장 적절한지 결정하는 것이 중요해진다. 이를 위해 모델의 성능을 정확히 캐치할 수 있는 모델 평가 방법을 알아야 할 것이다.

 

모델의 성능을 평가하려면 데이터셋에서 예측이 실제 관찰 데이터와 얼마나 가까운지를 평가해야 한다. 회귀문제에서 가장 일반적으로 사용되는 것은 평균 제곱 오차(MSE, Mean Square Error)이다. 

$$ MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{f}(x_i))^2 $$

 

다만 모델의 평가에서 training 데이터셋을 사용하여 계산하는 training MSE는 아무리 그 예측값이 실제 관측값과 가깝더라도 큰 의미가 없다. 의미가 있는 것은, 통계 학습에 사용되지 않은 test 데이터셋에 대한 MSE이다. 물론 training MSE는 test MSE와 밀접한 관련이 있기는 하지만, 가장 작은 training MSE가 가장 작은 test MSE를 보장해주지 않는다. 오히려 training MSE를 줄이다보면 아래 그림처럼 어느 순간 부터는 test MSE가 다시 증가하는 모습을 볼 수 있다.

이는 모델이 학습 데이터에 과도하게 맞춰져서 새로운 데이터에 대한 일반화 성능이 낮아지는 오버피팅(over-fitting) 현상이다. 모델이 학습 데이터에 맞춰질 수록 모델의 flexibility가 높아지게 된다. 위 그림의 좌측 초록선의 모양에서 학습 데이터에 지나치게 맞춰진 모습을 확인할 수 있다. 

 

단순하게 생각하면 훈련 데이터에 잘 맞는 모델일수록 좋은 성능을 보여주어야 할 것 같은데, 왜 위와 같은 현상이 발생하는 걸까? 이를 이해하려면 Bias-Variance trade-off에 대해 알아야 한다. Bias(편향, 예측값 평균과 실제값간의 차이)은 불완전한 가정으로부터 발생하게 되는 에러이다. Bias가 높다는 것은 모델이 데이터의 복잡한 패턴을 적절히 학습하지 못하여 데이터를 잘 설명하지 못한다는 의미가 된다. Variance(분산, 개별 데이터와 예측값 평균 차이의 제곱)은 모델이 학습 데이터의 변동에 얼마나 민감하게 반응하는지를 나타낸다. Variance가 높다는 것은 모델이 데이터에 찰싹 달라붙어 있다고 생각하면 된다. 의미를 고려하면 모델의 flexibility가 증가할 수록 bias는 줄어들고 variance는 증가하게 됨을 알 수 있다. 즉 양자는 trade-off의 관계에 있게 된다.

 

MSE와 bias, variance의 관계와 관련하여 아래의 수식을 유도할 수 있다.

 

MSE를 줄이기 위해서는 결국 bias와 variance를 모두 감소시켜야 한다. 그러나 bias와 variance는 trade-off관계에 있기 때문에, 모델을 선정할 때에는 적절한 flexibility를 갖도록 선정해야 한다.