앙상블, ensemble : 합창, 조화
앙상블은 여러 개의 분류기를 생성하고 예측을 결합해 더 정확한 예측을 하는 모델
ex) 대중의 지혜, 집단지성 : 무작위로 선택된 수천명이 전문가보다 나은 선택
앙상블 방법 : 보팅(voting), 배깅(bagging), 부스팅(boosting)
보팅(voting)
직접 투표 분류기 : 정확도 일정 이상인 여러 모델(종류)를 돌려서 가장 많이 선택된 클래스를 예측
-> hard voting = 다수결
큰 수의 법칙 : 랜덤 추측보다 조금 더 높은 성능의 약한 학습기(예측률이 낮은 학습기)라도 충분히 많은 경우 강한 학습기가 될 수 있다.
ex) 51% 약한 학습기로 100번 돌려서 맞춘게 다수가 될 확률, 10000번 돌려서 맞춘게 다수가 될 확률
-> 이항분포의 확률질량함수
soft voting = 개별 분류기의 예측 확률을 평균내어 확률이 가장 높은 클래스를 예측
-> 확률이 높은 투표에 비중을 두기 때문에 직접투표(hard)보다 성능이 높다.
-> 교차검증해서 속도가 느린편
배깅(bagging)
=Bootstraping + Aggregating
<-> 페이스팅 : 중복을 허용 X
데이터 샘플링을 통해 모델을 학습시키고 결과를 집계하는 방식
obb : out of bag, 선택되지 않은 샘플들
-> 배깅은 중복을 허용한다(Bootstrap = True)
-> 샘플이 여러번 선택되거나, 한번도 안될 수도 있다.
-> 선택 안되는 샘플들로 모델을 평가할 수 있다.
-> 일반적으로 훈련 샘플의 63%만 샘플링된다.
배깅에서는 샘플뿐만 아니라 특성도 샘플링이 가능하다
-> 램덤 패치 방식 : 샘플과 특성 모두 샘플링
-> 랜덤 서브스페이스 방식 : 훈련 샘플 모두 사용(페이스팅) 후 특성을 샘플링
과적합 방지에 효과적
부스팅(boosting)
약한 학습기를 여러개 연결해 강한 학습기를 만드는 방식
에이다부스트(Adaboost) : 이전 예측기 보완 방식 = Adaptive + Boosting
-> 앞 알고리즘이 잘 분류하지 못한 샘플의 가중치를 높임
-> 최종 분류기는 이전에 학습한 약한 분류기에 각각 가중치를 적용하고 조합해 학습을 진행
SAMME = 에이다부스트의 다중 클래스 방식 -> 클래스가 2개일 때는 에이다 부스트와 동일
그레디언트 부스트(Gradient Boost) : 에이다부스트처럼 반복바다 샘플 가중치를 수정하는 대신, 이전 예측기가 만든 잔여 오차에 새로운 예측기를 학습 => XGBoost, LightGBM, CatBoost 등이 있다.
+) 추가 방법
스태킹(stacking)
개별 모델이 예측한 데이터를 다시 훈련 데이터로 해 학습하는 방식
블랜더(또는 메타학습기) : 마지막 예측기
멀티레이어 스태킹 = 레이어(블랜더)를 서로 훈련에 사용
'💻 CS > 머신러닝' 카테고리의 다른 글
[ML] 선형회귀의 score 값의 의미? (R-squared 결정계수 vs RMSE) (0) | 2022.12.12 |
---|---|
[ML] 랜덤포레스트(Random Forest) 개념 (배깅, 특성 중요도, 엑스트라트리) (0) | 2022.11.29 |
댓글