python_machinelearning_perfect_guide 5_regression
5. 회귀
1. 회귀(regression) 소개
회귀 역사
유전적 특성을 견구하던 영국의 통계학자 갈톤(Galton)이 수행한 연구에서 유래
(일반론) 정확하지 않음
내용
1. 부모와 자식 간의 키의 상관관계를 분석했던 갈토은 부모의 키가 모두 클 때 자시의 키가 크긴 하지만 그렇다고,
부모의 크기를 능가하진 않음
2. 부모의 키가아주 작더라도 자식의 키가 더 작아지지 않음
-> 1번과 2번의 특성을 합치면 사람의 키는 평균 키로 회귀하려는 경향을 가진다 라는 법칙이 나옴
회귀
통계학 용어르 빌리면 회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭.
ex) 아파트 방 개수, 방 크기, 주변 건물로 아파트 가격이라는 종속변수가 어떤 관계를 나타내는지 예측 및 모델링
- 회귀 계수(Regression coefficients)
독립변수의 값에 영향을 미치는 변수
-> 머신러닝 관점에서 독립변수는 피처, 종속변수는 결정 값
- 일반 선형 회귀
예측값과 실제 값의 RSS(Residual Sum of Squares)를 최소화할 수 있도록 회귀 계수를 최적화
규제(Regularization)을 적용하지 않은 모델
- 릿지(Ridge)
선형 회귀에 L2 규제를 추가한 회귀 모델
상대적으로 큰 회귀 계수 값의 예측 영향도를 감소시키기 위한 모델
- 라쏘(Lasso)
선형 회구에 L1 규제를 적용한 방식
예측 영향력이 작은 피처의 회귀 계수를 0으로 만들어 회귀 예측 시 피처가 성택되지 않도록 한 모델
피처 선택 기능으로 불리기도 함
- 엘라스틱넷(ElasticNet)
L2, L1 규제를 함께 결합한 모델
주로 피처가 많은 데이터 세트에서 적용
L1 규제로 피처 개수를 줄이고 L2 규제로 계수 값의 크기를 조정
- 로지스틱 회귀(Logistic Regression)
분류에 사용되는 선형 모델
이진 분류뿐만 아니라 희소 영역으로 분류 (ex 텍스트 분류)
2. 단순 선형 회귀를 통한 회귀 이해
단순 선형 회귀
단순 선형 회귀란
독립변수 하나, 종속변수 하나 인 선형 회귀
ex) 주택 가격이 주택 크기로만 이루어진다고 가정
주택 가격은 주택 크기에 대해 선형의 관계로 표현 가능
3번 GD, SGD 생략
4. 사이킷런 LinearRegression을 이용한 보스턴 주택 가격 예측
4. 사이킷런 LinearRegression을 이용한 보스턴 주택 가격 예측.ipynb
위 코드로 정리
회귀 평가 지표
- MAE(Mean Absolute Error) 실제 값과 예측값의 차이를 절댓값으로 변환해 평균한 값 - MSE(Mean Squared Error) 실제 값과 예측값의 차이를 제곱해 평균한 값 - RMSE(Root Mean Squared Error) MSE 값은 오류의 제곱을 구하므로 실제 오류 평균보다 더 커지는 특성이 있음. MSE에 루트를 씌운 값 - R^2 분산 기반으로 예측 성능을 평가. 실제 값의 분산 대비 예측밧의 분산 비율을 지표로 함 1에 가까울수록 정화도가 높다.
5. 다항 회귀와 과(대)적합/과소적합
다항 회귀
이전 장에서의 회귀는 독립변수(feature)와 종속변수(target)의 관계가 일차 방정식 형태로 표현
-> 직선으로만 표현 가능하다는 문제가 있음
2,3차 방정식과 같은 다항식으로 표현하는 것을 다항(Polynomial)회귀 라고한다.
주의, 다항 회귀는 선형회귀 이다.
이를 구분하는 기준은 회귀 계수가 선형/버선형인지에 따른 것, 독립변수의 선형/비선형 여부와는 무관
즉, w0 * x1 + w1*x2 + w3 *(x1 + x2) + w4 는 선형회귀 x를 바꾼것
편향-분산 트레이드오프(Bias-Variance Trade off)
- 고편향(High Bias)
단순한 모델은 지나치게 한 방향성으로 치우칠 수 있는 경향이 있다.
- 고분산(High Variance)
고편향과 반대로 매우 복잡한 모델이 있으면 지나치게 높은 변동성을 가지게 되어있다.
6. 규제 선형 모델 - 릿지, 라쏘, 엘라스틱넷
규제 선형 모델의 개요
회귀 모델은 적절히 데이터에 적합하면서도 회귀 계수가 기하급수적으로 커지는것을 제어할 수 있어야 한다.
비용 함수는 학습 데이터의 잔차 오류 값을 최소로 하는 RSS 최소화 방법과 과적합을 방지하기 위해 회기 계수가 커지지 않도록 하는 방법이 균형을 이뤄야 한다.
"최적 모델을 위한 Cost 함수 구성요소"
= "학습데이터 잔차 오류 최소화" + "회귀계수 크기 제어"
선형 회귀 모델을 위한 데이터 변환
선형 회귀 모델과 같은 선형 모델은 일반적으로 피처와 타깃값 간에 선형의 관계가 있다고 가정
선형 회귀 모델은 피처값과 타깃값의 분포가 정규분포 형태를 매우 선호함.
-> 특히 타깃값이 정규 분포 형태가 아니라 특정값의 분포가 치우친 왜곡(Skew)된 형태의 분포도일 경우
예측에 부정적인 영향을 미칠 가능성이 크다.
일반적으로 선형 회귀 모델을 적용하기 전에 먼저 데이터에 대한 스케일링/정규화 작업을 수행하는 것이 일반적