728x90

An Introduction to Statistical Learning with Application in R

 

2.1 통계적 학습이란 무엇일까요?

 

 지금부터 통계적 학습에 대해 배워볼건데, 우리가 상품의 판매량을 늘릴수 있는 방향을 조언해주기 위해 고용된 통계 컨설턴트라고 해봅시다. 그리고 아래의 그림과 같은 광고와 판매량을 보여주는 데이터 셋이 있다고 해 봅시다. 이 데이터는 3개의 미디어 tv, 라디오, 신문 매체 별 광고 예산에 따라 200곳의 마켓에서 상품의 판매량이 어떻게 되는지를 보여줍니다.

 

그림 2.1 광고 판매량 데이터셋. 이 그래프에서는 TV, 라디오, 신문 광고 예산을 썻을때 판매량을 보여주고 있습니다. 각 그래프에서 보여주고 있는 직선은 판매량을 이용하여 최소 제곱법으로 적합시켜 구한 것인데요. 이 내용은 3장에서 다뤄보겠으나 파란 직선들은 각 매채 광고비를 입력으로 주었을때, 판매량을 예측하는 간단한 모델이라 할수 있습니다.

 

 고용주가 직접적으로, 원하는데로 상품 판매량을 바로 늘리기는 힘들겠지만, 각 매체별 광고 지출은 조절할수 있겠죠. 아무튼 상품 판매량을 늘릴 수 있도록 우리가 광고비용과 판매량의 관계를 잘 분석해서 고용주에게 광고 예산을 늘리거나 줄이도록 얘기하면 될거에요. 하지만 우리가 원하는 실제 목표는 이런 매체 별 광고 예산에 따라 판매량을 예측할 수 있는 정확한 모델을 구하는 것이겠습니다.

 

 이를 정리하기 위해서, 여기서 광고 예산을 입력 변수 input variables, 상품 판매량 output variable이라 하겠습니다. 그리고 입력 변수는 X로 표기할 건데, 여러 입력들이 있으니 구분할수 있도록 아래첨자를 사용하겠습니다. $X_{1}$은 TV 광고비, $X_{2}$는 라디오 광고비, $X_{3}$은 신문 광고비라고 합시다. 그리고 입력 변수를 또 따른 이름으로 부를수도 있는데요. 예측 변수 predictors, 독립변수 independent variable, 특징 features 등 이런 이름으로도 부를수 있습니다.

 

 출력변수 output variable의 경우 이 예시에서는 판매량이라고 할수 있겠죠. 아무튼 출력 변수는 반응 변수 response variable 혹은 독립 변수 dependent variable 이라고 부를수 있겠습니다. 그리고 이를 Y로 표기할게요. 앞으로 볼 내용들에 이런 변수 혹은 항들을 계속 사용하게 되게습니다.

 

 조금 더 일반화를 시키자면 양적/반응 변수인 Y와 p개의 독립 변수 $X_{1}, X_{2}, . . ., X_{p}$를 관측했다고 했을때, X($X_{1}, X_{2}, . . ., X_{p}$)와 Y 사이의 관계는 아래와 같은 일반화 된 형태로 정리할 수 있습니다.

 

 

여기서 f는 아직은 알수 없지만 $X_{1}, X_{2}, . . ., X_{p}$를 입력으로 받는 함수이며, $\epsilon$는 임의의 오차를 의미하는 오차항 error term이라고 부릅니다. 이 오차 항은 X에 독립(X의 값에 영향을 받지 않음)이며, 평균이 0입니다. 이 수식에서 f는 X가 주어졌을때 Y를 어떻게 구하는지에 대한 정보이자 함수라고 할수 있겠습니다.

 

