반응형

부스팅 4

[Machine Learning][머신러닝] Bagging, Boosting 정리

편향-분산 상충관계(Bias-variance Trade-off) 1) 편향과 분산의 정의 편향(Bias): 점추정 예측값과 실제값의 차이 모델 학습시 여러 데이터로 학습 후 예측값의 범위가 정답과 얼마나 멀리 있는지 측정 편향(Bias(Real)): 모형화(단순화)로 미처 반영하지 못한 복잡성 => 편향이 작다면 Training 데이터 패턴(복잡성)을 최대반영 의미 => 편향이 크다면 Training 데이터 패턴(복잡성)을 최소반영 의미 분산(Variance): 구간추정 학습한 모델의 예측값이 평균으로부터 퍼진 정도(변동성/분산) 여러 모델로 학습을 반복한다면, 학습된 모델별로 예측한 값들의 차이를 측정 분산(Variance(Real)): 다른 데이터(Testing)를 사용했을때 발생할 변화 => 분산이..

[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][머신러닝][앙상블] 결정트리와 랜덤포레스트

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

반응형