선형회귀분석

김상윤·2021년 11월 20일
0

회귀의 개념

지도학습 (supervised learning)

  • 예측하고자 하는 값, '정답'이 존재 : y
  • y가 연속형 -> 회귀
    y가 범주형 -> 분류

회귀분석

  • 독립변수 x에 대응하는 종속변수 y인 정답과 가장 가까운 𝑦̂값을 리턴하는 함수 f를 찾는 과정.
    𝑓(𝑥) = 𝑦̂ ≈ 𝑦
  • 함수 f
    : 선형회귀 모델

선형회귀분석

𝑦̂ = 𝑤0 + 𝑤1𝑥1 + 𝑤2𝑥2 + ⋯ + 𝑤𝐷𝑥𝐷 = 𝑤0+𝑤^𝑇𝑥

  • 독립변수 𝑥 = ( 𝑥1 , 𝑥2 , … , 𝑥𝐷 )
    : 입력 데이터
    : D차원벡터

  • 가중치벡터 𝑤 = ( 𝑤0 , 𝑤1 , ⋯ , 𝑤𝐷 )
    : 선형회귀 모델의 모수

상수항 결합

: 𝑤0+𝑤^𝑇𝑥 를 𝑤𝑎^𝑇𝑥𝑎 로 만들어주는 과정

  • 입력데이터에 1을 원소로 가지는 상수항을 추가함으로써 독립항으로 존재하던 "모델 가중치" w0를 내적식에 결합시켜줍니다.

Optimization (최적화)

: loss function의 결과값을(loss를) 최소화 하는 모델의 인자를 찾는 과정

loss function (cost function)

  • loss : 모델을 통해 도출된 예측값과 실제값(정답)과의 차이
  • MAE
    : 평균 절대 오차
    : 예측값과 정답 간 차이의 절대값의 평균
  • MSE
    : 평균 제곱 오차
    : 예측값과 정답 간 차이의 제곱의 평균
  • RMSE
    : 평균 제곱근 오차
    : 루트 MSE (MSE를 제곱근 해준 값)
  • 잔차
    : 예측값과 정답 간의 차이
  • RSS
    : 잔차제곱합
    : 예측값과 정답 간 차이의 제곱의 합

선형회귀분석의 optimization

: loss가 최소화되는 함수 f(모델)를 만들기 위해 가중치를 세팅하는 과정

최소제곱법 (정규방정식)

: RSS(잔차 제곱의 합)를 최소화하는 가중치 벡터를 구하는 방법

: 가중치에 따라 loss의 변화가를 그래프로 표현한 것
-> 가중치 벡터를 미분한 값이 0일 때 (기울기 = 0) RSS 최소 : loss 최소

  • 모델 : 𝑦̂ =𝑋𝑤 ( 𝑤 : 가중치벡터 )
    잔차 벡터 : 𝑒 = 𝑦−𝑦̂ = 𝑦−𝑋𝑤
    RSS(잔차제곱의합) : RSS = 𝑒^𝑇𝑒

    RSS를 𝑤로 미분한 값이 0일 때!


    (X의 역행렬 존재 시) 정답 가중치

경사하강법

: loss가 최소인 지점(가중치 벡터의 기울기 = 0)을 찾기 위해 일정한 간격만큼 가중치를 변경해가며 대입하는 과정

학습률(learning rate) 문제

  • learning rate : learning step의 크기
  • laerning step : 가중치 변경의 간격(보폭)
  • 너무 작으면 너무 오래 걸린다.
    너무 크면 최솟값을 넘겨버려서 값이 발산 할 수 있다.

local minima 문제

  • loss 최소값 지점이 아닌 극소값을 가지는 지점일 수 있다.

스케일 문제

  • 특성마다 스케일이 다를 경우 최적해를 찾아가는 경로가 비효율적이게 된다.
  • 해결
    : 사이킷런의 StandardScaler, MinMaxScaler, RobustScaler 등을 통해 스케일 표준화

배치 경사 하강법

확률 경사 하강법

릿지회귀, 라쏘회귀

: 패널티함수를 모델에 붙임으로서 과대적합이 일어나지 않도록 가중치 벡터를 '규제'하는 선형회귀모델

릿지회귀

  • 가중치벡터의 제곱합을 계산하여 규제하는 모델

라쏘회귀

  • 가중치벡터의 절대값합을 계산하여 규제하는 모델

0개의 댓글