Group Study (2021-2022)/ML Introduction

[머신러닝 입문 스터디] 2주차 - 회귀 알고리즘과 모델 규제

김깅긍 2022. 5. 22. 17:06

k-최근접 이웃 회귀

  • 회귀는 임의의 수치를 예측하는 문제이며 타깃값도 임의의 수치가 됨
  • k-최근접 이웃 회귀는 k-최근접 이웃 알고리즘을 사용해 회귀 문제를 풀며 가장 가까운 이웃 샘플을 찾고 이 샘플들의 타깃값을 평균하여 예측을 함
  • KNeighborsRegressor는 k-최근접 이웃 회귀 모델을 만드는 사이킷런 클래스이며 n_neighbors 매개변수로 이웃의 개수를 지정하고 기본값은 5
  • 사이킷런에 사용할 훈련 세트는 특성과 샘플로 이루어진 2차원 배열이므로 넘파이의 reshape() 메소드로 배열의 크기를 바꿈
  • 결정계수(R²)은 대표적인 회귀 문제의 성능 측정 도구로 1에 가까울수록 좋고, 0에 가깝다면 성능이 나쁜 모델
  • 과대적합은 모델의 훈련 세트 성능이 테스트 세트 성능보다 훨씬 높을 때 일어나며 모델이 훈련 세트에 너무 집착해서 데이터에 내재된 거시적인 패턴을 감지하지 못함
  • 과소적합은 훈련 세트와 테스트 세트 성능이 모두 동일하게 낮거나 테스트 세트 성능이 오히려 높을 때 일어나며 더 복잡한 모델을 사용해 훈련 세트에 잘 맞는 모델을 만들어야 함

 

선형 회귀

  • 선형 회귀는 특성 타깃 사이의 관계를 가장 잘 나타내는 선형 방정식을 찾으며 특성이 하나면 직선 방정식이 됨
  • 선형 회귀가 찾은 특성과 타깃 사이의 관계는 선형 방정식의 계수 또는 가중치에 저장되며 머신러닝에서 종종 가중치는 방정식의 기울기와 절편을 모두 의미하는 경우가 많음
  • 모델 파라미터는 선형 회귀가 찾은 가중치처럼 머신러닝 모델이 특성에서 학습한 파라미터를 말함
  • 다항 회귀는 다항식을 사용하여 특성과 타깃 사이의 관계를 나타내며 이 함수는 비선형일 수 있지만 여전히 선을 이어 그려 선형 회귀로 표현할 수 있음
  • LinearRegression은 사이킷런의 선형 회귀 클래스이며 학습된 모델의 coef_와 intercept_속성에 특성에 대한 계수를 포함한 배열과 절편이 저장됨

 

특성 공학과 규제

  • 다중 회귀는 여러 개의 특성을 사용하는 회귀 모델로, 특성이 많으면 선형 모델은 강력한 성능을 발휘함
  • read_csv()는 CSV 파일을 읽어 판다스 데이터프레임으로 변환하는 함수이며 이후 넘파이 배열로 변환하여 데이터를 준비할 수 있음 
  • 특성 공학은 주어진 특성을 조합하여 새로운 특성을 만드는 일련의 작업 과정
  • PolynomialFeatures는 주어진 특성을 조합하여 새로운 특성을 만드는 사이킷런의 클래스이며 degree를 통해 최소 차수를 지정하며 기본값은 2
  • 릿지는 규제가 있는 선형 회귀 모델 중 하나이며 선형 모델의 계수를 작게 만들어 과대적합을 완화
  • Ridge를 사용해 규제가 있는 회귀 알고리즘인 릿지 회귀 모델을 훈련하며 alpha 매개변수로 규제의 강도를 조절하고 alpha 값이 클수록 규제가 세지게 되며 기본값은 1
  • 라쏘는 또 다른 규제가 있는 선형 회귀 모델이며 릿지와 달리 계수 값을 아예 0으로 만들 수 있음
  • Lasso를 사용해 규제가 있는 회귀 알고리즘인 라쏘 회귀 모델을 훈련하며 릿지 클래스와 매개변수가 동일
  • 하이퍼파라미터는 머신러닝 알고리즘이 학습하지 않는 파라미터이므로 사람이 사전에 지정해야 함