앙상블 ensemble
- 앙상블 학습(Ensemble Learning)은 여러 개의 분류기를 생성하고, 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법을 말합니다.
- 회귀 모델이든 분류 모델이든, 하나의 모델을 사용하기 보다는 모델 여러 개를 조합하여 더 정확한 예측에 도움을 주는 방식입니다.
- 구체적으로 여러 개의 약 분류기 (Weak Classifier)를 결합하여 강 분류기(Strong Classifier)를 만들어 모델의 정확성을 향상시킵니다.
- 예를 들어 보면, 어떤 문제를 해결하는 데 있어서 한 명의 전문가보다는 여러 명의 비전문가 일반인이 집단지성을 이용하여 문제를 해결하는 방식이 나을 수도 있습니다. 이게 바로 앙상블 기법이라고 할 수 있죠.
- 실제로 머신러닝 대회에서 우승하는 솔루션들은 대부분 앙상블 기법을 활용해 고성능을 낸다고 합니다.
ensemble
- Boosting (성능이 더 좋음)
- Bagging => Bootstrap Aggregating
=> 이렇게 서로 다른 model 들을 컴퓨터가 여러개 만들어서 조합을 해서 결론을 내림
XG Boost (Extreme Gradient Boosting)
- 의사결정나무에 3단계의 upgrade
- Boosting
- Gradient
- Extreme
=> 의사 결정 나무에 boosting기법을 적용한 알고리즘
<의사 결정 나무의 한계>
- 새로운 입력 data 1개에 의해 결과값과 tree의 구조가 쉽게 변함
- 처음 : roof node, 마지막 : leaf node
- 어떤 판단을 내렸는데 그 기준에 의해 판단된 case가 1개일 때에는 새로운 case에 대해서는 판단이 어려움 => overfitting
ensemble : 서로 다른 model들의 예측 결과값들을 통해 결과를 도출한다.- overfitting 되지 않은 서로 다른 decision tree를 만들고, 각각의 의사결정 나무에 새로운 data를 입력해서 각각의 모델들이 예측을 진행 => 분류 : 투표 / 회귀 : 평균
곱해지는 가중치의 값에 따라 너무 값이 차이가 난다.
=> 어떤 숫자를 에러를 최소화하는 방향으로 설정하고 싶다 => "Gradient Descent"를 적용하여 가중치를 계산
model = XGBoostClassifier
tree based ensemble model