250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Algorithm_A/B_Test
- Hadoop
- Soft_skills
- SPARK
- Kaggle_Transcripition
- Kaggle #EDA #Regression
- Data_Engineering
- e-commerce
- 경제신문스크랩
- GCP
- lazypredict
- fastcampus
- regression
- kaggle
Archives
- Today
- Total
AI & Data를 활용하는 기술경영자
유전 알고리즘(chapter2) 본문
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
'Genetic algorithm' 카테고리의 다른 글
REST API (0) | 2022.08.01 |
---|---|
머신러닝 인풋 최적화를 위한 추론 입력값 탐색 전략(Chapter3) (0) | 2022.07.28 |