250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- flask
- GenericGBQException
- GCP
- youtube data
- airflow subdag
- subdag
- 공분산
- API Gateway
- hadoop
- session 유지
- XAI
- spark udf
- API
- login crawling
- Airflow
- grad-cam
- top_k
- correlation
- BigQuery
- TensorFlow
- Retry
- 유튜브 API
- 상관관계
- requests
- gather_nd
- integrated gradient
- UDF
- chatGPT
- tensorflow text
- Counterfactual Explanations
Archives
- Today
- Total
데이터과학 삼학년
AdaBoost (에이다부스트) 본문
반응형
AdaBoost
- 이전 모델이 과소적합(under fit)했던 학습 샘플의 가중치를 더 높여 다음 모델에서 다시 학습을 시키는 개념
- 새로운 예측기(모델)은 학습하기 어려웠던 데이터(샘플)에 대해 점점 더 잘 맞춰지는 모델로 만들 수 있음
- Adaboost 데이터 가중치 부여 예시
- stumps라는 작은 가지(max_depth=1)의 앙상블 형태라고 생각하면 됨 -> weak ensemble
Boosting VS Bagging
여기서, ensemble(bagging)과 다른점은 10개의 모델을 이용해 학습을 한다고 할때, bagging은 같은 (가중치가 부여되지 않은)학습 데이터에 대해 동시 학습하고, 예측결과를 종합하는 반면,
boosting인 Adaboost는 순차적으로 모델을 학습시키고, 각 모델의 결과를 종합하는 방법이라고 볼 수 있다.
--> 모델의 결과를 종합할때, 가중치가 적용된 훈련 세트의 전반적인 정화도에 따라 예측기(모델)마다 다른 가중치가 적용됨
AdaBoost 알고리즘
- 각 샘플의 가중치는 초기에 1/m 으로 초기화
- 첫번째 예측기(모델)이 학습되고, 가중치가 적용된 error rate r1이 훈련 세트에 대해 계산
- 모델이 정확할 수록 가중치가 더 높아지게 됨, 만약 무작위로 예측하는 모델이라면 가중치는 0에 가까워짐
- 샘플의 가중치를 업데이트 -> 아래 식 규칙에 따라
- 모델의 결과 종합
예시 코드
from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=1000, n_features=4,
n_informative=2, n_redundant=0,
random_state=0, shuffle=False)
clf = AdaBoostClassifier(n_estimators=100, random_state=0)
clf.fit(X, y)
clf.predict([[0, 0, 0, 0]])
clf.score(X, y)
728x90
반응형
LIST
'Machine Learning' 카테고리의 다른 글
드롭아웃(dropout), 몬테 카를로 드롭아웃(Monte Carlo dropout) (0) | 2021.11.15 |
---|---|
GAN for Tabular Data (Data Augmentation) (0) | 2021.08.26 |
스태킹 앙상블(stacked generalization in Ensemble) (1) | 2021.07.22 |
Graph (python networkX) Metric 정리 (0) | 2021.07.20 |
텐서플로 함수와 그래프(tf.function, autograph) (0) | 2021.07.12 |
Comments