기계학습(ML)/ISL

[ISL] Statistical Learning ( 통계적 학습 )

Song 컴퓨터공학 2023. 6. 23. 12:37

 Statistical Learning 이란?

 

Statistical Learning (통계적 학습) 이란 데이터를 이해하는 폭넓은 방법을 지칭하며 크게 2가지로 분류할 수 있습니다.

 

  • 지도 학습 ( Supervised )
    • 입력(input)에 대한 출력(output)을 통계적 모델을 통해 추정하고 예측하는 것이 목표
    • X, Y가 함께 주어지며 모델을 만들어 Prediction, inference에 활용 가능
    • 대표적인 method : 선형회귀, 로지스틱 회귀, GAM, SVM(Support Vector Machines), Boosting 

 

  • 비지도학습 ( Unsupervised )
    • 입력 데이터 간의 관계나 구조를 찾아내는 것이 목표
    • X만 주어진다.
    • 대표적인 method : Clustering

 

이 외에도 semi-supervised learning 이라고 불리는 일부 데이터는 Y가 있고 일부 데이터는 Y가 없는 경우가 있지만 ISR에서는 이를 다루지 않습니다. 

 

변수의 형태에 따라 학습의 종류가 달라질 수 있는데 일반적으로 Qualitative 변수는 classification, logistic regression 으로 분석합니다. 하지만 Boosting 이나 KNN 같은 경우는 변수의 종류에 관계가 없기도 하고 Qualitative 변수를 적절히 변환하여 사용할 수 있어 변수의 형태가 크게 문제가 되지 않는다는 특성을 가지고 있습니다.


위 내용이 무슨 소리인지 모르겠다면 당연한 겁니다. 전체적으로 무엇을 배우는지 큰 틀을 소개한 것이라 그렇습니다.

 

그래서 책에서는 좋은 예시를 들어서 이를 설명하고 있습니다. 지도학습을 예시로 Statistical Learning이 뭔지 알아봅시다.

 

 

예를 들어 우리가 TV, 라디오, 신문 광고를 통해 팔고자 하는 상품을 홍보하는 상황입니다. 이 때 어떤 매체를 통해 홍보했을 때 판매량을 우리가 알고 있는데 이로부터 각 매체의 판매 영향력을 모델링하고 싶습니다. 이런 상황에서 우리는 입력 TV($X_1$), 라디오($X_2$), 신문 광고($X_3$) 을 알고 물건 판매량($Y$)을 알고 있다면 이 관계성을 수식으로 표현할 수 있습니다.

 

$$ Y = f(X) + ε \quad \quad : \quad \quad where X = (X_1, X_2, X_3)$$

 

이 때 $X_i$ 는 feature or input or predictor, $Y$는 response of target, ε 은 measurement errors, random error term 라고 표현합니다. ε는 feature $X$와 독립(independent, 아무 관계가 없어야 한다) 평균이 0이어야 합니다.

위의 식의 $f()$ 함수는 $X$가 제공하는 정보를 $Y$로 표현하고 있습니다. 빨간 입력 X에 대해서 Y가 파란 곡선으로 나왔다면 실제 점과의 차이가 바로 $ε$이 되는 것이죠. 즉 Statistical learning 은 결국 f를 추론하는 것이 최종 목표입니다. 

 

그러나 $f()$는 이론적인 가상의 함수로 완벽하게 알아낼 수 없는 경우가 대부분 입니다.

 

먼저 이론적으로 $f()$를 알아봅시다.

 

실제 관찰되는 데이터의 쌍 (X, Y)를 보면 모든 X가 서로 다르면 좋지만 동일한 X에 대해서 다른 Y를 가지는 경우도 있습니다. 이런 모든 경우를 고려했을 때 표현하기 가장 좋은 선택지는 conditional expectation 을 이용하는 것입니다.

 

  • Univariate form : $f(x) = E(Y|X=x)$
  • Multivariate form : $f(x) = f(x_1, \cdots , x_n) = E(Y|X_1=x_1, \cdots , X_n = x_n)$

 

