본문 바로가기
Have Done/BoostCamp

Week3 주간 정리

by 에아오요이가야 2023. 11. 20.

Bagging vs Boosting

 

Bagging(Bootstrap Aggregating)과 Boosting은 앙상블 학습(Ensemble Learning) 기법으로,

다수의 기본 모델을 결합하여 더 강력한 예측 모델을 생성하는 데 사용됩니다.

그러나 두 기법은 다음과 같이 다릅니다:

  1. Bagging (Bootstrap Aggregating):
    • Bagging은 다수의 독립적인 기본 모델을 병렬로 훈련한 다음, 이들의 예측을 결합하여 최종 예측을 생성
    • 각 기본 모델은 학습데이터에서 무작위로 중복을 허용하여 bootstrap sample을 생성하고, 이 부트스트랩 샘플을 사용하여 모델을 훈련
    • Bagging은 모델의 variance를 줄이고 overfitting을 방지
  2. 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

댓글