회귀 개요
통계학에서의 회귀분석: 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계 기법
머신러닝에서의 회귀: 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭
Y: 종속변수
X1,X2,...,Xn: 독립변수
W1,W2,...,Wn: 회귀 계수 (Regression Coefficients)
Y=W1X1+W2X2+...+WnXn
머신러닝 회귀 예측의 핵심은
주어진 Feature와 Target 값 데이터 기반에서 학습을 통해서 최적의 회귀계수를 찾는 것!
회귀 계수와 독립변수를 헷갈리지 말자
회귀 계수를 찾는 것임
회귀의 유형
독립변수 갯수
- 1개: 단일 회귀 (Simple)
- 여러 개: 다중 회귀 (Multiple)
회귀 계수의 결합
- 선형: 선형 회귀 (Linear)
- 비선형: 비선형 회귀 (Nonlinear)
정형 데이터일 때 대부분 선형 회귀가 비선형 회귀보다 예측 성능이 좋음!
분류와 비교
분류는 결과 값이 Category값 (이산값)
회귀는 결과 값이 숫자값 (연속값)
선형 회귀의 종류
- 일반 Linear Regression: 규제 적용하지 않은 모델, RSS 최소화를 위해 회귀 계수를 최적화
- Ridge Regression: 선형 회귀에 L2 규제 추가한 모델
- Lasso Regression: 선형 회귀에 L1 규제 추가한 모델
- ElasticNet Regression: L1, L2 규제를 함께 결합한 모델
- Logistic Regression: 이름은 회귀지만 분류에 사용되는 선형 모델
최적의 회귀 모델을 만든다는 것은
전체 데이터의 잔차(오류 값) 합이 최소가 되는 모델을 만드는 것!
동시에 오류 값 합이 최소가 될 수 있는 최적의 회귀 계수를 찾는다는 의미
RSS: 오류의 제곱을 구해서 더하는 방식
-> W 식으로 표한할 수 있음!
회귀 계수를 학습을 통해서 찾는 것
RSS에서 W (회귀 계수)가 중심 변수, 독립변수(X), 종속변수(Y)는 여기서 상수 취급함
회귀에서 RSS는 비용 함수 (cost function)
라고 부름
경사 하강법의 핵심
- 어떻게 하면 오류가 작아지는 방향으로 W 값을 보정할 수 있을까?
경사하강법 관련 이론은 딥러닝에서..
여기서는 실습 중심으로 하기
회귀 성능 평가지표
MAE=n1i=1∑N∣Yi−Yi^∣
MSE=n1i=1∑N(Yi−Yi^)2
RMSE=n1i=1∑N(Yi−Yi^)2
MSLE=n1i=1∑N(log(Yi+1)−log(Yi^+1))2
RMSLE=n1i=1∑N(log(Yi+1)−log(Yi^+1))2
R2=실제값Variance예측값Variance=총제곱합(SST)회귀제곱합(SSR)
MLSE,RMSLE의 log에 1이 더해진 것은 −Inf 값의 방지
R2에 관해서..
- 통계학적으로 설명하면 설명 가능한 분산(편차)
- 총 제곱합은 관측값과 평균의 차이에 기반
- 회귀 제곱합은 회귀예측값과 평균 차이에 기반
- 실제 값의 분산 대비 예측값의 분산 비율
- 예측모델과 실제 모델이 얼마나 강한 상관관계를 가지는가
MAE와 RMSE 비교
- MAE에 비해 RMSE는 큰 오류값에 상대적인 패널티를 더 부여함
- 따라서 데이터의 특성이 오차가 클 경우 더 큰 패널티를 부여해야 하면 RMSE를 사용하면 되는 것