본문 바로가기
Statistics/ISLP

2. Statistical Learning | 2.1 What is Statistical Learning?

by dataart 2023. 9. 25.

What is Statistical Learning?

Statistical Learning 파트는 통계 학습으로부터 미지의 함수 \(f\) 추정과 평가 도구 대한 중심 개념을 간략하게 다룬다.

 

  • Why Estimate \(f\)?
  • How Do We Estimate \(f\)?
  • The Trade-Off Between Prediction Accuracy and Model Interpretability
  • Supervised Versus Unsupervised Learning
  • Regression Versus Classification Problems

Statistical Learning은, 주어진 변수 \(X\)와 \(Y\) 에 대해 systematic 한 정보를 표현하는 함수 \(f\)를 추정하는 것이다.

즉, 변수 간의 관계로부터 패턴을 찾는 것이라고 할 수 있다.

<그림 2.2>

 

위 그림에서,  \(X\)는 'Year of Education',   \(Y\)는 'Income'이다.

Statistical Learning은, 그림 2.2의 왼쪽 그림으로부터 함수 \(f\)를 추정한 뒤,

오른쪽 그림처럼 일반화된 패턴과 오차로 표현하는 것을 목적으로 한다.


why estimate \(f\)?

 

그렇다면 왜 함수 \(f\)를 추정해야할까?

그 이유는  예측(Predicton)과 추론(Inference) 때문이다.


1. Prediction

예측이란, 주어진 \(X\)를 이용해서  \(Y\)를 예상하는 것이다.

현실에서 \(X\)는 관측하기 쉽지만, 그에 대응되면 \(Y\)는 관측하기 어려운 경우가 많다.

이럴 경우, 우리는 주어진 \(X\)와  \(Y\)로부터 함수 \(f\)를 추정해 패턴을 일반화하고, 그 함수를 이용해 Y를 예측할 수 있다.

 

Statistical Learning에 따라, 일반적으로 반응변수인 \(Y\)와 설명변수인 \(X\)의 관계는 아래의 식으로 표현된다.

다만, 이 때 \(f\)와 \(\epsilon\)은 우리가 알 수 없으며, \(f\)만 추정 가능하다.

 

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

 

그리고 \(Y\)와 \(X\)로부터 추정한 \(f\)는 \(hat{f}\) 로 표현하며, 이 함수를 적용해 예측하는 \(Y\)는 \(\hat{Y}\)로 표현한다.

정리하면, \(Y\)의 예측값은 아래의 식으로 표현한다.

 

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

 

 

예측한 \(\hat{Y} \)의 accuracy는 \(X\)와 \(\epsilon\)에 영향을 받는다.

그런데, 우리가 \(\hat{Y} \)을 추정할 때에는 \(X\)만 사용하며, \(\epsilon\)은 통제할 수 없다.

따라서, 우리가 아무리 \(f\)를 잘 추정하더라도 실제 값인 \(Y\)와 \(\hat{Y}\) 사이에는 오차가 존재할 수밖에 없다.

 

그럼  \(\epsilon\) \((epsilon)\)은 뭘까?

이 교재에서  \(\epsilon\)을 아래와 같이 설명한다.

 

예측에 유용할 수 있으나, 측정하지 못한 요인들

  • 환자에게 신약 효과를 테스트하는 것을 가정해보자.
    신체적 조건 중 정량화된 모든 수치가 동일한 두 환자가
    동일한 성분, 동일한 용량의 약을 복용했을 때, 그 효과는 다르게 나타날 수 있다.
    약 복용 시점의 각 환자의 기분이나 몸 컨디션 등이 영향을 미치기 때문인데, 이것을 \(X\)로 측정하기 어렵다.

예측값에 대한 분산 식을 확인해보자.

\begin{matrix} \mathrm{E}[(Y - \hat{Y})^2] &=& \mathrm{E}[(f(X) + \varepsilon - f(X))^2] \\ &=& [f(X) - f(X)]^2 + \text{Var}(\varepsilon) \end{matrix}

위 식에서 \([f(X) - \hat{f}(X)]^2\) 부분을 Reducible Error,

\(\text{Var}(\epsilon)\) 부분을 Irreducible Error 라고 한다.

 

이 교재에서는 적절한 Statistical Learning 테크닉을 사용해 조금 더 정확한 \(\hat{f}(X)\)를 추정함으로써,

\([f(X) - \hat{f}(X)]^2\) 부분을 줄여 전체 예측값의 분산을 줄일 것이다.


2. Inference

추론(Inference)은 예측(Predict)와 비슷하면서도 반대되는 개념이다.