그림 2.2 학업 기간과 소득의 관계에 대한 데이터셋으로. 빨간 점은 관측/측정 된 소득(수만 달러정도의)과 학업 기간을 보여주고 있으며 30개가 있습니다. 우측 그림 : 파란색 곡선은 소득과 학업 기간의 관계를 보여주고 있습니다. 이 관계(파란색 선 모델)는 원래는 알수없지만 주어진 데이터로 추정해낼 수 있겠습니다. 그리고 검은 선들은 관측된 데이터와 추정 모델 사이 오차를 나타내고 있어요. 어떤 오차는 양의 값을 가지기도 하고(모델의 위에 빨간 점이 있는 경우), 어떤 오차는 음의 값을 가지기도 합니다(모델보다 아래에 있는 경우). 그리고 전반적으로 보면 모든 오차의 평균은 0에 가깝다고 할수 있겠습니다.

 

 다른 예시로 그림 2.2의 왼쪽 면을 한번 봅시다. 이 그래프는 학업 기간과 수입 사이의 관계를 나타내는 빨간 점으로 이루어져 있으며, 어떤 사람의 학업 기간 years of education에 대한 정보가 주어질때, 이 사람의 수입이 얼마나 될지 예측하는데 사용할 수 있겠습니다. 하지만 입력 변수와 출력 변수 사이 관계를 나타내는 함수 f는 일반적으로 알수 없다보니, 우리는 f를 알고싶지만 데이터만 있고 f는 모르는 경우 관측한 데이터(빨간점)을 이용하여 이 데이터를 가장 잘 나타내는 함수, 모델 f를 추정해 내어야 합니다. 다시 말하면 주어진 데이터로 실제 함수 f에 가까운 추정 함수/모델 estimate $\hat{f}$를 구하여야 하는 문제가 됩니다.

 

 하지만 여기 있는 수입 데이터들은 실제 함수 true function f로 부터 생성한 데이터인데, 이 함수를 그려보면 그림 2.2의 오른쪽에 있는 파란 선과 같은 형태가 되겠습니다. 이 말이 조금 햇갈리실수 있어서 첨언 하자면  y = $x^{2}$라는 식을 알고 있을때, 이 식으로부터 생성한 데이터라고 할수 있겠습니다.

 

 하지만 일반적인 경우 그림 2.2같은 실제 함수/모델 f는 모르고 이 모델로부터 구한, 측정한 데이터만 있다보니 이 데이터를 가장 잘 표현하는/오차가 가장 적은 식, 모델 f을 구하는 문제가 되겠습니다. 추가로 파란선 주위에 수직으로된 검은 선들이 있는데 이 선들은 오차항 $\epsilon$을 표현하고 있어요. 이 오차항들은 근사적으로 평균이 0이 됩니다.(모든 오차들을 더해서 평균 내면 0에 가깝다.)

 

 하지만 일반적인 경우 함수 혹은 모델 f에는 입력 변수가 하나(위에서는 학업 기간을 입력 변수로하여 수입에 대한 출력을 구함)만 사용되는게 아니라 여러 개가 사용됩니다. 아래의 그림 2.3은 보면 학업 기간 years of education과 연차 seniority에 따른 수입 income에 대한 함수를 그린 결과를 보여주고 있습니다. 아무튼 f는 주어진(혹은 관측한) 데이터로 추정해서 구하여야 합니다.

 

 통계적 학습은 여러 방법을 사용하여 모델 f를 추정해 내는것이라고 할 수 있겠습니다. 이번 장에서는 f를 추정하는데 사용되는 핵심 이론 개념들과 추정하는데 필요한 도구들을 살펴봅시다.

 

 

 

그림 2.3 수입 데이터셋의 학업 기간과 연차가 주어질 때 수입에 대한 함수/모델을 보여주고 있습니다. 파란 면은 수입과 연차, 학업 기간에 대한 실제 관계, 모델(참 함수 f(x)=y)를 나타내고 있으며, 빨간 점들은 관측된 데이터로 30개가 있습니다.

 

2.1.1 왜 f를 추정해야하나요?

 f를 추정해야하는 이유는 예측과 추론문제 2가지가 있겠습니다. 이제 이에 대해서 한번 살펴봅시다.

 

