210 likes | 715 Views
A Brief Introduction to Boosting. 20013386 윤정한. 목 차. Boosting 의 개념 AdaBoost Algorithm Boosting Error AdaBoost 의 장단점 AdaBoost 의 적용 예. Boosting 의 개념 (1/2). 경마 경기에서의 decision making 말 선택의 기준 규칙 집합 선택 난이함 데이터가 주어졌을 경우 … 쉬움. 어떤 말이 좋은말인가요 ?. 글쎄요 …. 경마 전문가.
E N D
A Brief Introduction to Boosting 20013386 윤정한
목 차 • Boosting의 개념 • AdaBoost Algorithm • Boosting Error • AdaBoost의 장단점 • AdaBoost의 적용 예
Boosting의 개념(1/2) • 경마 경기에서의 decision making • 말 선택의 기준 규칙 집합 선택 난이함 • 데이터가 주어졌을 경우… 쉬움 어떤 말이 좋은말인가요? 글쎄요… 경마 전문가 이 경우는 가장 최근 승률이 높은 첫번째 말이죠.^^
Boosting의 개념(2/2) • Boosting이란? • 데이터들로부터 도출해 내기 쉬운 선택 기준들은 일반적으로 random한 선택보다 약간 더 좋은 성능 • 약한 선택 기준들을 합쳐줌으로써 정확도가 높은 알고리즘을 만들어 주는 작업 • AdaBoost • 가장 popular한 boosting algorithm • 단순하고 효율적
AdaBoost Algorithm(1/4) • 문제 정의 • 하나의 vector 값에 binary label 할당 • Weak hypothesis: with error: • Final “strong” hypothesis:
AdaBoost Algorithm(2/4) • Given training set : • Initialize distribution :
AdaBoost Algorithm(3/4) • For do • Train weak learner using distribution • Get weak hypothesis with error • Choose if • The lower the error , the higher the • Update distribution:
AdaBoost algorithm(4/4) • Distribution D is important • is updated in each iteration • The weight of examples misclassified by is increased • These correctly classified decreased • measures the importance of each hypothesis
Boosting Error(1/3) • Let error • Random hypothesis • Perfect hypothesis • 약한 학습자들의 성능이 random한 경우보다 약간씩만 좋더라도 exponential하게 오류 감소
Boosting Error(2/3) • 일반화 오류 • Overfit if run for too many rounds T • Not overfit even if run for thousands of rounds
AdaBoost 의 장단점 • 장점 • 빠른 속도와 단순성 및 프로그램의 용이성 • 적용할 라운드의 수(T)를 제외하고 튜닝할 인자 없음 • 어떠한 약한 학습자와도 결합 가능 • Comes with a set of theoretical guarantees
Disadvantages of AdaBoost • 단점 • 다음과 같은 경우 낮은 성공율 • 충분하지 못한 데이터 • 너무 복잡한 weak hypothesis • 너무 약한 weak hypothesis • Noise in data is a problem • Noisy examples get higher weights in distribution D
AdaBoost의 적용 예(1/5) • 지금까지 설명된 AdaBoost • Binary classification에서의 적용 • 실제의 문제들은 대부분 multiclass problem • AdaBoost의 확장 알고리즘 • AdaBoost.MH • AdaBoost.MI
AdaBoost의 적용 예(2/5) • AdaBoost.MH • 문제 정의 • 가능한 class : 1,2,3,…k • k개의 example • 각각의 example에 –1이나 1을 할당하는 문제 • Final Strong Hypothesis • 다음 식을 최대화 시켜주는 tag c선택
AdaBoost의 적용 예(3/5) • 자연언어처리 작업 적용 사례 • 품사 태깅 • 주변 문맥 정보를 이용하여 단어의 품사를 결정하는 문제 • Time/명사 flies/동사 like/전치사 an/관사 arrow/명사 ./문장부호 • “flies가 명사? 동사?”“like가 전치사? 동사?”
AdaBoost의 적용 예(4/5) • 품사 태깅 적용 방법 • Weak hypothesis • “attribute=value”의 형태 • attribute의 예 • 검사하고자 하는 단어의 소문자 변환 문자열 • (소문자 변환 문자열) = “student” • 주변 단어들의 학습 데이터에서 가장 많이 선택된 품사 • (이전 단어의 가장 많이 선택된 품사)=“명사”
AdaBoost의 적용 예(5/5) • 품사 태깅 적용 결과 • 현존하는 best algorithm들과 거의 비슷하거나 약간 뒤지는 결과 • 실험 자체가 매우 단순한 feature들만을 사용하여 행해졌기 때문에 방법 자체는 optimistic
AdaBoost Demo • AdaBoost applet on Yoav Freund’s website http://www.research.att.com/~yoav/adaboost/
참고논문 • Yoav Freund, Robert E. Shapire. 1999. A Short Introduction to Boosting. • Robert E. Shapire. 1999. Theoretical Views of Boosting and Application. • Steven Abney, Robert E. Schapire, Yoram Singer. 1999. Boosting Applied to Tagging and PP Attachment