예측은 함수 \(f\)의 형태에 관심이 없으며, 목적이 정확한 \(Y\) 예측이다.

반면에, 추론은 함수 \(f\)의 형태에 관심을 갖는다.

 

다시 말하면,

예측이 목적일 경우의 관심사는 '어떻게, 얼마나 잘 예측하는가?' 인 반면,

추론이 목적일 경우의 관심사는 아래의 질문들이다.

 

  • '어떤 요인 \(X\)가 반응 변수 \(Y\)와 연관되어 있을까?
    • 주어진 데이터에 수 많은 \(X\)가 있을 때, 실질적으로 \(Y\)와 연관된 것은 극소수 일 수 있다.
  • '연관되어 있는 변수 \(X\)와 \(Y\)의 관계는 무엇일까?'
    • 반응변수와 설명변수 간의 증감 방향이 같을수도, 정반대일 수도 있다.
    • 각 요인은 \(Y\)와 연관되는 정도가 다를 수 있다.
  • '반응 변수 \(Y\)와 각 요인을 선형 방정식으로 설명할 수 있을까? 혹은 더 복잡할까?'
    • 선형 방정식으로 요약이 가능하다면 그만큼 해석과 설명이 쉽지만, 그렇지 않다면 정확도가 떨어질 수 있다.
    • 비선형 방정식으로 요약이 가능하다면 정확도는 높지만, 해석과 설명력은 떨어질 수 있다.

다시 정리하면, 함수 \(f\)를 추정하고자 하는 이유는 predict와 inference인데,

각 파트에서 focus를 맞추는 부분이 다르다.

실제 데이터 \(Y\)는 우리는 알 수 없는 방정식으로 아래와 같이 구성되어 있을 때,

 

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

\begin{matrix} f(X) = \boldsymbol{\beta}_1 \cdot X_1 + \boldsymbol{\beta}_2 \cdot X_2 + \cdots + \boldsymbol{\beta}_p \cdot X_p \end{matrix}

주어진 \(X\)로부터 \(\hat{f}\)을 추정함으로써 \(\hat{Y}\)에 대한 모델링은 아래와 같다.

\begin{matrix} \hat{Y} = \hat{\boldsymbol{\beta}_1} X_1 + \hat{\boldsymbol{\beta}_2} X_2 + \cdots + \hat{\boldsymbol{\beta}_p} X_p \end{matrix}

 

그럼 이 방정식에서 Predict는 \(\hat{Y}\)에 focus를 두는 반면,

Inference는 \(\hat{\boldsymbol{\beta}} \) 에 focus를 두는 것이라고 할 수 있다.


How Do We Estimate \(f\)?

이 교재 전반적으로 statistical learning method를 parametric 타입과 non-parametric 타입으로 특성지어 설명한다.

parametric과 non-parametric이 무엇인지 먼저 알아두면 좋을 것 같다.

 

https://process-mining.tistory.com/131

 

Parametric model과 Non-parametric model

머신러닝(혹은 통계학)을 공부하다 보면, parametric/non-parametric model이나 parametric/non-parametric test와 같은 단어를 자주 접할 수 있다. 이번 포스팅에서는 parametric model과 non-parametric model의 뜻과 함께

process-mining.tistory.com

(참고할만 한 좋은 글을 써주신 글쓴이님께 감사합니다)

 

참고 링크를 요약하면,

  • parametric은 학습으로 추정하는 파라미터(\(\hat{\boldsymbol{\beta}} \))의 갯수가 정해져있다.
    • 즉, 추정하고자 하는 함수 \(\hat{f}(X)\)의 형태를 가정한다.
  • 반면, non-parametric은 추정하는 파라미터의 갯수가 정해져있지 않다.
    • 즉, 추정하고자 하는 함수 \(\hat{f}(X)\)의 형태를 가정하지 않는다.

1. Parametric Methods

Parametric 타입은 2-step model-based 접근을 사용한다.

 

  • 함수 \(f\)에 대한 형태를 가정한다.
    • 함수 형태를 가정할 경우, 무수히 많은 \(p-dimensional\) 보다 압축된 \(p + 1\)개의 파라미터만 추정하면 된다.
  • 가정된 형태의 \(f\)로 model을 training 한다.
    • linear model의 경우 가장 널리 알려진 건 leat square 방법이지만, 이 교재에서는 여러 추정방법을 다룬다.

Parametric Method는 추정할 파라미터 갯수를 줄여 추정이 편리하고 쉬워지지만,

데이터의 실제 모델 형태는 우리가 가정한 모델 형태와 다른 경우가 많다.