예측 Prediction

 

 입력 X들이 쉽게 얻을수 있는 상황들이 많이 있지만 출력 Y의 경우 쉽게 얻기는 어렵습니다. 오차가 평균적으로 0이 된다고 가정을 할때 우리는 Y를 아래의 식을 이용해서 예측 할수가 있어요.

 여기서 $\hat{f}$는 f를 추정해서 구한 함수를 말하며, $\hat{Y}$는 예측한 결과 입니다. $\hat{f}$는 블랙박스 black box라고 부르기도 하는데, 정확환 형태도 없고 예측한 결과가 정확하다고 확신할수 없기 때문입니다.

 

 

 한번 예를 들자면 $X_{1}$, $X_{2}$, . . ., $X_{p}$를 한 환자의 혈액 샘플의 특성, 특징이라고 하겠습니다. 이런 혈액에 대한 데이터는 쉽게 얻을수 있을 겁니다. Y는 특정 약에 대해 거부 반응이 일어날 위험도를 의미하는 변수라고 합시다. 그럼 X로 Y를 예측하고 환자에게 위험한 약을 주는 경우를 피할수 있을 겁니다. 만약 환자에게 위험하다면 추정한 Y의 값이 크게 나오겠지요.

 

 Y를 예측한 값이라고 할수 있는 $\hat{Y}$의 정확도는 제거 가능한 오차 reducible error와 제거 불가능 오차 irreducible error의 영향을 받습니다. 일반적으로 $\hat{f}$는 함수 f를 완벽하게 추정할 수 없다보니, 올바른 함수 f와 추정한 함수 $\hat{f}$의 차이가 존재하는 만큼 예측 오차가 발생하게 됩니다. 이 오차는 제거 가능한 것인데 더 나은 통계적 학습 기법을 사용해서 더 좋은 f를 구하면 $\hat{f}$의 정확도를 개선 시킬수 있기 때문입니다.

 

 하지만 함수 f를 완벽하게 추정, 모델링했다고 하더라도 우리가 추정한 결과/예측치 $\hat{Y}$ = f(X)는 여전히 오차를 가지고 있습니다. 왜냐면 Y의 정의 자체에 오차 항 $\epsilon$이 존재하다보니 X를 가지고 아주 정확하게 예측하는게 불가능 합니다. 그래서 이런 오차를 제거 불가 오차 irreducible error라고 부릅니다. f를 얼마나 잘 추정해서 구하던 간에, 오차 항에 의한 오차는 없앨수 없거든요.

 

 다시 정리하면 제거 가능한 오차는 더 좋은 모델을 추정해서 줄여 나갈수 있지만, 제거 불가 오차의 경우 모델 자체가 가지고 있는 오차 항에 의한 것이라 줄일수가 없습니다.

 

 그러면 왜 제거 불가 오차를 0보다 크게 설정할까요? 왜냐면 $\epsilon$은 관측/측정 할수 없는 다양한 경우들을 나타낼 수 있다보니 Y를 예측하는데 유용하거든요. 다시 말하면 수식으로 나타낼 수 없는 값(잡음, 관측할수 없는 값)들을 오차 항으로 대신하여 표현한다고 하면 될것 같습니다.

 

 예를 들면 거부 반응 위험도는 사람에 따라 혹은 날자에 따라 혹은 약을 생산한 제조사나 환자의 감정 등과 같이 혈액의 특성 X이외의 요소에 따라 바뀔 수 있겠습습니다.

 

 한번 추정한 모델, 함수 $\hat{f}$와 입력 변수 X가 있다고 해봅시다. 그러면 $\hat{Y}$ = $\hat{f}(X)$로 예측 값을 구할수 있겠죠. $\hat{f}$와 X가 변하지 않는다고 생각하면, 실제 Y와 예측한 $hat{Y}$의 평균 제곱 오차 MSE mean squared error를 아래와 같이 정리할 수 있습니다.

 

 E$(Y - \hat{Y})^{2}$는 실제 Y와 예측한 Y의 차이(오차)를 제곱한 값들의 평균, 기대값을 나타냅니다. 그리고 Var($\epsilon$)은 오차항 $\epsilon$의 분산 정도를 나타내고 있습니다.

 

 이 책의 목표는 제거 가능한 오차를 최소화 하는 함수/모델 f를 구하는 기술들을 배우는게 되겠습니다. 명심해야할 점은 제거 불가능한 오차으로 인해 Y를 예측한 값의 정확도가 더 이상 커지지 않는 상한 선이 있겠습니다. 

 

 

 

 

추론 Inference

 

 그리고  $X_{1}, X_{2}, . . ., X_{p}$의 값이 변할때 Y에 얼마나 영향을 주는지를 알고 싶을 때도 있습니다. 이런 상황에서는 f를 추정할 거지만, Y를 예측하는것보다 X와 Y사이의 관계를 이해하는데에 집중해서 봐야되겠습니다. 이제 $\hat{f}$가 어떻게 동작하는지 알아야 되니 블랙 박스가 아니라 좀 자세히 보겠습니다. 이와 관련한 질문들과 대답들을 한번 볼까요.

 

- 어떤 입력 변수가 반응 변수에 영향을 줄까요?

 입력 변수 여러개 중에 일부만 Y를 구하는데 큰 영향을 줄수 있습니다. 데이터셋이 큰 경우 그래서 중요한 입력 변수, 특징들을 찾아내는게 매우 유용할수 있어요.

 

