🐣python

규제된 선형회귀

category
🐣python
URL
date
Feb 9, 2023
slug
machine-learning-3
author
status
Public
tags
Playdata_deep-learning & machine-learning
summary
라쏘,릿지,엘라스틱넷
type
Post
thumbnail
updatedAt
Mar 2, 2023 03:00 AM

좋은 모델이란?

  • 좋은 모델이란?
    • 현재 데이터를 잘 설명하고, 미래 데이터를 잘 예측하는 모델
  • 복잡한 모델의 문제점
    • 분산이 높고(고분산, 과대적합) 노이즈가 심함
    • 데이터가 조금만 달라져도 y값이 크게 움직임
    • 회귀계수가 크다
  • 모델 규제 : 각 독립변수(특성)의 계수를 작게 만들어 과대적합을 감소시키는 것
    • 다항식의 차수를 감소
    • 선형회귀인 경우 : 모델의 가중치를 제한
    • 릿지,라쏘,엘라스틱넷 회귀 모델
 

규제

  • 규제의 정의
    • 손실함수(비용함수)에 임의의값으로 페널티를 부여해 회귀 계수 값의 크기를 감소시켜 과적합을 개선하는 방식
  • 규제(정규화)의 목표
    • 회귀 계수의 크기(가중치)를 제어해 과적합을 개선
  • 규제의 효과 및 해석
    • 과적합(고분산)된 파라미터 값에 대해 규제(페널티)를 부여하게 됨(계수를 작게하거나 높임)
    • 규제를 추가하게 되면 규제가 없는 회귀모델보다 계수의 절대값이 작아지게 되는 원리를 이용하여 과적합 방지
    • 규제를 가한다는 것은 편향을 높인다는 것을 의미하며 규제가 없는 모델보다 훈련 데이터와의 적합도가 떨어지지만 전체적인 결과는 좋아짐
    • 과적합된 모델은 지나친 노이즈를 반영할 수 있으므로 모델을 단순화하여 좀 더 일반화된 모델로 만들 필요가 있음(오컴의 면도날)
    • 모델의 성능에 크게 기여하지 못하는 변수의 영향력을 축소하거나 필요 없는 특성 제거(특성선택)
  • 손실(비용) 함수 목표 변경
    • 손실 함수 목표(cost) :
      • notion image
    • f(w)
      • 회귀 계수에 대한 함수, 추가 제약 조건, 규제항을 손실함수에 추가하여 손실함수의 목표 변경
      • a : 손실함수(MSE)와 f(w)의 비중을 조저아는 매개변수(하이퍼파라미터)
  • 매개변수 a의 값에 따라서 손실함수와 회귀 계수에 대한 추가 제약 조건 f(w)의 비중이 달라짐
    • a가 0이라면, 손실함수는 기존과 동일하게 적용 이 때의 목표는 결국 MSE값을 최소화 시키는 것
    • a가 매우 큰 값이라면, 상대적으로 MSE값은 의미가 없고 f(w)의 값이 손실함수의 대부분을 차지하므로 전체 손실함수의 값이 커지지 않도록 w값을 0또는 매우 작게 만듬
    • 결과적으로 a의 값을 0부터 차츰 증가시키면 회귀 계수 w값의 크기를 감소 시킬 수 있음
    • 회귀 계수 값의 크기를 감소시켜 괴대적합 문제를 개선하여 학습하는 것이 규제
    •  

규제 전 표준화

  • 표준화 : 특성의 스케일을 맞춤
  • 스케일링 필요성
    • 스케일이 한쪽 특성에 확 쏠려서 잘못된 예측
    • 규제를 하는 방법이 선형모델의 계수(기울기)에 가중치를 가하는 방법, 특성의 크기에 따라 기울기도 달라지게 되므로 각 기울기에 주는 규제(패널티)가 공평해지려면 특성의 스케일을 조정
  • z점수(표준점수)로 스케일링하는 경우 : sklearn.preprocessing 모듈의 StandardScaler()
  • 스케일링의 기준 : 반드시 훈련세트에 적용한 스케일러로 테스트세트를 변환 각 데이터마다 구한 평균과 표준편차로 데이터 변환(fit)
 

규제의 종류 Ridge L2규제

  • 리지회귀모델
    • notion image
    • 회귀 모델에 L2규제(가중치의 제곱)를 추가한 것을 리지 모델
    • 규제항이 손실함수에 추가
    • 모델의 가중치가 가능한 작게 유지
    • a = 0이면 선형회귀와 동일
    • a가 매우 크면 모든 가중치가 0에 가까워짐 : 강한 규제
  • 참고 : 절편에 대해 규제를 하지 않는 이유
    • 절편은 모델에 영향을 미치는 방식이 가중치와 다름
    • 절편은 모델의 방향에 영향을 미칠 뿐 복잡도에는 영향을 주지 않
    •  

규제의 종류 Lasso L1 규제

  • 라쏘 회귀 모델
    • notion image
    • 회귀 모델에 L1규제(가중치의 절대값에 대한 규제)를 추가한 것을 라쏘 모델이라 한다
    • 변수들이 무수히 많은 경우, 실질적으로 영향을 미치는 변수의 개수는 적다고 판단하고 영향이 적은 변수들의 회귀 계수를 0으로 만들어 영향력 있는 변수(특성)들만 남겨놓아 특성 선택의 효과를 발생시킴
 

규제의 종류 ElasticNet L1+L2 규제

  • 엘라스틱넷 회귀 모델
    • L1 규제와 L2규제를 혼합한 회귀
    • a는 규제 매개변수이고 r은 혼합 비율
    • 두 종류의 규제를 혼합하여 릿지 회귀와 라쏘 회귀의 절충 형태를 학습 모델로 도출
    • r=0 : L2 규제와 동일하므로 릿지 회귀
    • R=1 : L1 규제와 동일하므로 라쏘 회귀
    •  

실습 [260.0] 규제가 있는 선형회귀