회귀의 개념
지도학습 (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 등을 통해 스케일 표준화
배치 경사 하강법
확률 경사 하강법
릿지회귀, 라쏘회귀
: 패널티함수를 모델에 붙임으로서 과대적합이 일어나지 않도록 가중치 벡터를 '규제'하는 선형회귀모델
릿지회귀
- 가중치벡터의 제곱합을 계산하여 규제하는 모델
라쏘회귀
- 가중치벡터의 절대값합을 계산하여 규제하는 모델