우리가 찾고 싶은 가상의 ideal 한 함수 f(x) 는 모든 $X=x$에 대하여 아래의 식을 최소화 하는 $g(x)$가 됩니다.

 

$$ \text{Mean-squared prediction error : } E((Y-g(X))^2 | X = x)$$

 

 

위 식은 최소제곱법을 조건부 확률의 형태로 표현한 식입니다. 이러한 f(x)를 regression function 이라고 하며 자세한 내용은 추후 regression 파트에서 다루게 됩니다. 또한 하나의 X에 대해서 여러 개의 Y가 나올 수 있기 때문에 필연적으로 ε이 존재할 수 밖에 없습니다.

 

위에서는 이해를 위해 2차원으로 나타냈지만 이는 시각적으로 확인할 수 있는 3차원, 혹은 그 이상의 차원에 대해서도 나타낼 수 있습니다.

위 사진은 파란색 곡면으로 f(x)를 알고 있다고 가정하고 시각화한 그림입니다. 파란색 곡면은 mean-squared prediction error를 최소화 하는 함수의 그래프가 되고 검은색 선은 빨간 점으로 표현된 실제 데이터와 f(x)와의 거리로 ε을 의미합니다.

 

실제로 f(x)를 구하기는 아주 어렵습니다. 따라서 여러가지 방법을 통해 이를 근사화시켜 구하고는 하는데 가지고 있는 정보 X, Y를 바탕으로 두 변수 사이의 관계를 잘 나타내는 함수를 찾고 이 과정에서 사용되는 다양한 접근법들이 곧 앞으로 다루게 될 Statisical learning 입니다. 

 

 

이론적인 $f()$ 만큼은 아니지만 어느정도 유사한 함수를 지칭할 때 보통 hat을 사용해 표현합니다.

 

$$ \hat{Y} = \hat{f}(X) $$

 

햇으로 나타낸 것은 추정치 라고도 불립니다. $\hat{Y}$는 $Y$에 대한 결과 예측을 나타냅니다. 이를 통해 식을 좀 정리해보면

위처럼 정리됩니다. 이 때 ε은 $X$와 독립, $\text{Var}(X) = E(X^2)-E(X)^2$ 을 이용해서 정리합니다.

 

Var(ε)은 Y값이 여러 개 존재하기 때문에 발생하는 없앨 수 없는 오차입니다. 이를 irreducible 한 error 라고 표현합니다. 줄일 수 없는 오차라는 것이죠. 따라서 목적은 $[f(X) - \hat{f}(X)]$ 로 표현되는 줄일수 있는 오차인 reducible 한 error 를 최대한 줄일 수 있도록 f를 추정해야 합니다.

 

Training data 라 하는 주어진 데이터를 바탕으로 적절한 $\hat{f}$ 을 추정해낼 수 있다면 (학습을 통해) 새로운 $X$가 주어졌을 때 합당한 $Y$를 예측(Prediction)할 수 있고 나아가 $X$의 각 요소들인 $X_i$ 중 어떤 요소들이 $Y$에 관련이 있는지, 어떤 관계를 가지고 있는지 등을 추론(Inference) 할 수 있습니다.

 

 

 

 Parametric Methods /  Non-Parametric Methods

 

$\hat{f}$을 추론하는 방법인 Statistical learning 은 크게 2개로 나눌 수 있습니다. $f(X)$를 먼저 functional form 으로 표현한 뒤 데이터를 사용한 학습을 통해 파라미터를 찾아내는 Parametric Methods$f(X)$에 대한 명시적인 가정을 하지 않고 실제 데이터에 최대한 가깝게 $f(X)$를 추정해 내는 Non-Parametric Methods 가 있습니다.

 