- 각 입력 변수와 반응 변수 사이 관계는 어떻게 되나요?

 어떤 입력 변수, 특징들은 Y와 양의 상관관계 그러니까 특징 값이 증가할때 Y도 증가하는 관계를 가지고 있고, 음의 상관관계를 갖는 경우 반대로 영향을 줍니다. 모델 f이 복잡한 경우에는 입력 변수의 Y에 대한 영향력이, 다른 입력 변수의 크기/값에 따라 변할수도 있어요.

 한번 어떤 모델 f로 키와 몸무게로 사람의 나이를 예측한다고 해 볼게요. 이 모델이 몸무게가 70kg이고, 키가 180cm로 주었을때 사람의 나이를 30대로 예측을 했어요. 하지만 몸무게는 그대로인 상태에서 키가 160cm인 경우 사람의 나이를 10대로 예측 할수도 있겠지요. 이 경우 몸무게는 그대로지만 키라는 다른 입력 변수의 영향을 받아 모델은 다른 나이를 예측하게 되었습니다.

 

- Y와 각 예측 변수 사이 관계를 선형 함수나 다른 형태로 정리하는게 가능한가요? 

 역사적으로 모델 f를 선형의 형태로 추정해 왔습니다. 어떤 경우에는 이 모델이 선형이라는 가정이 옳을수도 있겠지만, 입력과 출력 사이의 실제 관계가 너무 복잡해서 선형 모델이 좋은 정확도를 주지 않을 수도 있어요.  아까 본 그림 2.2의 경우 선형으로도 주어진 데이터를 잘 나타낼수 있겠지만, 곡선 모델이 데이터들을 더 정확하게 표현하고 있었죠.

 

 이 책에서는 앞으로 여러가지의 예측과 추론, 이들을 혼합한 예시들을 보겠습니다. 한번 예를 들어보면 직접적인 마케팅 활동을 준비하는 회사가 있다고 해봅시다. 이 회사의 목표는 인구 통계학적 데이터들을 이용해서 메일을 보냈을때 긍정적으로 응답해주는 사람들을 찾으려고 합니다. 이 경우 인구 통계학적 데이터가 입력 변수이고, 마케팅 활동(메일링)에 대한 반응을 출력 변수라고 해봅시다. 하지만 이 회사는 입력 변수들과 반응 변수 간의 상관관계에는 크게 관심은 없고, 대신 가장 잘 예측하는 정확한 모델을 구하기를 원한다고 합시다. 이게 예측 모델링의 예시라고 할수 있을것 같아요.

 

 

 그러면 반대로 아까 그림 2.1에서 본 광고와 판매량에 대한 경우를 생각해봅시다. 이런 질문들을 한다면

 

- 어떤 매체가 판매량에 기여를 했을까요?

- 어떤 매체가 판매량 증가에 가장 크게 도움되었나요?

- TV 광고량을 증가시킨것과 판매량 증가가 얼마나 관련되어 있을까요.

 

 이 상황을 추론 문제로 본다고 할 수 있겠습니다. 다른 예시로 가격과 상점 위치, 할인율, 경쟁사 제품 가격 등을 고려해서 고객들이 구입할만한 상품을 만든다고 해봅시다. 그럼 제조사는 사람들의 제품 구입에 가장 큰 영향을 줄만한 요소, 특징이 무엇인지 알고 싶을 수도 있습니다. 예를 들면, 제품 가격 변화가 판매량에 어떤 영향을 주는가? 같이요. 이런 경우를 추론을 위한 모델링의 예시라 할 수 있겠습니다.

 

 목표가 예측인지 추론인지, 이 둘을 혼합한 경우인지에 따라 f를 추정하는데 다른 방법들을 사용할수도 있겠습니다. 예를 들면 선형 모델은 다른 모델과 비교해서 간단하고 해석하기 쉬운데, 예측 정확도는 떨어지는 편입니다. 하지만 뒷 챕터에서 배울 비선형 방법들은 더 정확한 예측을 할 수 있겠지만 모델을 이해, 추론하기는 더 힘들 수 있습니다.

 

 

 

 

 

 

 

