특성 선택 (Feature Selection)
핵심 요약: 100개 특성 중 진짜 중요한 10개만 골라 모델을 더 좋게 만든다. 불필요한 특성은 노이즈일 뿐 — 줄이면 오히려 성능이 오른다.
초보자를 위한 핵심 용어
섹션 제목: “초보자를 위한 핵심 용어”- 특성 선택(Feature Selection): 전체 특성 중 모델에 가장 유용한 부분 집합만 골라내는 과정. 특성 공학이 “만드는 것”이라면, 특성 선택은 “골라내는 것”.
- 필터 방법(Filter): 상관계수 등 통계적 기준으로 빠르게 특성을 걸러내는 방법. 모델과 독립적이라 속도가 빠르다.
- 임베디드 방법(Embedded): Lasso, 트리 모델처럼 학습 과정에서 자동으로 중요한 특성을 선택하는 방법.
- SHAP: 게임 이론의 Shapley value에 기반한 특성 중요도 측정 방법. 각 특성이 예측에 얼마나 기여했는지를 이론적으로 가장 정확하게 계산한다.
숫자로 보는 특성 선택의 효과
섹션 제목: “숫자로 보는 특성 선택의 효과”상황: 고객 이탈 예측, 원래 특성 50개.
| 단계 | 특성 수 | 정확도 | 학습 시간 |
|---|---|---|---|
| 전체 사용 | 50개 | 84% | 120초 |
| 상관분석 필터 (r < 0.05 제거) | 30개 | 86% | 75초 |
| Lasso(L1) 임베디드 | 12개 | 89% | 30초 |
| SHAP 기반 최종 선별 | 8개 | 91% | 18초 |
특성을 50개에서 8개로 줄였더니, 정확도는 84%→91%로 올랐고, 학습 시간은 1/6로 줄었다. 불필요한 특성이 노이즈로 작용했기 때문이다.
특성 선택(Feature Selection)은 모델 학습에 가장 유용한 특성의 부분 집합을 선별하는 과정이다. 불필요한 특성은 노이즈를 추가하고, 차원의 저주(curse of dimensionality)를 유발하며, 과적합을 촉진하고, 학습 시간을 늘린다. 특성 선택은 필터(Filter), 래퍼(Wrapper), 임베디드(Embedded) 세 가지 접근법으로 나뉜다.
탄생 배경
섹션 제목: “탄생 배경”특성 선택의 역사는 Ronald Fisher가 1936년에 발표한 판별 분석(Discriminant Analysis)까지 거슬러 올라간다. Fisher는 붓꽃(Iris) 데이터에서 4개의 측정값 중 어떤 것이 종(species)을 구분하는 데 가장 유용한지를 분석했으며, 이것이 사실상 최초의 체계적 특성 선택이었다.
이후 수십 년간 통계학에서 변수 선택(variable selection) 연구가 이어졌고, 1996년 Tibshirani가 Lasso(L1 정규화)를 발표하면서 모델 학습과 특성 선택을 동시에 수행하는 임베디드 방법의 시대가 열렸다. 2001년에는 Breiman의 Random Forest가 특성 중요도(feature importance)를 자연스럽게 제공하는 도구로 널리 사용되기 시작했다.
가장 최근의 도약은 2017년 Lundberg와 Lee가 발표한 SHAP(SHapley Additive exPlanations)이다. 게임 이론의 Shapley value를 ML 해석에 적용한 SHAP은 특성 중요도를 이론적으로 가장 견고하게 측정할 수 있는 방법을 제공하며, 특성 선택과 모델 해석 가능성(Explainability)을 동시에 달성하는 현대적 접근의 핵심이 되었다.
핵심 개념
섹션 제목: “핵심 개념”1. 필터 방법 (Filter Methods)
섹션 제목: “1. 필터 방법 (Filter Methods)”모델에 독립적으로, 통계적 관계만을 기반으로 특성을 평가한다.
| 기법 | 적합한 데이터 | 측정 대상 |
|---|---|---|
| 분산 임계값 | 모든 데이터 | 분산이 낮은 특성 제거 |
| 상관계수 (Pearson) | 수치형 | 선형 관계 강도 |
| Chi-Square Test | 범주형 | 특성-타겟 독립성 |
| Mutual Information | 모든 데이터 | 비선형 관계 포함 정보량 |
| ANOVA F-test | 수치-범주형 | 클래스 간 평균 차이 |
장점: 빠르고, 모델에 독립적
단점: 특성 간 상호작용을 무시, 중복 특성 제거 어려움
2. 래퍼 방법 (Wrapper Methods)
섹션 제목: “2. 래퍼 방법 (Wrapper Methods)”모델 성능을 직접 평가하여 최적 특성 부분 집합을 탐색한다.
| 기법 | 방향 | 설명 |
|---|---|---|
| Forward Selection | 추가 | 빈 집합에서 시작, 최적 특성을 하나씩 추가 |
| Backward Elimination | 제거 | 전체에서 시작, 가장 불필요한 특성을 하나씩 제거 |
| RFE (Recursive Feature Elimination) | 제거 | 모델의 특성 중요도를 기반으로 재귀적 제거 |
장점: 모델 성능을 직접 최적화
단점: 매우 느림 (특성 수에 비례하는 모델 학습 횟수)
3. 임베디드 방법 (Embedded Methods)
섹션 제목: “3. 임베디드 방법 (Embedded Methods)”모델 학습 과정에서 특성 선택이 자동으로 이루어진다.
L1 Regularization (Lasso)
섹션 제목: “L1 Regularization (Lasso)”
L1 페널티가 일부 가중치를 정확히 0으로 만들어, 자동으로 특성을 선택한다.
트리 기반 중요도
섹션 제목: “트리 기반 중요도”- Gini Importance (MDI): 분할 시 불순도 감소 기여도
- 장점: 빠르고 직관적
- 주의: 고카디널리티 특성에 편향
ElasticNet
섹션 제목: “ElasticNet”L1 + L2를 결합하여 그룹화된 특성도 선택할 수 있다.
4. 특성 중요도 점수 (Importance Scores)
섹션 제목: “4. 특성 중요도 점수 (Importance Scores)”| 방법 | 원리 | 신뢰도 | 주의점 |
|---|---|---|---|
| Permutation Importance | 특성을 무작위 섞었을 때 성능 하락 정도 | 높음 | 상관된 특성 간 중요도 분산 |
| SHAP Feature Importance | Shapley value 기반 기여도 | 매우 높음 | 계산 비용 높음 |
| MDI (Mean Decrease Impurity) | 트리의 분할 불순도 감소 | 중간 | 고카디널리티 편향 |
| Drop-Column Importance | 특성 제거 후 재학습 성능 비교 | 높음 | 매우 느림 |
Permutation Importance의 한계: 두 특성이 강하게 상관되어 있으면, 하나를 섞어도 다른 하나가 정보를 보존하여 중요도가 과소 평가될 수 있다.
SHAP (SHapley Additive exPlanations): 게임 이론의 Shapley value에 기반한 가장 이론적으로 견고한 방법이다. 지역적(local) 설명과 전역적(global) 중요도를 모두 제공한다.
상세 내용
섹션 제목: “상세 내용”특성 선택 워크플로우
섹션 제목: “특성 선택 워크플로우”특성 선택 방법 비교
섹션 제목: “특성 선택 방법 비교”| 특성 | Filter | Wrapper | Embedded |
|---|---|---|---|
| 속도 | 매우 빠름 | 매우 느림 | 중간 |
| 모델 의존성 | 독립 | 의존 | 의존 |
| 상호작용 고려 | 아니오 | 예 | 부분적 |
| 과적합 위험 | 낮음 | 높음 | 중간 |
| 구현 용이성 | 쉬움 | 복잡 | 쉬움 |
언제 사용하는가
섹션 제목: “언제 사용하는가”| 상황 | 추천 방법 |
|---|---|
| 특성 수십 개, 빠른 결과 필요 | Embedded (Lasso, Tree) |
| 특성 수백~수천 개 | Filter → Embedded 순차 |
| 최고 성능 필요, 시간 충분 | Wrapper (RFE) |
| 해석 가능성 중요 | SHAP + Permutation Importance |
| 고카디널리티 범주형 | Mutual Information, Target Encoding |
| 딥러닝 | 보통 불필요 (모델이 자동 선택) |
실전 사례
섹션 제목: “실전 사례”유전체학: 20,000개 유전자에서 50개로 줄여 암 진단 정확도를 높이다
섹션 제목: “유전체학: 20,000개 유전자에서 50개로 줄여 암 진단 정확도를 높이다”유전체학(genomics) 분야에서 마이크로어레이(microarray) 데이터는 전형적인 “p >> n” 문제를 보인다 — 특성(유전자) 수가 20,000개 이상인 반면 샘플(환자) 수는 수십~수백 명에 불과하다. 한 연구팀이 유방암 진단 모델을 구축할 때 다음과 같은 결과를 얻었다:
- 전체 20,000개 유전자 사용: 차원의 저주로 인해 교차 검증 정확도가 72%에 그쳤다. 모델이 노이즈에 과적합되었다
- 분산 필터 + Mutual Information으로 500개 선별: 정확도가 85%로 상승했다
- Lasso(L1) + Recursive Feature Elimination으로 50개 선별: 정확도가 93%에 도달했다. 50개 유전자는 기존 생물학 연구에서 암과 관련이 알려진 유전자들과 높은 일치율을 보였다
이 사례는 특성을 줄이는 것이 오히려 성능을 높일 수 있다는 직관에 반하는 현상을 잘 보여준다. 불필요한 특성은 노이즈와 차원의 저주를 유발하므로, 정보가 풍부한 소수의 특성만 남기는 것이 과적합을 방지하고 일반화 성능을 높이는 핵심 전략이다.
흔한 오해와 함정
섹션 제목: “흔한 오해와 함정”-
전체 데이터에서 특성 선택: 특성 선택도 데이터 누수의 원인이 된다. 학습 데이터에서만 선택하고, 동일한 특성 집합을 테스트에 적용해야 한다.
-
상관관계가 높은 특성을 무조건 제거: 높은 상관관계가 항상 중복을 의미하지는 않는다. 두 특성이 타겟에 대해 다른 정보를 제공할 수 있다.
-
MDI (Gini Importance)만 의존: 고카디널리티 특성에 편향된다. Permutation Importance나 SHAP을 교차 검증해야 한다.
-
특성 선택이 항상 성능을 개선한다: 정보가 풍부한 특성을 제거하면 오히려 성능이 하락한다. 반드시 검증으로 확인해야 한다.
-
한 번에 최종 결정: 특성 선택은 반복적 과정이다. 모델을 바꾸면 최적 특성 집합도 달라질 수 있다.
다른 주제와의 연결
섹션 제목: “다른 주제와의 연결”- 특성 공학: 생성한 특성을 선별하는 후속 단계
- 데이터 누수: 특성 선택 시 누수 방지
- ML 파이프라인 설계: 파이프라인에 특성 선택 통합
- 윤리적 AI: SHAP을 활용한 설명 가능성
- 흔한 실수: 잘못된 특성 선택 시점