먼저 Parametric methods 는 f(X)를 함수 형태로 표현하고 데이터를 통한 학습을 통해 파라미터를 결정 짓는다고 했죠.

 

예시로 선형 관계로 $f(X)$를 표현해보면

 

$$ f(X) = \beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p $$

 

와 같은 1차 결합의 형태로 나타납니다. 이 때 우리가 구해야 하는 파라미터는 $\beta_i$ 가 됩니다. 모델을 데이터에 맞추는 작업을 fitting 이라고 하는데 이 때 사용되는 가장 흔한 방법은 차후 3장에서 배울 OLS(Ordinary Least Squares)이고 6장 이후에 더 다양한 방법에 대해 다루게 됩니다. 이런 방법들을 사용해 $\beta _i$를 추청하면 $Y$ 또한 추청해낼 수 있습니다.

 

$$ Y \approx \beta_0 + \beta_1 X_1 + \cdots + \beta_p X_p $$

 

linear model fit by least squares to the data

선형 모델로 추청한 $\hat{f}$ 는 위 사진처럼 평면으로 표현됩니다. 실제 데이터(빨간 점)와 평면 사이의 거리를 검은 선으로 표기했는데 이를 residual 이라고 하며 실제 Y값과 만든 모델로 얻어낸 값과의 차이를 의미합니다.

 

Parametric 모델은 실제 $f$ 와는 차이가 큰 편입니다. 어떤 실험을 해서 데이터를 얻어내도 선형 관계로 떨어지는 경우가 매우 적기 때문이죠. 그러나 간단한 경향성 같은 것을 설명하거나 모델을 만들거나 할 때 용이하기 때문에 선형 근사법은 많이 사용되는 방법입니다.

 

 

다음으로 $f(X)$에 대한 어떤 가정도 하지 않고 데이터에 가깝게 $f(X)$를 추정하는 Non-Parametric Methods 는 Parametric Model 에 비해 실제 $f$ 와 더 유사한 모델을 만들 수 있지만 더 많은 데이터를 필요로 합니다.

 

smooth thin-plate spline fie  to the data

 

데이터를 가지고 f 를 추정하는 방법은 앞으로 7장 에서 대표적인 방법인 thin-plane spline 을 배우게 되는데 그 방법을 사용해 fitting 한 모델입니다. 이 모델은 앞서 보았던 Parametric model 보다 실제 $f(X)$인 파란색 곡면에 더 가깝습니다.

 

이 말은 곧 다르게 말해 residual 이 작다고 표현할 수 있습니다. 여기서 더 실제 데이터에 가까운 곡면을 얻어내기 위해 level of smoothness 를 더 작게 만들면 residual 이 더 작아지게 되고 곡면은 실제 데이터와 아주 유사한 값을 가집니다.

오른쪽이 level of smoothness 를 더 작게 만들어 데이터에 더 가깝게 만든 예측 모델입니다. 그러면 오른쪽이 residual 이 작으니 더 좋은 성능을 가진 모델일까요? 결론적으로 아닙니다.

 

오른쪽 모델은 training data에 대한 설명은 왼쪽보다 훨씬 우세하지만 왼쪽에 비해 새로 들어오는 데이터에 대한 예측력이 낮습니다. 이런 현상을 과적합, overfitting 이라 하며 이를 막기 위해 파라미터의 개수를 일정 개수 미만으로 줄이거나 데이터 결측치 제거 등의 데이터 전처리 작업을 수행해줘야 합니다.

 

 

 

 The Trade-Off between Prediction Accuracy and Model Interpretability

 

지금까지의 내용을 살펴보면 $f$ 를 추정하는 방법들 사이에는 일종의 trade-off 가 존재합니다.

interpretability 한 방법은 flexivillity 가 떨어지고 (첫번째 선형모델)

flexibility 한 방법은 interpretability 가 떨어집니다. (두번째 thin-plane spline)

 