2.1.2 그래서 어떻게 f를 추정하나요?

 

 이 책 전체에서 앞으로 f를 추정하는 많은 선형, 비선형 방법들을 살펴볼겁니다. 하지만 이런 방법들은 일반적으로 어떤 특징이 있는데요. 모델 추정 방법들이 가지고 있는 특성들을 간단하게 봅시다. 그리고 이때 n개의 데이터가 있다고 가정할게요. 아까 그림 2.2의 경우 데이터가 30개, 그러니까 n = 30이라고 봤듯이요.

 

 이런 관측 데이터를 훈련 데이터 training data라고 부릅니다. 왜냐면 이 관측치들은 훈련 과정, 그러니까 f를 추정하는 과정에서 사용되거든요. $x_{ij}$는 i번째 관측 데이터의 j번째 특징, 변수를 의미합니다. 그러니까 i = 1, 2, . . ., p이고, j = 1, 2, . . ., p가 됩니다. 이와 동일하게 $y_{i}$는 i번쨰 관측된 반응 변수를 의미합니다. 그러면 우리들의 훈련 데이터셋은 {($x_1$, $y_1$), ($x_2$, $y_2$), . . ., ($x_n$, $y_n$)}이 되며 $x_{i}$ = $(x_{i1}, x_{i2}, . . ., x_{ip})^{T}$의 형태가 되겠습니다.

 

 우리들의 목표는 알수 없는 함수 f를 추정하기 위해서 통계적인 학습 방법으로 이 훈련 데이터를 학습시키면 되겠습니다. 다시 말하자면, 관측치 (X, Y)가 있을때 Y$\approx \hat{f}(X)$가되는 함수 $\hat{f}$를 찾는 것이라고 할 수 있겠습니다.

 

 일반적으로 이 작업을 하는 대부분의 통계적 학습 방법들은 모수적인 parametric 방법과 비모수적인 non-parametric 방법으로 나눌수 있습니다. 간단하게 이 두 방법에 대해서 살펴봅시다.

 

모수적 방법 Parametric Methods

 

 모수적 방법은 아래의 2 단계로 이루어진 모델 기반 방법을 말합니다.

 

1. 첫번째로 추정하고자 하는 f에 대한 함수의 형태를 가정 합니다. 예를 들어 가장 간단한 가정을 한다면 f를 X에 대해 선형적이라고 가정할 수 있겠죠.

 

 

 이것을 선형 모델이라고 부르며 3장에서 상세히 설명하겠습니다. 이렇게 f가 선형이라고 가정을하면 f를 추정하는건 매우 간단한 문제가 됩니다.  p차원의 함수 f(X)를 추정해야하는 경우에는 p + 1개의 계수들($\beta_{0}$, $\beta_{1}$, . . ., $\beta_{p}$)만 추정하면 됩니다.

 

 

2. 그래서 모델 가정을 하고 나면, 이제 훈련 데이터로 이 모델을 학습 시키면 됩니다. 위 식에서 본 선형 모델로 가정한다면 $\beta_{0}$, $\beta_{1}$, . . ., $\beta_{p}$ 파라미터들을 추정하여 찾아야 합니다. 

 

 모델을 학습 시키는 가장 자주 사용되는 방법으로 최소제곱법 (ordinary) least squares가 있는데, 이에 대해서는 3장에서 배워봅시다. 하지만 최소 제곱법은 선형 모델을 학습시키는 가장 간단한 방법들 중 하나이고, 6장 쯤에서 다른 파라미터 추정 방법들을 배워봅시다.

 

 이러한 모델 기반 방법을 모수적 parametric방법이라고 부르며, f를 추정하는 문제를 데이터를 잘 정확하게 표현하는 특정 모델의 파라미터 집합을 추정하는 것으로 바꾼것이로 볼수도 있겠습니다.

 

 

 

 

비모수적 방법 Non-parametric Methods

 

 비모수적 방법은 f가 어떤 함수적인 형태를 가지고 있는지 예를 들어 선형 모델이다, 비선형 모델이다 같은 가정을 하지 않는 방법을 말합니다. 대신 데이터들에 가장 가까운 f를 찾는 방법으로, 모수적 방법보다 몇 가지 장점이 있는데 특정 함수의 형태를 따른다는 가정을 하지 않음으로서 다양한 형태의 경우에도 정확하게 학습을 시킬수 있습니다.

 

 그리고 모수적 방법은 모델 f를 추정하는데 어떤 함수 형태를 사용하느냐에 따라 크게 달라질수 있지만(선형 모델로 가정하여 파라미터를 추정한 경우와 비선형 모델로 가정하여 파라미터를 추정한 경우 정확도는 달라질수 있겠죠.), 비모수적 방법은 어떤 함수를 사용한다는 가정 자체가 없기 때문에 이런 문제를 피할수가 있겠습니다.

 

 하지만 비모수적 방법의 단점으로는 모수적 방법처럼 파라미터 몇 개를 추정하는 문제로 줄일수가 없어, 정확한 추정 모델을 얻으려먼 많은 데이터 관측 치들이 필요합니다.(일반적으로 모수적 방법에서 필요한 수보다 훨씬)

 

