출퇴근길에 공부하는 머신러닝
AdaBoost는 Adaptive Boosting의 줄임말로, 약한 학습기(weak Classifier)를 결합하여 강한 학습기(Strong Classifier)를 만드는 알고리즘이다. 이 알고리즘은 다양한 응용 분야에서 효과적으로 사용되며, 머신러닝에서 중요한 역할을 한다.
부스팅은 기존의 학습된 모델의 오류를 줄이기 위해 사용되는 기술로, 이는 학습 데이터의 분포를 적응적으로 변경하며, 이전에 잘못 분류된 레코드에 집중한다. 이러한 과정은 순차적(Sequential)으로 수행되며, 병렬로 수행되는 Random Forest와는 대조된다.
강한 분류기(Strong Classifier) : 개별 약분류기들에 각각 가중치를 적용하여 조합함으로써 얻을 수 있다.
약한 분류기(Weak Classifier) : 단독으로는 분류 성능이 미약하다.
AdaBoost 알고리즘은 여러 라운드를 거쳐 수행된다. 각 라운드에서 알고리즘은 다음과 같은 과정을 거친다.
데이터 포인트에 가중치 할당 : 이전 라운드에서 잘못 분류된 데이터 포인트에 더 높은 가중치가 할당된다.
약한 분류기 학습 : 수정된 가중치를 사용하여 새로운 약한 분류기를 훈련한다.
분류기의 조합 : 각 라운드마다 새롭게 생성된 약한 분류기를 조합하여 강한 분류기를 만든다.
이 과정을 반복하여, 최종적으로 모든 약한 분류기가 가중 조합된 강한 분류기를 얻게 된다.
Single Model : 하나의 모델만 사용하여 예측을 수행한다.
Bagging : 여러 모델을 병렬로 훈련시켜 결합한다.(예:Random Forest)
Boosting : 여러 모델을 순차적으로 훈련시켜 오류를 보완한다.(예:AdaBoost)
AdaBoost는 여러 약한 분류기를 적응적으로 조합하여 강한 분류기를 생성하는 효과적인 방법이다. 이 방법은 순차적인 과정을 통해 데이터의 복잡한 패턴을 학습할 수 있어, 다양한 분야에서 높은 성능을 보이며 널리 활용되고 있다.