모델의 성능을 높이기 위해 단순히 많은 feature를 사용하는 것이 항상 좋은 것은 아니다. 불필요한 feature가 많아질수록 모델은 학습 데이터에 과도하게 적합되는 overfitting 문제가 발생할 수 있다.
이를 방지하기 위해 feature selection(특성 선택) 이 필요하다.
feature selection의 핵심 목적은
Bias–Variance Trade-off에서 최적의 균형점을 찾는 것이다.
불필요한 feature를 제거하면 variance를 줄일 수 있지만, 너무 많은 feature를 제거하면 bias가 증가할 수 있으므로 신중한 선택이 요구된다.
Exhaustive Search(완전 탐색)는 가능한 모든 feature 조합을 평가하여 최적의 subset을 찾는 방법이다.
이 방법은 이론적으로 최적해를 보장한다는 장점이 있다.
그러나 feature 수가 조금만 커져도 경우의 수가 기하급수적으로 증가하여
계산 시간이 현실적으로 감당 불가능해진다는 치명적인 단점이 있다.
Forward Selection은 feature가 하나도 없는 상태에서 시작한다.
비교적 계산량이 적고 직관적이지만,
초기에 잘못 선택된 feature가 이후 단계에 영향을 미칠 수 있다는 한계가 있다.
Backward Elimination은 Forward Selection과 반대 방식이다.
초기 모델이 복잡해 계산 비용이 크며,
역시 전역 최적해를 보장하지는 않는다.
Stepwise Selection은 Forward와 Backward를 번갈아 수행하는 방식이다.
계산 시간은 증가하지만,
Forward/Backward 단독 방법보다 더 나은 subset을 찾을 가능성이 높다.
이러한 Exhaustive, Forward, Backward, Stepwise 방법들은 공통적인 단점을 가진다.
그렇다면 이런 질문이 자연스럽게 생긴다.
모델이 error를 최소화하는 과정 자체에서
feature selection을 자동으로 수행할 수는 없을까?
이 질문에 대한 해답으로 feature selection 방법은 크게 세 가지로 나뉜다.
Filter Method
Wrapper Method
Embedded Method
Embedded Method는 Wrapper Method의 장점을 일부 유지하면서 단점을 보완한다.
이때 핵심 역할을 하는 것이 바로 Penalty Term이다.
Penalty Term는 축구 경기에서 반칙 시 부과되는 벌 과 같은 개념이다.
모델에서는 불필요하거나 중요도가 낮은 feature에 대해
계수 값이 커지는 것을 억제하는 벌점을 부여한다.
즉, 모델은
이 과정에서 자연스럽게 중요한 feature만 살아남게 되며,
모델 스스로 feature selection을 수행하게 된다.
Regularization에서
L1은 절댓값, L2는 제곱을 사용한다.
L2 Regularization은 회귀 계수 β의 제곱합(L2-norm) 에 penalty term을 부여하는 방식이다.
즉, 모델은 제곱 오차(MSE)를 최소화하면서 동시에 계수의 크기를 제한하도록 학습된다.

이때 penalty term이 포함된 모델에서는
feature 간 스케일 차이가 결과에 직접적인 영향을 미치므로 scaling이 필수이다.
MSE contour는 타원 형태를 가지며,
중심에서 멀어질수록 error가 증가한다.
제약 조건이 없는 경우
→ MSE가 최소가 되는 지점은 LSE(Least Squares Estimator)
제약 조건(L2-norm 제한)이 있는 경우
→ 타원(MSE contour) 과 원(L2 constraint) 이 만나는 지점이
제약을 만족하면서 error가 최소가 되는 해가 된다.

이 과정은
train error를 약간 증가시키는 대신 variance를 줄이는 과정으로 볼 수 있으며,
overfitting을 방지하는 효과를 가진다.
계수의 크기를 줄이는 특성 때문에
Ridge Regression은 shrinkage method라고도 불린다.
릿지 회귀는 선형 회귀와 구조는 같지만,
각 feature가 출력에 미치는 영향을 전반적으로 줄이도록 규제를 거는 모델이다.
다중공선성 문제는 두 개 이상의 feature가 강한 상관관계를 가질 때 발생하며, Ridge Regression은 이를 완화하여 모델의 안정성을 높여준다.
Lasso는 회귀 계수의 절댓값 합(L1-norm) 에 penalty term을 부여한다.

기하학적으로 보면,

이 차이 때문에
Lasso는 최적해가 좌표축과 만나는 경우가 많아지고,
그 결과 일부 계수가 정확히 0이 된다.

→ 해당 feature는 모델에서 완전히 제외됨
즉, Lasso는
Regularization + Feature Selection을 동시에 수행한다.
Lasso는 절댓값을 사용하기 때문에
미분이 불가능하며,
Ridge와 달리 closed-form solution이 존재하지 않는다.
따라서 실제 학습에서는
Numerical optimization 방법을 사용한다.
λ가 클수록
→ 선택되는 변수 수 감소
→ 단순한 모델
→ underfitting 위험 증가
λ가 작을수록
→ 많은 변수 사용
→ 복잡한 모델
→ overfitting 위험 증가
Ridge와 Lasso 모두
λ가 커질수록 계수의 크기는 줄어든다.
Ridge
→ 크기가 큰 계수부터 빠르게 감소 (제곱 penalty)
Lasso
→ 중요하지 않은 계수가 먼저 0이 됨
→ 명확한 feature selection 효과
Ridge
Lasso
Elastic Net은 L1-norm과 L2-norm을 결합한 정규화 기법이다.
즉, Ridge와 Lasso의 장점을 동시에 활용하는 방식이다.

Elastic Net의 목적 함수는 오차를 최소화하면서,
L1과 L2 penalty를 동시에 제어하는 것이다.

Elastic Net은 상관관계가 강한 feature들을 함께 선택하거나 함께 제거하는 경향을 가진다.
이 특성 때문에 Elastic Net은
feature 간 상관관계가 강한 데이터셋에서 특히 유리하다.
Elastic Net에서는 두 개의 penalty 강도를 조절한다.
실제로는 일정 범위 내에서 λ₁, λ₂를 함께 조정하며 실험하고,
가장 좋은 예측 성능을 보이는 조합을 선택한다
현실 데이터에서의 안정성과 성능은 더 뛰어난 경우가 많다.
Elastic Net의 제약 조건은
L1과 L2 제약이 혼합된 형태의 해 공간을 만든다.

이로 인해 계수가 0이 되기도 하고, 동시에 안정적으로 shrinkage 되는 특성
Elastic Net을 확장한 다양한 정규화 기법들도 존재한다.
구조적 특성을 가진 데이터에서 특히 유용하게 사용된다.
특히 고차원 데이터 + 강한 feature 상관관계 환경에서는
Elastic Net이 가장 현실적인 선택이 되는 경우가 많다.