그림 2.5. 그림 2.3에서 봤던 수입 데이터들을 적합, 학습하여 위의 부드러워진 노란 얇은 판 스플라인을 얻었습니다. 관측치는 빨간색이고, 스플라인에 대해서는 7장에서 살펴보겠습니다. (스플라인 : 간단하게 곡면 정도로 이해하면 될것같아요..?)

 

 

 비모수적인 방법의 예시로 수입 데이터를 학습한 결과는 위 그림 2.5가 되겠습니다. 여기에 얇은 판 스플라인이 f를 추정하기 위해서 사용되는데요. 이 방법에서는 모델에 특정한 함수적 가정을 두지 않으며, 대신 관측된 데이터와 가장 가까운 f를 구하려고 시도합니다. 그래서 그림 2.5의 노란 표면이 그림 2.3보다 더 부드러워집니다. 

 

 

그림 2.6 거친 얇은판 스플라인. 그림 2.3의 수익 데이터를 학습하였으나, 과적합하여 오차가 사라졌다.

 

 비모수적 방법으로 학습을 함으로서 그림 2.3의 실제 f에 더 가깝고 정확한 추정치를 얻을수가 있었습니다. 이 앏은 판 스플라인을 학습 하기 위해서는 얼마나 부드러워질지의 정도를 정하여야 하는데, 그림 2.6의 경우 같은 얇은 판 스플라인을 덜 부드럽게해서 학습을 시킨결과 더 거칠게 되었습니다. 이 경우 관측 데이터를 완벽하게 학습했다고 할수 있겠죠.

 

 하지만 그림 2.6의 스플라인 모델의 경우 오버피팅 되었기 때문에 더 좋은 모델이라고 할수는 없고, 이렇게 얻은 학습 모델은 새로운 관측 치가 들어올때 정확한 결과를 못내다 보니 좋다고 할수 없겠습니다. 나중에 5장에서 부드러운 정도를 어떻게 찾아야될지에 대해 다루고, 스플라인에 대해서는 7장에서 보겠습니다.

 

 

 

 

 

 

2.1.3 예측 정확도와 모델 이해 난이도의 트레이드 오프

the trade off between prediction accuracy and model interpretability

 

 이 책에서는 앞으로 많은 방법들을 볼거지만, 어떤 방법은 덜 유연할수도 있고, 제한적이여서 다양한 형태로 f를 추정하지 못하는 경우가 있습니다. 예를 들면 유연하지 않은 방법으로 선형 회귀가 있는데, 왜냐면 그림 2.1에서 본 직선이나 그림 2.4에서 본 평면 같은 직선에 대한 함수만 만들어 내다보니 다양한 경우에 대처하기는 힘들거든요. 하지만 그림 2.5나 그림 2.6에서 본 앏은판 스플라인 같은 방법들은 더 다양한 형태로도 f를 추정할 수 있다보니 더 유연하다고 볼 수 있겠습니다.

 

 그러면 이런 질문을 해볼수 있겠습니다. "왜 유연한 방법을 하지 않고 제한적인 방법을 사용하려고 할까요?" 이 질문에 우리가 제한적인 모델을 사용하려는 이유들로 여러개가 있겠는데, 만약 우리가 추론(특징과 출력간의 관계에 관심을 갖는 문제)에 관심 있는 경우 제한적인 모델이 훨신 이해하기가 편하겠죠.

 

 예를 들면 우리가 추론을 하려고 할때, 선형 모델은 Y와 입력 변수 $X_{1}, X_{2}, . . ., X_{p}$사이 관계를 이해하는데 훨씬 쉬울겁니다. 하지만 스플라인 처럼 7장에서 다뤄볼건데, 그림 2.5와 2.6같은 혹은 8장에서 다뤄볼 부스팅 방법 같은 것들은 f를 추정한 모델이 너무 복잡해서 각 입력 변수들과 출력 변수 사이에 얼마나 연관성이 있는지 이해하기가 힘든 문제가 있습니다.

 

 

