7-4. 부스팅(Boosting) - 에이다부스트(Adaboost)
2021. 5. 12. 05:13ㆍMachine Learning
부스팅(Boosting)이란 약한 학습기 여러 개를 연결하여 강한 학습기로 만드는 기법을 말한다.
대표적으로 에이다부스트, 그레이디언트 부스트가 있다.
에이다부스트(Adaboost)
출처 : vitalflux.com/adaboost-algorithm-explained-with-python-example/
에이다부스트(Adaboost)의 예측 기법은 다음과 같다.
1. 첫 번째 분류기를 훈련 세트에서 훈련시키고 예측을 만든다.
2. 잘못 분류된 샘플의 가중치를 상대적으로 높인다.
3. 그 다음 예측기에서 업데이트된 가중치를 통해 훈련하고, 예측을 만든다.
4. 반복한다.
상세한 가중치 업데이트의 과정은 아래와 같다.
출처 : stackoverflow.com/questions/55318330/why-is-the-error-of-my-adaboost-implementation-not-going-down
먼저 초기 가중치는 1/N(전체 샘플)으로 균일하게 초기화된다.
그 다음 첫번째 분류기에서 훈련하고 예측한 결과에 대해 가중치가 적용된 에러율(weighted error)을 계산한다.
(전체 가중치 총합에 대한 예측이 틀린 가중치 합의 비율)
그런 다음 (c) 식을 통해 예측기에 대한 가중치를 계산한다. (앞에 학습률 파라미터를 곱할 수 있다)
(d)식에서 예측이 틀린 샘플에 대해서 기존 가중치에 exp(α_m)을 곱하고, 예측이 맞은 샘플에 대해서는
가중치가 변하지 않는다.
이 과정을 마지막 예측기에 도달하거나 완벽한 예측기가 만들어질 때까지 반복한다.
최종적인 예측값은 각 예측기의 예측결과에 해당 예측기의 가중치를 곱하여 합한 뒤,
가중치 합이 가장 큰 클래스가 된다.
'Machine Learning' 카테고리의 다른 글
8-1. 차원 축소(Dimensionality Reduction) (0) | 2021.05.12 |
---|---|
7-5. 부스팅(Boosting) - 그레이디언트 부스팅(Gradient Boosting) (0) | 2021.05.12 |
7-3. 랜덤 포레스트(Random Forest) (0) | 2021.05.12 |
7-2. oob 평가 / 랜덤 패치, 랜덤 서브스페이스 (0) | 2021.05.12 |
7-1. 앙상블 학습(Ensemble Learning) (0) | 2021.05.12 |