이를 해결하기 위해 더 복잡한 모델을 사용할 수도 있지만, 그럴 경우 overfitting 문제가 있으며, 이 교재 전반적으로 언급한다.


2. Non-Parametric Methods

Non-Parametric Methods는 함수의 형태를 가정하지 않고 파라미터를 추정함으로써 Parametric에서 발생하는 문제를 피할 수 있다.

하지만, 이 방법으로 정확도 높은 학습을 위해서는 매우 큰 사이즈의 데이터가 필요하고, 추정 파라미터 갯수가 많아 시간이 오래 걸린다.


위 내용을 종합해보면,

함수 \(f\)를 추정하는 접근법에는 크게 Parametric과 Non-Parametric 접근법이 있는데,

Parametric Method는 resrictive해 예측력은 떨어지지만 추정할 파라미터의 갯수가 적어 해석이 쉬워진다.

반면에, Non-Parametric Method는 flexible해 예측력은 상승하지만 추정해야 할 파라미터가 많아 해석이 어렵다.


The Trade-Off Between Prediction Accuracy and Model Interpretability

Parametric과 Non-Parametric에 대한 설명과 연결해서, 모델 해석력과 예측 정확도의 트레이드오프에 대해 언급한다.

 

예측정확도가 높은 Non-Parametric 대신에, restictive 한 Parametric 추정을 하는 이유가 뭘까?

우리의 focus가 Predict가 아니라 Inference에 있다면, Parametric이 해석에 훨씬 용이하기 때문이다.

 

Least Square는 Parametric으로 파라미터를 추정하는 가장 전통적이고 일반적인 방법론이다.

Generalized Additive Models는 Least Square에서 확인이 어려운 non-linear 관계를 파악하기 위해 조금 더 flexible한 모델이다.

Lassos는 Least Square보다도 더 restictive 하게 추정함으로써, 많은 파라미터를 0으로 만든다. 이 경우 해석이 가장 쉽다.

 

이런 모델에 대한 딥한 내용은 이후 챕터에서 차근차근 알아가보자...


Supervised VS Unsupervised Learning

지금까지 이 챕터에서 다뤘던 것들은 모두 \(y_i\)와 \(x_i\)의 관계에 대한 것들인데, 이런 걸 supervised learning 이라고 한다.

하지만, statistical learning 문제는  supervised 또는 unsupervised learning으로 나눌 수 있다.

 

\(y_i\)와 관계를 짓지 않는 \(x_i\) 벡터에 대해서는, \(y_i\)라는 정답지를 주고 fit을 할 수가 없다.

따라서 \(y_i\)가 없이 오직 \(x_i\)만 존재할 때, 우리는 unsupervised learning을 이용할 수 있다.

 

unsupervised learning에서는 \(y_i\)와  \(x_i\)의 관계가 아니라,  \(x_i\) 간의 관계를 이해하며,

이 때 사용하는 일반적인 방법이 cluster analysis 또는 clustering이다.

예를 들면 시장의 잠재적 고객에 대해서 여러 정보는 갖고 있지만 소비 패턴을 알 수 없을 때,

우리는 \(x_i\)만 갖고 있는 것이며, 이 때 여러 정보를 이용해 크게 지출하는 사람과 적게 지출하는 사람으로 분류할 수 있을 것이다.

 

어떤 문제에서는 하나의 데이터셋에 \(n\)개의 \(x_i\)가 있을 때, 그 중 \(m\)개는 \(y_i\)가 존재하지만

\(n-m\)개는 \(y_i\)가 존재하지 않을 수 있다.

이럴 땐 semi-supervised learning을 사용하는데, 이 교재에서는 다루지 않는다.


Regression VS Classification Problems

우리는 보통 수치형(quantitative) 데이터에 Regression을, 범주형(qualitative, categorical)데이터에 Classification을

적용하지만, 데이터의 타입에 따라 사용할 수 있는 statistical method가 극명하게 갈리는 것은 아니다.

Logistic Regression은 classification으로써 적용하고, KNN이나 부스팅 기법은 어떤 데이터 타입이든 사용 가능하기때문이다.

대부분의 statistical method에서는 \(X\)에 관한 변수를 인코딩하기 때문에, \(X\)의 타입을 주요 고려사항으로 다루진 않는다.

 

앞으로 나올 챕터들에서, 이런 내용들을 조금 더 딥하게 배워봐야겠다..

반응형

'Statistics > ISLP' 카테고리의 다른 글

2. Statistical Learning | 2.2 Assesing Model Accuracy  (1) 2023.10.18
1. Introduction  (0) 2023.09.14
0. Introduction to Statistical Learning With Python  (0) 2023.09.13