Boosting?
여러 약한 분류기들 중에 몇개의 성능 좋은 분류기를 뽑아 강한 분류기를 만들겠다는 전략.
쉽게 이야기하면, 다 잘난 놈은 구하기 힘드니까, 영어 잘하는 놈, 수학 잘하는 놈, 과학 잘하는 놈을 각각 뽑아서 다 잘하는 놈보다 좋은 점수를 얻겠다는 전략
현재까지 조사한 다양한 부스팅 종류
- Adaboost는 부스팅의 한 종류로서, 약한 분류기를 선택할 경우 학습 데이터에 가중치를 적응적으로 주어 이전에 선택된 약분류기가 잘 못푸는 문제에 가중치를 더 주어 그 문제를 더 잘 푸는 약분류기가 선택되도록 하겠다는 전략.
1. Discrete AdaBoost
2. Real AdaBoost
3. LogitBoost
4. Gentle AdaBoost
1. Discrete AdaBoost
- 자세히 해석은 안되나, 먼저 약한 분류기는 1 또는 -1을 출력으로 내보낸다. 의미는 Positive 이냐 Negative이냐를 의미함.
em 은 에러율 같고, cm은 신뢰도 같다.
결국 wi(i번째 샘플의 가중치)는 현재 선택된 fm에 따라서 가중치가 결정되는 것, 결국 틀린 샘플에 대해서는 가중치를 올리고, 맞은 샘플 가중치는 내리는 것 - 상대적인 개념이라, 틀린 것은 그대로 두고, 맞은 것을 내리는 경우도 있음. 일단 의미적으로는 현재 분류기가 제대로 분류 못하는 것을 다음 분류기에게 영향을 주기 위해 가중치를 높인다는 것이 포인트.
마지막으로 인식은, 선택된 fm들에 각 분류기의 신뢰도로를 곱하고 더해서 부호를 보고 결정하겠다는 의미
2. Real Adaboost
- 알고리즘 1과의 가장 큰 차이는 약분류기가 인식할 때 -1, 1 이 아닌 확률로 값을 나타내는 것이다.
결국 위의 알고리즘에서는 분류기에 대해서 신뢰도(cm)을 에러율로부터 계산해서 분류기에 곱해서 최종 분류를 결정했지만, Real adaboost의 경우에는 각 분류기에 확률을 사용함으로써 신뢰도를 따로 구할 필요 없으며, 약분류기의 출력 자체가 신뢰도인 셈이다.
참고 논문
Additive Logistic Regression_a Statistical View of Boosting
'Algorithm' 카테고리의 다른 글
The Sequential Floating Selection (0) | 2013.05.20 |
---|---|
OpenCV Adaboost 분석(3) (0) | 2013.05.12 |
OpenCV Adaboost 분석(2) (0) | 2013.05.06 |
OpenCV Adaboost 분석 (0) | 2013.05.03 |
OpenCV에서 사용하는 Labeling(레이블링, 라벨링) (0) | 2013.04.29 |