그림 2.7 다양한 통계적 학습 방법을 사용할때 유연함과  이해 난이도. 일반적으로 추정 모델의 유연성이 클수록, 복잡해져 해석하기 힘들어 집니다.  

 

 그림 2.7은 유연성 flexibility와 이해 난이도 interpretability 사이의 트레이드 오프(상쇄정도, 길항 관계)를 보여주고 있습니다. 3장에서 다룰 최소 제곱 선형 회귀는 상대적으로 덜 유연하지만 이해하기는 쉽습니다. 하지만 6장에서 볼 라쏘 같은 경우에는 선형 모델을 기반으로 하나 계수들 $\beta_{0}, \beta_{1}, . . ., \beta_{p}$를 추정하는데 조금 다른 다른 피팅 과정, 학습 과정을 사용하고 있습니다. 이 방법은 계수 추정에 더 제한을 두는데, 상당 수의 계수들을 0으로 설정함으로서 그러니까 전체 계수를 추정하는게 아니라 일부를 추정하는 문제라고 볼수 있을거같아요. 그래서 라소는 선형 회귀보다 덜 유연하지만, 특징의 수가 줄었으므로(계수를 0으로 설정한 특징들은 제외됨) 일부 특징과 Y의 관계만 보면 되어 해석하기 쉬워졋다고 할수 있겠습니다.

 

 이전에 본 선형 모델을 비선형 관계에서도 사용할수 있도록 확장시키기 보다는, 일반화 가법 모델 generalized additive models(GAMs)에 대해서 7장에서 보겠습니다. GAMs는 선형 회귀 모델보다 더 유연하다고 할수 있으나, 특징과 반응 사이 관계를 선형이 아닌 비선형/커브로 모델링하다보니 이해하기는 더 어렵다고 할수 있습니다.

 

 마지막으로 배깅, 부스팅, 비선형 커널을 사용한 서포트벡터 머신같이 완전 비선형 방법들에 대해서는 8, 9장에서 볼 것이며 매우 우연한 방법들이지만 이해하기는 더 어렵습니다.

 

 지금까지 추론을 한다고 할때, 단순하거나 덜 유연한 통계적 학습모델을 사용했을때의 장단점들을 배웠습니다. 하지만 우리가 예측을 한다고 하는 경우 예측 모델의 이해 난이도는 중요한 문제는 안됩니다. 예를들면 주가를 예측하는 알고리즘을 만들건데, 내가 원하는 요구사항이 그냥 정확하게 예측하기만 해도된다면 이해 나이도는 중요하지 않겠죠.

 

 하지만, 이게 항상 옳다고는 할순 없습니다. 우리가 덜 유연한 방법으로 높은 정확도를 얻는다해도, 그림 2.6에서 본것 처럼 오버피팅의 가능성을 고려해서 해야할것입니다. 이건 되게 중요한 개념인데 2.2장에서 보고 이 책 전반으로도 다루겠습니다.

 

 

 

 

