출퇴근길에 공부하는 머신러닝
머신러닝에서 과적합을 방지하는 것은 극도로 중요하며, 이를 위해서는 정규화된 모델이 필수적이다. 특히, Feature의 수가 많아 모델이 복잡해질 가능성이 있는 경우에는 이러한 모델들이 필요하게 된다. Ridge, LASSO, 그리고 ElasticNet은 이러한 정규화된 모델들 중 대표적인 예이다. 이 모델들은 Feature 계수에 Penalty를 적용하여, 과적합을 방지하게 된다. 이 글에서는 각 모델의 정의, 특징, 그리고 적용 방식에 대해 자세히 살펴보겠다.
Ridge 회귀는 선형 회귀 모델에 L2 Penalty를 적용한 것이다. 이 Penalty는 계수의 제곱의 크기를 나타내며, L2-Norm이라고도 불린다. 수식으로는 다음과 같다.
여기서, λ는 정규화 항의 크기를 조절하는 매개변수이다. λ의 값이 클수록 계수의 크기가 작아져 모델의 복잡성이 감소한다. 이러한 Ridge의 몇가지 특징에 대해서 살펴보겠다.
다중공선성: Ridge 회귀는 다중공선성 문제를 완화시키기 위해 사용될 수 있다. 다중공선성이 있는 변수들 사이에서 편향을 추가하여 회귀 추정을 안정화시킨다. 여기에서 다중공선성이란 Feature들이 서로 강하게 상관되어 있는 상태를 뜻한다. 이는 해석이 어렵고, 계수 추정이 불안정하게 된다.
스케일링의 중요성: Ridge 회귀는 변수의 스케일에 민감하기 때문에, 모델을 적용하기 전에 변수의 스케일링이 필요하다. 스케일에 민감한 이유는각 Panalty가 각 계수의 제곱에 비례하기 때문이다.
LASSO(Least Absolute Shrinkage and Selection Operator)는 선형 회귀 모델에 L1 Penalty를 부과한다. L1 Penalty는 계수의 절댓값의 합을 나타내며, 이 Penalty 때문에 어떤 계수는 정확히 0이 될 수 있다. 그리고 수식은 아래와 같이 표현된다.
이러한 LASSO의 특정에 대해서 살펴보겠다.
특성 선택: LASSO는 계수를 정확히 0으로 만들 수 있으므로, 특성 선택에 유용하다.
볼록 최적화: LASSO의 목적 함수는 볼록함수이므로, 전역 최적해를 찾을 수 있다. 여기에서 블록 함수란 어떤 두 점을 선택하고 그 점들을 잇는 선분이 함수의 그래프 위에 있을때, 그 함수를 블록 함수라고 한다.
ElasticNet은 Ridge와 LASSO의 중간 형태로, L1과 L2 Penalty를 모두 포함합니다. 수식으로 표현하면 아래와 같이 나타낼 수 있다.
이러한 ElasticNet의 특징은 다음과 같다.
균형 잡힌 정규화: ElasticNet은 Ridge와 LASSO의 이점을 모두 결합하여, 특성의 그룹이 서로 상관관계가 있을 때 유용하다.
매개변수 튜닝: λ1과 λ2의 균형을 잘 조절해야 한다.
정리하자면, Ridge, LASSO, 그리고 ElasticNet은 머신러닝에서 다중공선성과 특성 선택 문제를 해결하는 핵심적인 정규화 선형 회귀 모델이다. 모델의 선택은 프로젝트의 구체적인 요구사항과 데이터의 특성에 따라 달라진다. 이러한 모델들의 이해와 적절한 적용은 머신러닝 모델의 성능을 크게 향상시킬 수 있다.