회귀
2024. 1. 5. 19:39ㆍ책/머신러닝 완벽가이드
회귀 Linear Regression
- 회귀에서 RSS는 비용(Cost), 비용 함수, 손실 함수(loss function)라고 함
- 머신러닝 회귀 알고리즘은 데이터를 계속 학습하면서 이 비용 함수가 반환하는 값을 지속해서 감소시키고 최종적으로는 더 이상 갑소하지 않는 최소의 오류 값을 구하는 것임
1)단순 선형 회귀(simple linear regression) : 한개의 독립 변수로 타겟 변수 예측
2)다중 선형 회귀(multiple linear regression) : 다수의 독립변수로 타겟 변수 예측
ex) 아들의 키 예측(y) = 아버지의 키 (x1) + 어머니의 키(x2) ...... 어머니 몸무게 …etc..
경사하강법
- 점진적으로 반복적인 계산을 통해 w 파라미터를 업데이트하면서 오류 값이 최소가 되는 w 파라미터를 구하는 방식임. 핵심은 오류가 작아지는 방향으로 w 값을 업데이트하는 방법
- 목적함수 : 오차의 제곱을 최소화하는 w0, w1 찾기
- 잔차 제곱의 합을 RSS / SSE(sum of squre error)라고함
비용 함수 RSS(w0,w1)에 경사하강법 적용
→ RSS(w0,w1)=N1∑i=1N(yi−(w0+w1∗xi))^2
식을 미분해서 미분 함수의 최솟값을 구해야 하는데 파라미터가 1개가 아닌 w0과 w1을 가지고 있어 편미분 진행.
- 편미분의 결과값을 반복적으로 보정하면서 파라미터 값을 업데이트하면 RSS(w0,w1)가 최소가 되는 파라미터를 구할 수 있음.
- 업데이트는 편미분 결과값에 마이너스(-)를 해준 뒤 원래 파라미터 값에 더해줌.
- 그리고 편미분 값이 너무 클 수 있기 때문에 보정 계수 η를 곱하는데, 이를 '학습률' 이라고 부름
확률적 경사 하강법
- 일반적으로 경사 하강법은 모든 학습 데이터에 대해 반복적으로 비용함수 최소화를 위한 값을 업데이트하기 때문에 수행 시간이 매우 오래 걸린다는 단점이 있다. 그래서 실전에서는 대부분 확률적 경사 하강법을 이용함.
- 확률적 경사 하강법은 전체 데이터에 대해 파라미터를 업데이트하는 것이 아니라 일부 데이터만 이용해 파라미터가 업데이트하기 때문에 경사 하강법에 비해 빠른 속도를 보장함
평가(evaluation)
- residuals을 줄이는 것이 목표
- mse의 단점은 도메인의 종류에 따라 값이 천차만별인 것
ex) 키 데이터와 손 길이 데이터가 있을 때 키 데이터의 잔차 크기가 더욱 큼
또 부동산 가격 데이터가 존재하면 잔차 크기는 억단위의 크기를 가질 것임
⇒이러한 단점을 극복하기 위해 결정계수(coefficient of determination)를 사용함
결정계수(coefficient of determination)R^2
- y값 예측을 위해 분산은 불필요
- 결정 계수는 0 < R^2 < 1 사이에 존재
- 1에 가까울수록 좋고 0에 가까울수록 안좋음
<Non-linear regression>
Polynomial regression
- 장점 : 선형의 단점보완
- 단점 : 모델 복잡도 증가
- 코사인, 사인, 제곱, 로그 등으로 tranformation 가능
단순한 모델은 과소적합 가능성 높음 ↔ 복잡한 모델은 과적합 가능성 높음
과적합 방지 방법
- 데이터 증가시키기
- feature selection
- regularization
bias-variance trade off
- 편향-분산 트레이드오프(Bias-Variance Trade off)는 머신러닝이 극복해야하는 가장 중요한 이슈 중의 하나
- 높은 편향 / 낮은 분산에서 과소적합되기 쉬움
- 낮은 편향 / 높은 분산에서 과적합되기 쉬움
→ 결국, 편향과 분산이 서로 적절히 이뤄지면서 오류 cost 값이 최대로 낮아지는 모델을 구축하는 것이 가장 효율적인 머신러닝 예측 모델을 만드는 방법임
Regularization
- 𝝀는 하이퍼 파라미터로 regularization을 조정하는 역할
- 𝝀가 커지면 weight는 작아지고 mse는 높아짐 ↔ 𝝀가 작아지면 weight는 커지고 mse는 작아짐
- 𝝀=10000, weight=down, mse=up
- 𝝀=0.001, weight=up, mse=down
- 𝝀가 커지면 weight는 작아지고 mse는 높아짐 ↔ 𝝀가 작아지면 weight는 커지고 mse는 작아짐
ex) 보고서 양에 제한 없음 = 보고서 양 늘어남(내용은 풍부) = 내용 복잡
↔ 보고서 양 제한 = 보고서 양 줄어듬(내용은 적음)=보기 좋은 보고서
train R^2 test R^2
𝝀=1 | 0.98 | 0.5 | overfitting |
𝝀=100 | 0.3 | 0.3 | underfitting |
𝝀=10 | 0.8 | 0.8 | fit |
- 𝝀를 적절히 조절한는 것이 regularization의 핵심
Ridge Regression
- 릿지 회귀는 선형 회귀에 L2 규제를 추가한 회귀 모델
- L2 규제는 상대적으로 큰 회귀 계수 값의 예측 영향도를 감소시키기 위해서 회귀 계수값을 더 작게 만드는 규제 모델
LASSO
- 라쏘 회귀는 선형 회귀에 L1 규제를 적용한 방식
- L2 규제가 회귀 계수 값의 크기를 줄이는 데 반해, L1 규제는 예측 영향력이 작은 feature의 회귀 계수를 0으로 만들어 회귀 예측 시 feature가 선택되지 않게 하는 것
- lasso는 변수를 0으로 만들고 유의미하지 않은 0값은 결국 제거 됨 - 이를 통해 어느 변수가 유의미한 것인지 파악 가능함 ( 따라서 l1규제는 feature 선택 기능으로도 불림)
- 위 그림에서 가장 유의미한 변수는 가장 늦게 0이된 핑크색 변수임
Elastic Net
- L2, L1 규제를 함께 결합한 모델
- 주로 feature가 많은 dataset에서 적용되며, L1 규제로 feature의 개수를 줄임과 동시에 L2 규제로 계수 값의 크기를 조정