반응형

앙상블 4

[Machine Learning][머신러닝][앙상블][부스팅] XGBoost(Extra Gradient Boost)

XGBoost(Extra Gradient Boost) https://xgboost.readthedocs.io/ Gradient Boost 알고리즘을 기반으로 개선해서 나온 모델. 캐글 경진대회에서 상위에 입상한 데이터 과학자들이 사용한 것을 알려저 유명해짐. Gradient Boost의 단점인 느린수행시간을 해결하고 과적합을 제어할 수 있는 규제를 제공하여 성능을 높임. 두가지 개발 방법 Scikit-learn 래퍼 XGBoost 모듈 사용 파이썬 래퍼 XGBoost 모듈 사용 설치 conda install -y -c anaconda py-xgboost Scikit-learn 래퍼 XGBoost XGBoost를 Scikit-learn프레임워크와 연동할 수 있도록 개발됨. Scikit-learn의 Esti..

[Machine Learning][머신러닝][앙상블][부스팅] GradientBoosting

Boosting 부스팅(Boosting)이란 단순하고 약한 학습기(Weak Learner)들를 결합해서 보다 정확하고 강력한 학습기(Strong Learner)를 만드는 방식. 정확도가 낮은 하나의 모델을 만들어 학습 시킨뒤, 그 모델의 예측 오류는 두 번째 모델이 보완한다. 이 두 모델을 합치면 처음보다는 정확한 모델이 만들어 진다. 합쳐진 모델의 예측 오류는 다음 모델에서 보완하여 계속 더하는 과정을 반복한다. 약한 학습기들은 앞 학습기가 만든 오류를 줄이는 방향으로 학습한다. GradientBoosting 처음 모델은 y를 예측 두번째 부터는 앞 모델이 만든 오류를 예측하고 그것을 앞 모델에 업데이트하면 오류를 줄일 수 있다. 그 오류를 update할 때 뺄까 더할까를 gradient descent..

[Machine Learning][머신러닝][앙상블] Voting

앙상블의 종류 1. 투표방식 여러개의 추정기(Estimator)가 낸 결과들을 투표를 통해 최종 결과를 내는 방식 종류 Bagging - 같은 유형의 알고리즘들을 조합하되 각각 학습하는 데이터를 다르게 한다. Voting - 서로 다른 종류의 알고리즘들을 결합한다. 2. 부스팅(Boosting) 약한 학습기(Weak Learner)들을 결합해서 보다 정확하고 강력한 학습기(Strong Learner)를 만든다. Voting Voting의 유형 hard voting 다수의 추정기가 결정한 예측값들 중 많은 것을 선택하는 방식 soft voting 다수의 추정기에서 각 레이블별 예측한 확률들의 평균을 내서 높은 레이블값을 결과값으로 선택하는 방식 일반적으로 soft voting이 성능이 더 좋다. Votin..

[Machine Learning][머신러닝][앙상블] 결정트리와 랜덤포레스트

의사결정나무(Decision Tree) 개요 데이터를 잘 분류할 수 있는 질문을 던져 가며 대상을 좁혀가는 '스무고개'와 비슷한 형식의 알고리즘. 분기해 나가는 구조가 Tree 구조와 같기 때문에 Decision Tree 라고 한다. 불순도 최대한 감소하는 방향으로 조건을 만들어 학습을 진행한다. 하위노드는 yes/no 두 개로 분기 된다. 머신러닝 모델들 중 몇안되는 White box 모델로 결과에 대한 해석이 가능하다. 과대적합(Overfitting)이 발생하기 쉽다. 앙상블기반 알고리즘인 랜덤 포레스트와 많은 부스팅(Boosting)기반 앙상블 모델들의 기반 알고리즘으로 사용된다. 순도(purity)/불순도(impurity) 서로 다른 종류의 값들이 섞여 있는 비율 한 종류(class)의 값이 많을..

반응형