4장: 모델 훈련 part 3 (p.173)

다항회귀

비선형식

 

가지고 있는 data가 non-linear한데도 선형 모델처럼 표현할 수 있다. 또한 학습하는 데도 선형 모델을 사용할 수 있다. 이렇게 하는 간단한 방법은 각 특성의 거듭제곱을 새로운 특성으로 추가하고 , 이 확장된 특성을 포함한 데이터 셋에 선형 모델을 훈련시키는 것이다. 이런 기법을 다항회귀 Polynomial Regression 이라한다.


 

 

예 : 간단한 2차 방정식

비선형 데이터를 노이즈를 섞어서 생성한다.

y = 0.5X^2 + X + 2 + random noise 인 식이다.

넓게 보면 이런 2차 방정식의 형태를 취하는 그래프다. 사이킷런의 PolynomialFeatures를 사용해 훈련 데이터를 변환해본다. 훈련 세트에 있는 각 특성을 제곱하여 새로운 특성으로 추가한다.

매우 비슷하게 예측한 것을 볼 수 있다.

본 식 :

예측 :

 

다음은 위와 같은 추정을 10번 반복한 코드이다.

10번을 돌렸을 때 나온 절편과 기울기가 거의 차이가 없다?

이문제에 관하여 차후에 수정


이는 이 model의 noise가 를 따르기 때문에 분산이 커봐야 1 이라는 것을 알 수 있기 때문이다.

non-linear 한 model을 사용하면 문제가 되는 이유 :

 

 


잘못알고 있었던 것 :

다항회귀처럼 data 자체를 제곱 시키는 변환 등을 하여 변수로 추가하면, 추가된 변수는 원래의 변수로 만들어졌으므로 linear dependent하게 된다. 선형 종속은 분산 추정을 크게하여 모델의 정확도를 떨어뜨린다.

 

바로 잡은 것: 관점의 중요성

독립의 정의

 

일차 독립 ( 선형 독립 ) 정의

 

여기서 통계학에서의 독립과 선형 대수학의 선형 독립의 정의를 잘 생각하고 ( 둘은 서로 다르며 선형대수학에서는 독립을 정의하지 않았다. ) 머신러닝에서는 이런 두가지 관점이 섞여서 들어오기 때문에 잘 구분하여 바라보는 시각을 길러야한다. 위의 잘 못 알고 있었던 부분을 보자면 다 맞는 얘기인데 관점이 다르다는 것이다. 머신러닝 다항회귀 모델에서는 β(가중치) 관점으로 바라봤기 때문에 β가 선형독립인지만 확인하면 된다. data (x)들의 관점이 아니다.(흔히 선형대수학에서는 이들의 관점에서 얘기한다.)

결국 10번을 돌렸을 때 분산이 커서 값들이 이리 저리 튈거라(data들이 선형종속이 되니까) 생각한 내 예상과는 다르게 β 관점에서 기술한 것이기 때문에 표준편차가 1인 분포를 따라 안정적으로 나온 것이다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다