Machine Learing 기계학습 머신러닝
회귀계수 축소법을 공부하기 전에 분석용 데이터의 이상적인 조건에 대해 먼저 알아보자.
- 독립변수 X 사이에 상관성이 작아야 이상적임
- 반면에 독립변수 X와 종속변수 Y의 상관성은 커야 함.
- 위 두 성질을 만족하는 소수의 독립변수 집합
- 많은 양질의 데이터(결측치와 노이즈가 없는 깨끗한 데이터)
변수 선택(variable Selection)
독립변수 X간에는 상관성이 적고, X와 종속변수 Y간에는 상관성이 큰 독립변수만을 추출
그럼 좋은 변수는 어떤 변수일까?
Y의 변동성을 잘 설명하면서 X들끼리는 상관관계가 없는 변수들이 좋은 변수이다.
X1과 X2는 Y의 변동성을 설명하면서 겹치게 되고 변동성을 중복으로 가져갈 수 없기 때문에
겹치는 부분이 많아지면 하나를 제거해야 한다.
겹치는 부분이 많아지는 경우 -> 다중 공선성 문제
2020/06/12 - [Data Science/Machine learning] - [기계학습] 6.다중공선성 , 회귀모델의 성능지표 ( AIC , BIC )
그래서 다중 공선성을 완화시키기 위해 나온 게 회귀계수 축소법이다.
회귀계수를 축소하는 이유
- 영향력이 없는 입력 변수의 계수를 0에 가깝게 가져간다면 , 모형에 포함되는 입력 변수의 수를 줄일 수 있음.
- 입력 변수의 수를 줄이면 크게 세 가지 장점이 있음
-
잡음(noise)을 제거해 모형의 정확도(예측력)를 개선
-
모형의 연산 속도가 빨라짐 ( 중요한 변수만 남기기 때문에 빨라짐 )
-
다중공선성의 문제를 완화시켜 모형의 해석 능력을 향상 - 무조건 다중공선성의 해결방법은 아니다.
다중공선성 해결방법 중에 하나이다.
예 ) 입력 변수가 나이, 잔고액, 생년인 경우 나이와 생년은 같은 의미를 갖기 때문에 둘 중 하나를 제거
회귀 계수 축소법은 기본적으로 다중선형회귀와 유사함.
다중선형회귀에서 잔차를 최소화했다면, 계수축소법에서는 잔차와 회귀계수를 최소화
다중선형회귀식의 SSE 식 ( SSE를 최소화(minimize)한다 )
여기에 계수축소법은 회귀계수를 축소하는 항(페널티)을 추가시킨다.
축소하는 항(페널티)이 어떤 형식인지에 따라 회귀계수 축소법의 종류는 다양하다.
회귀계수 축소법의 종류
-
Ridge 회귀
-
Lasso 회귀
-
Elastic-Net 회귀
Ridge 회귀 ( Ridge regression )
축소하는 항(페널티)인 f(B)에 회귀계수의 제곱 합을 대입한다.
람다(λ)는 tuning parameter(사용자가 정하는 속성 값)로 크면 클수록 보다 많은 회귀계수를 0으로 수렴
람다의 적절한 값은 데이터마다 다르며, 값이 높아질 경우 입력 변수가 0으로 수렴한다.
위 그래프는 람다가 커질수록 입력 변수인 Income, LimitRating , Student가 0으로 수렴하는 그래프이다.
다중선형회귀식에서 다중공선성이 발생하는 이유는 변수들의 선형 관계가 심하게 있을 경우
X'X가 0의 값을 가지기 때문에 역행렬을 구할 수 없어 이상한 값을 계산하게 되어 발생.
릿지 회귀(Ridge regression)는 X'X의 역행렬을 구할 수 있도록
강제로 작은 값을 diagonal term에 추가한 것이다.
정리 : Ridge 회귀는 역행렬을 구할 수 있게끔 약간의 트릭을 쓴 회귀계수축소법이다!
'Machine learning' 카테고리의 다른 글
[기계학습] 나이브 베이즈 분류 - Naive bayes classifier (0) | 2020.07.07 |
---|---|
[기계학습]PCA (Principal Conponents Analysis) 주성분 분석 (0) | 2020.07.02 |
[기계학습] 변수 선택법 알고리즘( Python Code - 파이썬 예제 ) (0) | 2020.06.18 |
[기계학습]. 다중선형회귀(Multiple Linear Regression)실습 Python code -예제 (0) | 2020.06.17 |
[기계학습]로지스틱 회귀분석 ( logit , odds , sigmoid 함수 ) (0) | 2020.06.16 |