728x90
반응형
XGBoost
- Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리
- Regression, Classification 문제를 모두 지원하며, 성능과 자원 효율이 좋아서, 인기 있게 사용되는 알고리즘
- CART(Classification And Regression Tree) 기반의 앙상블 학습에서 가장 각광받고 있는 알고리즘
- early stopping 제공
- GBM 기반이지만, GBM의 단점인 느린 수행 시간 및 과적합 규제 부재 등의 문제가 해결됨
- 병렬 CPU 환경에서 병렬학습이 가능하여 기존 GBM보다 빠르게 학습 완료할 수 있음
Ensemble
- Ensemble은 방식에 따라서 Bagging과 Boosting 으로 분류
- Ensemble은 여러개의 모델을 조합해서 그 결과를 뽑아 내는 방법
- 정확도가 높은 강한 모델을 하나 보다, 정확도가 낮은 약한 모델을 여러 개 조합 하는 방식이 정확도가 높다는 방법에 기반한 방법
Bagging
- Bagging은 여러 모델을 사용할때, 각 모델에서 나온 값을 계산하여, 최종 결과값을 내는 방식
- 모델 m1~m3 로 데이터를 넣을때는 원본 데이타 x에서 매번 다시 샘플링을 해서 다른 샘플 데이터를 각각 모델에 넣는 방식
Boosting
- Boosting 기법을 이용하여 구현한 알고리즘은 Gradient Boost가 대표적인데, 이 알고리즘을 병렬 학습이 지원되도록 구현한 라이브러리가 XGBoost임
- Boosting은 m1~3 모델이 있을때, m1에는 x에서 샘플링된 데이터를 넣음
- 이후, 나온 결과중에서 예측이 잘못된 x중의 값들에 가중치를 반영해서 다음 모델인 m2에 넣음
- 마찬가지로 y2 결과에서 예측이 잘못된 x’에 값들에 가중치를 반영해서 m3에 넣음
- 그리고, 각 모델의 성능이 다르기 때문에 각 모델에 가중치 W를 반영함
Overfitting
- 머신러닝에서 학습 데이터를 과하게 학습함
- 학습 데이터는 실제 데이터의 부분 집합이므로, 학습데이터에 대해서 오차가 감소하지만, 실제 데이터에서는 오차가 증가하게 됨
- 실제 데이터를 모두 수집하는 것은 불가능함
- 실제 데이터를 모두 수집하여도 모든 데이터를 학습시키기 위한 시간이 측정 불가능한 수준으로 증가할 수 있음
- 학습 데이터만 가지고 있어서는 실제 데이터의 오차가 증가하는 지점을 예측하는 것은 매우 어려움
728x90
반응형
'Data Analysis > Machine Learning' 카테고리의 다른 글
MRI and Alzheimers (0) | 2022.05.23 |
---|---|
Seaborn을 활용한 데이터 분포 시각화 17가지 방법 (1) | 2022.05.08 |
train_test_split 학습데이터와 테스트데이터 분리 (0) | 2022.05.06 |
StandardScaler를 이용하여 데이터 전처리 (0) | 2022.05.05 |
댓글