Bagging vs Boosting
Bagging(Bootstrap Aggregating)과 Boosting은 앙상블 학습(Ensemble Learning) 기법으로,
다수의 기본 모델을 결합하여 더 강력한 예측 모델을 생성하는 데 사용됩니다.
그러나 두 기법은 다음과 같이 다릅니다:
- Bagging (Bootstrap Aggregating):
- Bagging은 다수의 독립적인 기본 모델을 병렬로 훈련한 다음, 이들의 예측을 결합하여 최종 예측을 생성
- 각 기본 모델은 학습데이터에서 무작위로 중복을 허용하여 bootstrap sample을 생성하고, 이 부트스트랩 샘플을 사용하여 모델을 훈련
- Bagging은 모델의 variance를 줄이고 overfitting을 방지
- Boosting
- Boosting은 weak learner로 불리는 기본모델을 순차적으로 훈련하고 결합
- 각 기본 모델은 이전 모델의 오차를 보완하는 방향으로 훈련. 즉, 이전 모델이 틀린 예측을 한 샘플에 더 가중치를 주어 학습
- Boosting은 bias를 줄이고 모델의 performance를 향상.
- 예시 AdaBoost, Gradient Boosting, XGBoost, LightGBM 등.
두 기법 모두 다양한 기본 모델을 결합하여 예측 성능을 향상하는 데 사용되지만,
Bagging은 병렬적으로 모델을 훈련하고 다수의 독립적인 예측을 평균화하는 반면,
Boosting은 순차적으로 모델을 훈련하고 각 모델의 오차를 보완하여 강력한 모델을 생성합니다.
Boosting은 일반적으로 Bagging보다 예측 성능이 우수하지만, 훈련 시간이 더 오래 걸릴 수 있습니다.
선택하는 알고리즘 및 접근 방식은 데이터 및 문제에 따라 다를 수 있습니다.
optm.zero_grad() == reset gradient
-> gradient값을 0으로 초기화 하는데, 이유는 backward할때 gradient가 +=형식으로 더해지기때문에 반드시 해야함 이 방식이 RNN학습할때 효과적이다? 라는 주장이 있는데 잘모르겠음 원론적으로 같은거 아닌가?
loss_fnt.backward() == backpropagation
-> backpropagation하는거임
optm.step() == optimizer updata
-> 옵티마이저 업데이트 하는거임
'Have Done > BoostCamp' 카테고리의 다른 글
streamlit (0) | 2023.12.29 |
---|---|
Week5 (0) | 2023.12.04 |
Week4 정리 (1) | 2023.11.27 |
Week2 주간 학습 정리 (0) | 2023.11.17 |
Week 1 주간 학습정리 (0) | 2023.11.10 |
댓글