2014년 1월 2일 목요일

Boosting SVM

기존 SVM의 가장 큰 단점은 트레이닝시에 running time이 상당히 오래걸린다는 데 있다.

따라서 오직 몇개의 트레이닝 example만 실제 계산에 사용된다면 그 시간을 굉장히 줄일 수 있다. 이걸 Adaboost를 이용해서 해결할 수 있는데, 중요한 샘플데이터에만 더 큰 가중치를 주는 것이다. 이렇게 0<v<1인 vm개의 샘플을 이용하게 되면, 보다 빠른 계산이 가능하다.

두 번째로, learner의 입장에서보았을 때, SVM처럼 strong한 learner는 Adaboost에 적용하였을 때, 반대로 iteration이 점점 높아질수록 error rate가 향상되지 않고 오히려 나빠지는 경우가 많이 발생하였다.

이를 위해, weak learner version of SVM을 만들기 위해, SVM의 트레이닝 데이터중 low weight를 가진 데이터를 지운다. 그렇게 약화를 시킨다음에 Adaboost에 그냥 넣어돌린다.

다른점은 마지막 weak learner 결합시 hyperplane 형태로 나타난다는 점이다.

댓글 없음:

댓글 쓰기