여기서 interpretability 란 해석력을 뜻하고, flexibility 란 유연성을 뜻합니다. 해석력이란 특정한 기능을 수행하고 있는 기능에 대해 상세하게 설명할 줄 아는 능력을 뜻하고 ML에서 앞으로 계속 보게 될 단어입니다. flexivillity 는 유연성으로 데이터에 얼마나 유연하게 적합하여 $f$를 추정하는가를 의미합니다.

 

 

상황에 따라 어떤 방법을 선택해야 할지를 골라서 사용하고 데이터를 정제해야만 합니다.

 

실제 $f$에 더 가까운 모델은 flexible 한 방법을 사용한 모델이지만 만약 연구자가 전체적인 inference 에 더 관심이 있는 경우에는 선형모델 같이 설명력이 더 좋은 방법을 활용하는 것이 변수들 간의 관계나 의미를 파악하고 해석하기 용이합니다.

 

 

흔히 딥러닝으로 학습된 모델의 내부 구조를 Black box 라고 표현합니다. 모델의 구조가 어떻게 생겼는지 알기 어렵기 때문이고 다른 학문에서도 보통 Black box 란 용어는 많이 사용하죠. 두 가지 방법 중에서도 flexible 한 방법들은 feature들이 response 와 어떤 영향을 주고받는지 더 파악하기 어렵다는 단점이 있습니다.

 

앞으로 이런 모델링 기법들에 대해 배우게 될텐데, 각 모델링 방법마다 어느 정도의 Interpretability 와 Flexibility 를 가지는지 아래와 같은 표로 정리합니다.

 

 

 Measuring the Quality of Fit

 

추정한 모델의 성능을 측정하는 방법도 중요합니다. 주어진 데이터 세트로부터 모델을 만들었을 때 이 모델이 얼마나 예측을 잘하는지, 얼마나 실제 관측 데이터와 일치하는지 정도를 정량화해서 모델의 성능을 측정합니다.

 

회귀 설정(regression setting) 에서 가장 일반적으로 사용되는 방법은 평균 제곱 오차, MSE(Mean Squared Error)입니다.

 

 