2.1.4 지도 학습 대 비지도 학습

 

 통계적 학습 문제는 크게 두 카테고리로 나눌수 있습니다. 지도 학습과 비지도 학습인데요. 이번 장에서 본 모든 예시들은 지도 학습의 영역에 속해있다고 할수 있습니다. 각 입력 관측치 $x_i$, i = 1, 2, . . ., n가 있을때, 이에 대한 반응 관측치 $y_i$가 존재하는 경우의 문제를 말합니다. 우리는 새로운 관측치을 입력으로 하여 정확한 예측치를 만드는 모델(예측) 혹은 입력 치와 예측 결과 사이 관계를 더 이해할 수 있는 모델(추론)이 되도록 학습해야 합니다.

 

 선형 회귀나 로지스틱 회귀(4장) 많은 고전적은 학습 방법들과 GAM, 부스팅, 서포트 백터 머신 같은 많은 근대적 방법들까지 지도 학습이라고 할수 있습니다. 이책의 대부분은 이런 지도 학습들을 다룬다고 할수 있을것같아요.

 

 하지만 반대로 비지도 학습은 i번째 관측 i = 1, . . ., n할 때, i번째의 관측치 벡터 $x_{i}$가 있지만 이에 대한 반응인 $y_{i}$가 없는 경우를 다룹니다. 예측을 할 반응 변수, 출력 변수가 없다보니 선형 회귀 모델로 학습 시킬수가 없어요. 이 경우를 학습/분석 과정에서 올바른지 틀린지 지도해줄수 있는 반응 변수가 없다보니 비지도 학습이라 부르고 있습니다.

 

 그러면 어떤 통계적 분석이 가능한가요? 한번 변수들끼리의 관계 혹은 관측치들끼리의 관계에서 찾아볼수도 있습니다. 이런 비지도 학습의 한 통계적 학습 방법으로 클러스터링, 클러스터 해석이 있습니다. 클러스터링의 목표는 $x_{1}, x_{2},. . ., x_{n}$의 관측치들이 있을때 이들을 서로 구분가능한 그룹으로 나누는 것이 되겠습니다.

 

 예를들어 소비자 구분 연구를 할때, 잠재적 소비자에 대한 특징들(우편 번호, 가족 수입, 쇼핑 습관)을 가지고 있다고 해봅시다. 그러면 아마 이 소비자들을 많이 구입하는 소비자와 적게 구입하는 소비자로 나눌수 있을것 같아요.  만약 각 소비자들의 소비 패턴 정보가 있다면, 이건 지도 학습이 될수도 있겠죠. 하지만 이런 정보는 없다 보니 이 소비자가 많이 구입하는지 적게구하는지 알 수가 없습니다.

 

 이 상황에서 가지고 있는 데이터들로 고객들을 클러스터링을 시키면, 이 잠재적인 고객들은 서로 구분되는 그룹에 속하게 될겁니다. 이렇게 그룹 식별의 흥미로운 점으로 소비 습관같은 관심 변수(사용하는 변수들)에 따라서 클러스터링하여 구한 그룹들이 바뀔수도 있습니다.

 

그림 2.8 세 그룹으로 데이터를 클러스터링 한 결과. 각 그룹은 서로 다른 색상으로 분할됩니다. 좌측의 그림에서 세 그룹은 잘 분할되어 있습니다. 우측 그림에서는 그룹들 간에 일부 데이터가 겹쳐져 있습니다. 이 경우 클러스터링을 어떻게 해나가야 될까요.

 

** 관측치 observation : 특징 벡터, 변수 벡터 하나

** 측정치 measurement : 특징, 변수 값 하나

 

 그림 2.8은 클러스터링 문제의 간단한 예시를 보여주고 있습니다. 이 그림에서 150개의 두 변수 $X_{1}$, $X_{2}$를 가진 관측치들을 보여주고 있습니다. 각 관측치들은 세 그룹 중 하나에 속하는데, 서로 다른 색상과 심볼로 각 그룹의 맴버들을 표현하고 있습니다. 하지만 관측치들이 어느 그룹에 속하는지에 대한 정보가 없을 때, 한 관측치(데이터)가 어디에 속하는지를 결정하여야 합니다.  그림 2.8의 왼쪽을 보면 그룹들이 잘 분리되었고 쉬워 보입니다. 하지만 우측의 경우 그룹 사이 겹친게 있다보니 더 힘든 문제로 보입니다.

 

 클러스터링 방법은 겹쳐진 부분들을 올바른 그룹에 속하도록 해준다고 할수는 없습니다.그림 2.8에서 본 예시의 경우 겨우 변수가 2개 뿐이었고, 산점도로 바로 클러스터들을 식별할수 있는 매우 간단한 경우입니다. 하지만 현실에서 데이터들은 훨씬 복잡합니다. 이 경우 이런 경우에는 지금처럼 쉽게 관측치를 시각화 할수도 없습니다. 만약 한 관측치에 변수가 p개가 있으면 이를 산점도로 어떻게 표현할가요. 아무튼 지금까지의 이유들로 클러스터링도 중요한 방법이며, 클러스터링과 비지도 학습에 대해 10장에서 배워봅시다.

 

 많은 문제들은 지도 학습과 비지도 학습으로 나누어집니다. 하지만 어떤 경우 지도적으로 할지 비지도적으로 해야되는지는 덜 명확한 경우도 있습니다. 관측 치, 입력 변수는 쉽게 구할수 있지만, 반응 변수는 구하기 더 힘든 경우를 세미 지도 학습이라고 부릅니다. 

 

 

 

300x250

+ Recent posts