선형 모델(Linear model)의 예측력(accuracy) 혹은 설명력(interpretability)을 높이기 위해 여러 정규화(regularization) 방법들을 사용한다. 대표적인 shrinkage 방법에는 ridge regression과 lasso가 있으며 이번에는 ridge regression을 설명하고자 한다.
기본 선형 모델
기본적인 선형모델은 다음과 같다.
$Y = \beta_0 + \beta_1X_1 + \dots + \beta_pX_p + \epsilon$
이 선형 모델의 오차를 최소화하는 계수를 찾기 위한 최소 제곱 법(Least squares)은 다음과 같다.
$RSS = \sum_{i=1}^n(y_i-\beta_0-\sum^p_{j=1}\beta_jx_{ij})^2$
Ridge regression
Ridge regression은 최소제곱법과 매우 유사하나, '각 계수의 제곱을 더한 값'을 식에 포함하여 계수의 크기도 함께 최소화하도록 만들었다는 차이가 있다.
$RSS + \lambda\sum^p_{j=1}\beta^2_j$
Ridge regression 장점 및 사용하는 이유
기본 선형모델을 사용하다 보면 overfitting이 발생할 수 있다. Overfitting된 경우 데이터에 매우 적합되어 극단적으로 오르락내리락하는 그래프가 생성되며, 이를 표현하는 선형 회귀의 계수 값이 매우 크게 (예를 들면 $y=341523 -24635x + 456234x^2$) 나타난다. 이렇게 Variance가 큰 상황을 막기 위해, 계수 자체가 크면 페널티를 주는 수식을 추가 한 것이 ridge regression이다. $x^n$과 같이 차원이 큰 파라미터를 사람이 인위적으로 소거할 수도 있지만, ridge regression은 오차를 최소화하는 함수에 페널티를 줌으로써 보다 부드럽게 계수를 선택하는 차이가 있다. Ridge regression은 기본 선형 모델을 regularize 하여 좀 더 좋은 performance를 내기 위해 시도해볼 수 있는 아주 기본적인 기법이다.
Ridge regression 특징
$\lambda$가 크면 계수를 많이 줄이는데 집중하게 되며, $\lambda$가 작으면 오리지날 최소 제곱 법 문제를 풀게 된다. 아래 그림을 보면 $\lambda$가 커질수록 계수의 크기가 shrink 되는 효과가 생기는 것을 볼 수 있다.
또한, 식에 $\beta^2$을 사용하기 때문에 어떤 계수가 덜 중요하더라도 완전히 0으로 수렴하지는 않고 충분히 작은 소수점으로 남아 있는 특징이 있다.
Ridge regression 사용시 참고할 점
Ridge regression은 변수의 크기가 결과에 큰 영향을 미치기에, 변수를 스케일링(Scaling of predictors)을 해주어 서로 사이즈가 비슷하도록 만들어주는 작업이 필요할 수 있다. 일반적으로 표준편차를 각 predictors마다 구한 뒤 각 데이터에 나누어준다.
$\tilde{x}_{ij} = \frac{x_{ij}}{\sqrt{\frac{1}{n}\sum^n_{i=1}(x_{ij}-\bar{x}_j)^2}}$
$\lambda$를 바꿔보며 bias-variance tradeoff를 볼 수 있다. $\lambda$가 작을수록 계수 크기에 영향을 덜 미치기에 좀 더 flexible 한 모델이 형성되어 검은선인 bias 문제가 적고 초록 선인 variance 문제가 생기는 것을 볼 수 있다.
'IT > ML' 카테고리의 다른 글
의사결정트리(Decision Tree) 회귀트리, pruning 쉽게 이해하기 (0) | 2020.11.03 |
---|---|
Lasso 간단한 설명과 ridge, lasso 비교 (0) | 2020.10.26 |
K-Fold Cross Validation(교차검증) 쉽게 이해하기 (0) | 2020.10.19 |
Training, Validation and Test sets 차이 및 정확한 용도 (훈련, 검정, 테스트 데이터 차이) (2) | 2020.10.19 |
머신러닝 편향-분산 트레이드오프(Bias-variance tradeoff) 쉽게 이해하기 (0) | 2020.09.22 |