AI & Data를 활용하는 기술경영자

유전 알고리즘(chapter2) 본문

Genetic algorithm

유전 알고리즘(chapter2)

Data_Lover 2022. 7. 25. 20:10
728x90

패스트캠퍼스 유전적 알고리즘 강의 시청 후 정리를 한 내용입니다.

 

예측모델 직접 구현하기

 

전/후방 우선 특성 소거법을 통한 특성 최적화(Feature Engineering)

Feature란?

모델에 전달하는 문제 해결의 열쇠이자 우리를 야바위꾼으로 만들지 않게 해주는 요소이다.

 

Feature의 발굴:Domain Knowledge가 반영되는 가장 중요한 부분

  • 머신러닝 알고리즘을 작동하기 위해서 데이터의 도메인 지식을 활용해서 feature를 만드는 과정이다.
  • 도메인 전문가 팀과 긴밀한 협업을 통하고 이때 모델 최종 성능이 상당부분 결정된다.
  • Output과 관련있는 혹은 있을 것은 인자는 모두 선택/발굴한다.

Feature의 생성(generation) 및 합성(synthesis)

  • 발굴한 feature를 가공하여 새로운 feature를 만들어 내는 과정이다.
  • 범주형 data: mean encoding으로 category-target간의 관계성 부여이다.
  • 데이터가 부족한 고차원 set: principal component analysis(PCA)차원 축소 시도이다.
  • 유용한 Modules: Featuretools , tsfresh

Feature 선택 방법

발굴 + 생성된 feature를 선별하는 단계로 Target과의 관련성을 평가한다.

  특징 단점
Filtering Method - 종속변수와의 상관관계를 기반으로 관련성 측정

-   모델을 직접 학습하지 않으므로 계산 부담 적음

- 통계방법으로 feature set 결정
- 최적의 feature set을 선택한다고 확신할 수는 없다.
Wrapper Method - 실제 모델을 학습하여 피처 set의 유용성 측정

- 교차검증을 통한 feature set 결정

- 풀고자 하는 문제에 대한 최적의 feature set 도출 가능
- 과적합이 되기 쉬우므로 주의

-모델과 함께 평가해야하므로 계산시간이 부담

Feature간의 다중공선성(multicollinearity)

  • 독립변수들 사이 높은 상관관계가 나타나는 문제로 회귀분석의 기본 가정을 위배한다.
  • 모델의 가중치(트리기반 모델의 경우 중요성)가 분산되어 올바른 해석을 방해한다.
  • Feature간의 correlation value로 확인(보통0.9 ~ 0.95 이상의 값으로 결정한다.)
  • 양/음의 상관성을 모두 확인한다.
  • Target간의 상관계수가 낮은 feature제거한다.

Feature중요도

  • Target 결정을 위해서 필요한 각 feature의 중요성을 나타내는 지표이다.
  • 정확도: Decision Tree < RandomFores < XGBoost< Permutation Importance< Impact on SHAP
  • 현업에서는 중요도와 민감도를 모두 고려한다.

Forward Selection/ Backward Elimination(greedy)

  • 변수를 추가/제거하면 모델 성능을 측정하고 최고 정확도를 나타낸 feature를 선택하는 방법이다.
  • Feature 중요도 기준으로 선택: 구현이 간단하여 많이 사용되지만 가장 좋은 조합은 아니다.(Genetic Search)

 

선형 모델, Random Forest, XGBoost 및 Neural Network 디자인 노하우

Elastic Net 및 Decision Trees -> Random Forest

  • 모든 분석의 기준이 되는 선형 모델이다.
  • 서로 다른 규제를 갖는 Ridge + Lasso의 결합으로 Elastic Net를 사용한다.(data scaling 필수)
  • Decision Tree 앙상블하여 과적합 단점을 보완한 Random Forest 모델이다.

모델 파라미터

  • max_features: 기본값이 우수
  • n_estimators: 적절히 높은 값 필요, stable 구간 확인
  • max_depth: 값을 줄여가며 과적합 해소
  • min_sample_split: 값을 늘려가며 과적합 해소
  • max_leaf_nodes: 값을 줄여가며 확인
  특징 단점
Random Forest Model - Decision Tree와 bagging 앙상블 모델

- 과적합 방지, 높은 안정성, feature 중요도 제공

- 데이터 스케일, 다중공선성 영향 적음
- 차원이 높고 희소한 데이터에 취약

- 상대적으로 긴 계산시간

-  Parameter 최적화로 큰 성능 개선 기대 어려움

 

Extreme Gradient Boosting

  • 병렬 연산이 가능하도록 기존 Gradient Boosting 알고리즘을 개선한 것으로 높은 자원 및 성능

모델 파라미터

  • eta(=learning_rate): 낮춰가며 성능개선 확인(default:0.3)
  • 규제 및 gamma: 클수록 과적합 해소
  • max_depth: 과적합 전까지 값을 늘려가며 성능 확인
  • scale_pos_weight: imbalance data 해석시 반드시 고려
  • num_boost_round: 과적합 전까지 시도해본다.(모델 크기도 커짐)
  특징 단점
XGBoost Model - Parameter fine-tuning으로 성능 극대화 가능

- 연산 자원 대비 모델성능(자원-성능비) 우수

- 결측 데이터가 있어도 해석이 가능
- Parameter 설정에 민감

- Hyper-parameter search에 많은 시간 소요

 

정확도 향상을 위한 모델 앙상블 전략

모델의 집단지성을 활용하는 앙상블

  • 전문가 집단: 특이한 의견에 치우침 없는 보편 타당한 결론을 제시하여 일반화 예측력을 향상시키기 위한 모델 결합
  • 데이터 단위 앙상블(Bagging, Boosting) vs 모델 단위 앙상블(Voting, Stacking)

예시: Weight Boosting Scheme for Incorrect Images

 

정확도 1%를 더 올리기 위한 전략

정확도를 향상을 위해 고려해 볼 전략

  • Label Data가 적고 추가 Label 비용이 큰 경우 Semi-Supervised Learning
  • 특정 Class의 Classification 정확도가 높은 여러 모델이 있을 경우 Mixture of Experts(MoE)

 

정확도 향상을 위해 고려해 볼 전략

  • Label Data가 적고 추가 Label 비용이 큰 경우 (Semi-Supervised Learning)
  • 특정 Class의 Classification 정확도가 높은 여러 모델이 있을 경우(Mixture of Experts[MoE])

728x90