본문 바로가기

(Regression) Feature selection을 보완한 기법, 'Penalty Term'이란?

Derrick 발행일 : 2024-04-10
728x90
반응형

 

기존의 Feature Selection의 한계점을 보완한
Penalty Term은 무엇이고 어떻게 사용하나?

 

 

 

# 함께 보면 학습에 도움되는 게시물 (feature selection 기법)

2024.04.07 - [Machine Learning/Regression Problem] - (Regression) Overfitting 방지하는 Feature Selection 기법의 종류 정리

 

(Regression) Overfitting 방지하는 Feature Selection 기법의 종류 정리

Feature Selection을 왜 해야 하는지 어떤 종류들과 어떻게 사용하면 되는지 학습해보자 # 함께 보면 좋은 게시물 (모델 평가 및 지표) 2024.04.05 - [Machine Learning/Regression Problem] - (Regression) Model 평가 및

derrick.tistory.com

 


1. 기존 Feature Selection이 유용하지 않은 이유

# 전통적인 Feature Selection 방법의 단점

- 전통적인 Feature Selection 방법은 Variables가 커짐에 따라 시간이 매우 오래 걸린다.
- Forward Selection, Backward Elimination, Stepwise Selection의 경우 최적의 Variables Subset을 찾기 어렵다.
→ 즉, 가성비가 떨어진다.. (Computing Power, Time, Result.. 등)

 

 

Model이 Error를 Minimize 하는 과정에서
Feature를 Selection 해줄 수 있는 방법은 없을까?

 


2. Feature Selection

1) Feature Selection 방법의 종류는?

Feature Selection 하는 방법은 크게 3가지 종류로 분류할 수 있다.

1) Filter Method
: X's와 Y의 Correlation, Chi-Square Test, Anova, Variance Inflation Factor 등 간단한 기법으로 Filtering 수행
 → 불확실한 리스크가 있다

2) Wrapper Method
: Forward Selection, Backward Elimination, Stepwise Selection을 활용한 Feature selection
 → 최적을 보장하지 못하고 가성비가 떨어짐

3) Embedded Method ★
: Regularization Approach를 활용한 'Model이 스스로 Feature Selection을 진행하는 방법'

 

2) Embedded Method 장점

- Wrapper Method와 같이 Features의 상호작용을 고려
- 다른 방법보다 상대적으로 시간을 Save할 수 있음
- Model이 Train하면서 Feature의 Subset을 찾아감

 

 


3. Penalty Term

1) Penalty Term의 기본 개념

 

- Penalty는 축구 경기에서 반칙을 했을 때 부여하는 "벌(패널티)"의 개념
 → Model에서는 '불필요한 Feature에게 '벌'을 부여함으로써 학습하지 못하게 함'
- Error를 Minimize하는 제약 조건에서 필요 없는 Feature의 β(계수)에 Penalty를 부여하는 방식

2) penalty를 부여하는 원리는?

위의 그래프에서 왼쪽은 Overfitting된 상태이고, 이를 오른쪽 그래프처럼 smooth하게 training되기를 원할 때 어떻게 효율적으로 조치할 수 있을까?

→ 기본적으로 에러는 미분해서 '0'을 갖는 β값을 찾아감으로써 minimize시킬 수 있다.
→ 이때 β에 penalty term으로 큰 값을 부여하는 것이다. 위의 예시에서는 5000이라는 패널티 부여함으로써 모델이 학습하면서 β를 추정할 때 해당 패널티를 받은 β를 0에 가깝게 보내서 제거한다.
→ 이게 가능한 이유는 에러를 낮게 하는 과정에서 가장 불필요한 요소를 제거하는 과정이 minimize하는 조건에 포함되어있기 때문에 모델이 학습하면서 알아서 수행하게 된다.

 

하지만, Penalty를 부여하게 되면 Variance가 조금 낮아지지만 Bias가 상승한다는 점이 있지만 Training Set보다는 Test set에 더 좋은 영향을 미치기 때문에 Penalty Term은 유용하게 사용된다.

 

 

 

댓글