2020. 6. 23. 16:54ㆍML in Python/Knowledge
변수선택법
※ 변수선택법으로 Forward / Backward / Stepwise 방법을 통해 유의미한 변수를 선택하여 변수의 개수를 줄이고 모델을 단순화 시키는 작업에 대해서 알아보았다. 회귀계수 축소법은 비슷해보이지만 목표가 약간다르다. 변수선택법에서는 다중회귀 분석을 진행할 때, 다중공선성과 같은 문제를 해결하기 위해 SSE를 최소화하며 변수선택을 해나가거나 또는 제거해나아가는 방식을 택했다.
https://todayisbetterthanyesterday.tistory.com/10
회귀계수 축소법
하지만, 회귀계수 축소법의 기본적인 공통원리는 SSE(잔차)에 Penalty를 더하여 [SSE + f(x)(= 패널티)]를 함께 축소시키는 것을 목표로 한다. 기본적으로 다중선형회귀와 유사하나, 계수 축소법에서는 잔차에다가 회귀계수를 최소화하는 과정을 거친다.
회귀계수 축소법의 종류는 3가지가 있다.
1. Lasso
- f(b)에 회귀계수의 절대값의 합을 대입한다.
- Lasso : minimize sse + lambda(sigma |beta|)
- Lasso의 beta는 Ridge와 다르게 한번에 구할 수 없다. 라그랑지안을 통해 최적화를 진행할 필요가 있다.
2. Ridge
- f(b)에 회귀계수의 제곱의 합을 대입한다.
- Ridge : minimize sse + lambda(sigma beta^2)
- 위의 식에서 b(beta)는 결과적으로 라그랑지안 미분을 통해 b = (X`X + lambda*I)^(-1)*X`*y 로 구해진다.
- 다중공선성은 X들간의 강한 선형관계가 있을때 발생한다. 이 경우 X`X의 역행렬을 구할 수 없고 Ridge는 X`X를 구할 수 있도록 강제로 작은 값을 대각행렬에 추가한 것이다.
위에 유사해보이는 두 회귀계수 축소법은 공통점과 차이점이 있다. 먼저, 두 식의 lambda값 모두 parameter로 크면 클 수록 보다 많은 회귀계수를 0으로 수렴시킨다. 두 방법 모두 SSE를 희생해 계수를 축소하는 방법이다. 그리고 적절한 람다 값은 람다값을 변형시키며 MSE가 최소일 때의 람다를 탐색해 찾아내야 한다.
Ridge와 Lasso는 차이점 또한 존재한다. Ridge와 Lasso의 가장 큰 차이는 Ridge는 계수를 0에 근사하도록 축소하나, Lasso는 계수를 완전하게 0으로 축소시킨다. 그렇기에 Ridge의 경우 입력변수가 전반적으로 비슷한 수준으로 출력변수에 영향을 미치는 경우 사용하고, Lasso의 경우 출력변수에 미치는 입력변수의 영향력 편차가 큰 경우에 사용한다.
3. Elastic-Net
- Elastic-Net 회귀는 Lasso와 Ridge의 하이브리드 회귀모델이다.
- lambda_1, lambda_2는 각각 Ridge와 Lasso 속성에 대한 강도를 조절하는 것이다. 이를 통해,Ridge의 정규화 속성과 Lasso의 변수축소 속성을 둘 다 갖는 모델이다.
- Lasso는 상관관계가 있는 다수의 변수들 중 하나를 무작위 선택하여 계수를 축소하는 반면, Elastic-Net은 상관성이 높은 다수의 변수들을 모두 선택하거나 제거한다.
- 이러한 방식을 통해 group effect를 유도한다. 따라서 다수의 변수간에 상관관계가 존재할 때 유용하다.
※ 보통은 성능이 Ridge와 Elastic-Net이 좋다고 하나, 절대적이지 않다고 한다. 그렇기에 변수선택법이든, 계수축소법이든 모형을 단순화 시킬때 여러 방면으로 확인해보는 작업이 필요하다. 다음은 Python을 통한 실습을 진행하고 빠른 시일 내 링크를 공유하겠다.
'ML in Python > Knowledge' 카테고리의 다른 글
[Data Analysis 개념] KNN(K-Nearest-Neighbors)알고리즘 (0) | 2020.07.03 |
---|---|
[Data Analysis 개념] NaiveBayes(나이브 베이즈) 모델 - 조건부 확률 / 베이즈 정리 / Multinomial, Gaussian, Bernoulli NaiveBayes (0) | 2020.07.02 |
[Data Analysis 개념] 차원의 저주 (0) | 2020.06.25 |
헷갈리는 통계기본 - 정확도, 정밀도, 재현율, 특이도, G-mean, F1 measure, ROC curve&AUC, Gain Chart & Lift curve 정리 (2) | 2020.06.09 |
헷갈리는 통계기본 - 신뢰구간/신뢰도/유의수준/유의확률/검정력 (0) | 2020.06.07 |