$$ MSE = \dfrac{1}{n} \sum _{i=1}^n (y_i - \hat{f}(x_i)^2 $$

 

 

위 계산을 해보면 MSE가 작으면 예측한 response와 실제 response 와 매우 근사할 것이고 반대로 이 값이 클 경우는 둘의 차이가 더 심해지게 될 겁니다. 그런데 우리가 Training data 에 대해서 위 계산을 수행한 성능으로는 가장 좋은 모델, 즉 MSE가 가장 작은 모델이 바로 overfitting 된 모델이 됩니다. overfitting 될 수록 실제 값과 모델값 사이의 차이인 residual 이 작기 때문이죠. 따라서 Training data 만을 가지고 계산한 MSE 만으로는 모델의 성능을 말하기 애매합니다. 

 

따라서 Training data 로 만든 모델은 Training data 로 계산한 MSE 가 아닌, 따로 Test data 를 넣고 그 Test data 에 대한 MSE를 계산합니다. 이를 각각 Train MSE, Test MSE 라고 합니다.

 

$$  \begin{align*} \text{Training MSE} = \dfrac{1}{n} \sum _{i \in Te}^n (y_i - \hat{f}(x_i)^2 \\  \text{Test MSE} = \dfrac{1}{m} \sum _{i \in Te}^m (y_i - \hat{f}(x_i)^2  \end{align*}$$

좌측 그래프에서 검은 선은 실제 $f$, 노란 선은 선형 모델, 파란 선과 초록 선은 thin-plane spline 모델을 이용한 것인데 초록색 선이 smoothness 가 더 작은, 데이터에 더 맞춰진 모델입니다. 즉 초록 선은 overfitting 된 모델인 것이죠.

 

우측 그래프에서 빨간 선은 Test MSE, 회색 선은 Training MSE, 점들은 각 모델 별 MSE가 됩니다. (색깔에 맞춰서)

 

지금 왼쪽 그래프를 보면 실제 $f$ 와 가장 근사한 모델은 파란색 곡선, thin-plane spline(smoothness 큰) 모델입니다. 우측에서 확인해보면 실제로 파란색이 가장 MSE가 낮은 것을 확인할 수 있습니다. 또한 오른쪽 그래프에서 빨간색 Test MSE 는 모두 회색 선(Training MSE) 보다 위에 있음을 확인할 수 있습니다. 당연히 training data 로 학습했으니 Test MSE 는 항상 Training MSE 보다는 크게 나타납니다. 2 가지 다른 예시를 보면서 어떤 경향성이 나타나는지 정리해봅시다.

 

왼쪽의 경우 이번에는 노란색 선형모델이 가장 MSE가 작은 것이 잘 보입니다. 오른쪽의 경우에는 선형 모델은 MSE가 너무 크고 파란색인 thin-plane spline 모델 중 smoothness 가 작은 모델이 가장 MSE가 작으므로 적합한 학습 모델입니다.

 

공통적으로 나타나는 특징이 몇가지 있는데 이를 정리해보면

  1. Test MSE 는 보통 U-shape
  2. Traing MSE 보다 Test MSE 가 더 크다
  3. Traing MSE 만 볼 경우 실제 $f$와 가까운 모델과 overfitting 모델의 MSE가 가장 낮다. (1보다 아래인걸 보면 됩니다.)
  4. Test MSE 만 볼 경우 실제 $f$와 가까운 모델의 MSE가 가장 낮고, overfitting 모델의 MSE가 가장 높은 경향성
  5. Flexibility 가 클수록 overfitting 가능성이 높지만 실제로 $f$가 구불구불한 경우 Test MSE가 낮게 나오는 경우가 있다. (맨 오른쪽 그래프를 참고하면 이해가 쉽다)

따라서 Training MSE 가 작다고 Test MSE 가 작은 것이 아니며 실제 $f$의 형태와 모델의 flexibility 에 영향을 받습니다.

 

실제 모델 학습 시 test data를 확보하기 어렵고 test data가 없으니 Test MSE 를 구하지 못하는 경우도 생깁니다. 이런 경우에는 5장에서 배울 cross-validation 과 같은 기법을 사용해 traing data로 Test MSE 를 추정하는 방법을 사용합니다.

 

 

 

 The Bias-Variance Trade-off

 

U자형으로 관측되는 Test MSE 곡선은 크게 2가지 특성으로 분류할 수 있습니다. 이 2개의 특성은 $\hat{f}$ 의 Bias 와 Variance 로, $f$의 Bias 와 Variance 는 다음과 같이 나타낼 수 있습니다. $\hat{f}$ 는 Traing data 에 따라 달라지는 확률변수라고 생각할 수 있습니다.

 

$$ \begin{align*} & Bias(\hat{f} (x) ) = E [ \hat{f} (x) ] - f(x) \\  & Var(\hat{f} (X) ) = E[(\hat{f} (X) - E[\hat{f} (X)]^2] \end{align*} $$

 

https://towardsdatascience.com/the-bias-variance-tradeoff-8818f41e39e9 

(수식 유도 및 파이썬 시각적 구현)

 

The Bias-Variance Tradeoff

In this post, we will explain the bias-variance tradeoff, a fundamental concept in Machine Learning, and show what it means in practice…

towardsdatascience.com

그리고 복잡한 수학적 유도를 통해 위 2개를 이용해 Test MSE 의 식을 구해낼 수 있습니다. 증명은 위 링크를 참조하세요.

 

 

$$ E(y_0 - \hat{f} (x_0))^2 = Var(\hat{f} (x_0)) + [Bias(\hat{f} (x_0))]^2 + Var{\epsilon } $$

 

 

위 식에 따라 Test MSE 를 최소화하기 위해서는 Bias 와 Var 가 작은 $\hat{f}$ 를 선택해야 합니다. 아무리 작게해도 위에서 말했던 irreducible한 error 를 뜻하는 Var(ε) 보다 작게 만들수는 없습니다.

 

하지만 위에도 써놨듯 Bias 와 Variance 에도 Trade-off 관계가 있습니다. 둘 중 하나가 작아지면 다른 하나가 커지는 관계이기 때문에 flexibility가 올라가면 bias 는 감소하지만 어느 순간 variance 는 증가하게 됩니다.

 

따라서 적당히 둘 다 작은 지점을 찾아야만 Test MSE 가 최소인 지점을 찾을 수 있습니다. 이런 관계를 Bias-variance trade-off 라고 하고, 위 그래프를 통해 확인할 수 있습니다.

 

 

 

 

 

 Bayes Optimal Classifier / K-nearest neighbors(KNN)

 

지금까지 내용은 전부 regression setting, quantitative variable 에 적용되는 regression 에 대한 사례만 보았습니다. 그렇다면 qualitative variable 에 또 자주 사용하는 classfication 의 경우에는 모델의 정확도를 어떻게 측정하는지 알아보겠습니다.

 

가장 흔한 접근 방법은 $\hat{f}$ 에 대한 error rate 를 찾는 겁니다.

 

response 가 Y인 qualitative 변수라 할 때 regression 에서 $f(X)$를 추정했던 것처럼 classifier $C(X)$ 를 추정해야 합니다.

 

이 때 $f(X)$의 성능을 계산하는 지표가 MSE 였듯 $C(X)$ 의 성능은 다음의 misclassification error rate 로 계산합니다.

 

$$ Err_{Test} = \dfrac{1}{m} \sum_{i \in Te}^m I[y_i ≠ C(x_i)] $$

 

여기에서 함수 $I$ 는 classifier 로 예측한 $C(X)$가 실제 $Y$랑 같으면 0이 되고 아니면 1이 되는 함수입니다. 따라서 분류가 제대로 안될수록 1의 개수가 많아지고 따라서 Error rate 가 크게 나오게 됩니다.

 

 

Error rate 를 가장 작게 만들 수 있는 방법은 마치 regression 에서 실제 $f$와 같은 역할을 하는 것을 찾는 작업입니다. 이에 대한 해답으로 고등학교 확통 시간에 들어봤을 법한 수학자인 베이즈가 만든 정리를 사용합니다. 조건부 확률을 만드신 분이죠.

 

아무튼 Error rate 를 가장 작게 만들 수 있는 방법은 $Y$가 J개의 클래스로 구성되어 있을 때 어떤 $X$가 각각 $Y_1, \cdots , Y_J$ 로 분류될 확률을 알 수 있다면 가장 확률이 높은 $Y_j$ 부터 분류하는 것이 합당할 겁니다.

 

이 정리를 Bayes Optimal Classifier 라고 하며 이 때의 가장 낮은 error rateBayes error rate 라고 합니다.

 

$$ \begin{align*}  & C_{Bayes}(x) = Pr(Y=j\ | \ X=x) \\ &  \text{Bates error rate : } 1 - E(\text{max}_j Pr(Y|=j|X)) \end{align*} $$

 

만약 모든 $X$에 대해 100% 분류가 된다면 Bayes error rate = 0 이 되지만 $X$ 값이 비슷한데 다른 범주로 분류되는, 명확하게 분류가 안되는 경우가 있기 때문에 0보다 크게 나옵니다. 실제로는 $P(Y|X)$ 또한 알 수 없기 때문에 Bayes optimal classifier 를 만드는 것은 불가능하지만 가상의? 이론적인 기준이 되는 boundary 를 세울 수는 있습니다. 이는 regression 에서 실제 $f$를 파란색 곡면으로 시각화 한 것과 비슷한 아이디어죠.

위 그래프는 어떤 데이터를 파란색 데이터와 오렌지색 데이터로 분류한 것을 시각화한 그림입니다. $P(Y = blue | X = x) > 0.5 $ 인 x는 blue 로 분류되고 반대의 경우는 orange 로 분류됩니다. 이 때 보라색 점선은 확률이 0.5 인 지점을 의미하고 이 경계선을 Bayes decision boundary 라고 합니다.

 

하지만 점선을 넘어서도 orange 영역에 blue 가 있고, blue 영역에도 orange 가 있는 모습을 볼 수 있는데 이것이 바로 Bayes error rate 가 0이 아닌 이유입니다. 

 


regression 에서 실제 $f$의 추정치인 $\hat{f}$ 를 찾은 것처럼 가상의 optimal classifier 의 추정치인 $\hat{C}$ 를 찾는 것이 다음 목표가 됩니다. 그 중 한가지 방법이 바로 KNN(K-nearest neighbors) method 입니다. 이 방법은 어떤 데이터 주변에 K개의 데이터를 관찰한 후 다수결의 원칙에 따라 해당 데이터를 분류하는 방법 입니다.

 

$$ P(Y=j | X=x_0) = \dfrac{1}{K} \sum_{i \in N_0} I (y_i = j) $$

 

$N_0$ 는 $x_0$에 가까운 K개의 데이터 집합을 의미합니다. 위 수식이 KNN을 수학적으로 표현한 수식입니다.

 

K = 3 일때 KNN 을 사용한 방식입니다. x 지점 주위의 3개의 데이터를 관찰하고 지금 파란색이 2개, 주황색이 하나이므로 x는 blue class 로 분류되는 방식입니다.

 

이것을 조금 더 확률적으로 생각하기 위해 간단한 예로 class 가 red, blue, orange 3개가 있다고 하고 $x_0$ 주변의 데이터가 red 가 3개, blue 가 2개, orange 가 1개 있다고 할 때

 

 

$P(Y = red | X = x_0) = \dfrac{3}{6}$

$P(Y = blue | X = x_0) = \dfrac{2}{6}$

$P(Y = orange | X = x_0) = \dfrac{1}{6}$

 

가 되기 때문에 가장 확률이 높은 red 로 분류되는 방식입니다.

이 때 K를 몇으로 설정하는지에 따라 결정되는 모양이 달라집니다.

검은 색으로 표시된 분류 기준을 보시면 됩니다. K가 작을수록 Overfitting 된 모습을 확인할 수 있습니다. 그렇다고 너무 큰 K를 써버리면 정확도가 상대적으로 조금 떨어지겠죠? 따라서 적당한 K값을 선정해 주어 decision boundary 에 가깝도록 K를 정해야 합니다.

 

 

K에 따른 Traing error 와 Test error 도 조금 생각해봅시다. K=1 인 경우 Trainging error rate 은 0이 될겁니다. 모든 데이터를 모조리 분류해버리기 때문이죠. 그러나 Test error rate 는 상대적으로 매우 높게 나타날 겁니다. 그렇다고 K를 무작정 늘리는 것이 좋은 Test error rate를 얻는 방법인가? 하면 이건 위에서도 봤듯 아니라는 것을 예상할 수 있죠.

 

이번에도 마찬가지로 Test Error rate 는 U자형으로 나타나게 되고 Training error rate 가 낮다고 Test error rate 가 낮다는 보장이 없습니다. 이 때 가로축이 1/K가 되는데 이는 K가 flexibility 와 반비례하기 때문에 위처럼 나타낸 겁니다. 따라서 결론적으로 좋은 모델을 위해서는 적당한 K를 선택해야 합니다.

 

 

 

참고문헌 : https://www.statlearning.com/

'기계학습(ML) > ISL' 카테고리의 다른 글

[ISL] Linear Regression (선형 회귀)  (0) 2023.07.03
[ISL] Introduction to Statistical Learning  (0) 2023.06.19