A Short Introduction To Boosting.Final V3.Ppt

43
לללל ללללל07/06/22 16:42 1

description

Adaboost בעברית

Transcript of A Short Introduction To Boosting.Final V3.Ppt

Page 1: A Short Introduction To Boosting.Final V3.Ppt

גלעד דניאל

10/04/23 06:39 1

Page 2: A Short Introduction To Boosting.Final V3.Ppt

.המטרה : להמר על הסוס המנצח למצוא מודל שבעזרתו נמצא את הסוס המנצח בכל

מירוץ בעזרתו של מהמר מקצועי.

10/04/23 06:39 2

Page 3: A Short Introduction To Boosting.Final V3.Ppt

ניתן לראות שינבא לנו את הסוס יחידקשה למצוא מודל ◦

המנצח קל לראות שאם נקבל מספר "כללי אצבע" ◦

ניתן לקבל מודל יותר טוב ממודל רנדולמלידוגמא לחוק: אם הסוס זכה יותר במירוצים ◦

משאר הסוסים. בחר בו.

10/04/23 06:39 3

Page 4: A Short Introduction To Boosting.Final V3.Ppt

שני בעיות לפני המהמראיך נבחר את אוסף המירוצים ונציג אותו ◦

למהמר כך שהוא יוכל לשלוף את "כללי אצבע"

איך ניתן ליצור מתוך אותם כללי אצבע מודל ◦אחד שיהיה מדויק ובעל אחוז הצלחה גדול

)מהמודל הרנדומלי(

10/04/23 06:39 4

Page 5: A Short Introduction To Boosting.Final V3.Ppt

כתיבת תוכנית מחשב שתיצור כללי אצבע גולמיים)הכוונה היא מספיק חזקים מהרנדומלי(

כתיבת פרצודורה על חלק מן דוגמאות( 1שליפת כללי אצבע)אותם כללי אצבע נריץ על חלק נוסף מן הדוגמאות( 2שליפת כללי אצבע) נחזור מספרT.של פעמים

10/04/23 06:39 5

Page 6: A Short Introduction To Boosting.Final V3.Ppt

בכל סיבוב ?לבחור את הדוגמאות איך ניתןנתמקד בדוגמאות "הקשות" אותן דוגמאות שלא ◦

סווגו בסיבוב הקודם.

את כל כללי האצבע למודל לאחד איך ניתןחיזוי אחד.

ניקח את רוב )משקל( על כללי האצבע ◦

10/04/23 06:39 6

Page 7: A Short Introduction To Boosting.Final V3.Ppt

Boosting דרך כללית לקבל כללי אצבע ולהעביר אותם – לחוק אחד "חזק" ומדויק.

מבחינה טכניתשיכול למצוא מסווג חלש שנקבל אלגוריתם למידה נניח ◦

) כללי אצבע( בצורה טובה יותר מאשר המודל הרנדומלי, ) במקרה של שני סיווגים(55%דיוק של לפחות <

boostingאם נקבל מספיק מידע )דוגמאות( אלגוריתם ◦נטען כי יכול לייצר מסווג בודד עם אחוז דיוק גבוה מאד,

99%נטען

10/04/23 06:39 7

Page 8: A Short Introduction To Boosting.Final V3.Ppt

מבוסס על מחקרים על אלגוריתםPAC נשאלה שאלה האם אלגוריתם למידה "חלש" יותר יכול לעבור ◦

( כך שיעבוד קצת יותר טוב מהמודל הרנדומלי. boost)דחיפה האם גם ניתן לדחוף אותו למודל מוצלח מאד ומדויק מאד .

◦Schapire היה הראשון שכתב שאפשר להוכח שקיים אלגוריתם כזה בזמן פולינונאלי ) קריאה שלוש פעמים

לאלגוריתם למידה( – כתב גם אלגוריתם יותר יעיל אבל Freundשנה לאחר מכן ◦

(boost by majority קשה למימוש )2001 והמשך במאמר משנת 1999המאמר שלנו משנת

10/04/23 06:39 8

Page 9: A Short Introduction To Boosting.Final V3.Ppt

האלגוריתםadaboostדרכי מימוש◦דרכים אחרות להבין מהו ◦

boostingניסויים ואפליקציות◦

10/04/23 06:39 10

Page 10: A Short Introduction To Boosting.Final V3.Ppt

Instead of sampling, re-weight◦Previous weak learner has only 50% accuracy

over new distribution

Can be used to learn weak classifiers

Final classification based on weighted vote of weak classifiers

Page 11: A Short Introduction To Boosting.Final V3.Ppt

1995הוצג בשנת בעל התקדמות מול שיטות הboost הישנות

כמה מושגי יסוד שגיאה על כל סוג של 50%אלגוריתים למידה חלש > ◦

התפלגותמסווג חזק – בעל סף לינארי קומבינציה של אלגוריתי למידה ◦

חלשיםהיפותזה חלשה.◦

10/04/23 06:39 12

Page 12: A Short Introduction To Boosting.Final V3.Ppt

נקבלtraining set תווית עבור כל עבורt= 1,….,T

נבנה את התפלגות על מרחב הדגימות ◦(1,..,m))כלל אצבע( כך שמסווג חלש נמצא ◦

עם שגיאה קטנה על

מסווג אחדנחזיר Hfinal

14

mm yxyx ,,....,, 11

iy }1,1{Xxi

tD

}1,1{: Xht

ttD

])([Pr iitdt yxht

Page 13: A Short Introduction To Boosting.Final V3.Ppt

בניה שלDt:◦D1(i) = 1 /mHt ו Dtעבור ◦

10/04/23 06:39 16

>0

Page 14: A Short Introduction To Boosting.Final V3.Ppt

Hfinal(x)

10/04/23 06:39 17

Page 15: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 18

Page 16: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 20

Page 17: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 21

Page 18: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 22

Page 19: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 23

Page 20: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 24

Page 21: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 25

משפט

אם

אז

Hfinal ≤ : tלכל

Hfinalהשגיאה של

Adaboost הוא אלגרויתם אדפטיבי, לא חייב לדעת מראה על γ או על Tיכול להשתמש בעובדה ש

Page 22: A Short Introduction To Boosting.Final V3.Ppt

Adaboost לעומת אלגוריתםמים אחרים לא מחייב ידיעה מראש של שהיא קשה להשגה.

Adaboost = Adaptive boosting הערך של משוואת השגיאה והטעות הכללית )שנציג

הוא אכן adaboostבהמשך( מוביל אותנו למסקנה ש , לוקח אלגוריתם למידה חלש boostingאלגוריתם

והופך אותו לאגוריתם חזק עם שגיאה נמוכה כאשר מקבל מספיק מידע.

10/04/23 06:39 27

Page 23: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 28

Page 24: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 29

Page 25: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 30

Page 26: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 31

• bounded by:

– T= number of iterations– m=sample size– d= Vapnik-Chervonenkis dimension2 – Pr [.]= empirical probability– Õ = Logarithmic and constant factors

• Overfitting in T!

Page 27: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 32

מספר הריצות של האלגוריתם

הא

שגיה

לפי תצפיות:0 ימשיך לרדת עד training errorשגיאה על ה • יהיה "מורכב Hfinal יעלה אם וכאשר TESTהשגיאה על ה •

מדי"•Occam’s razor

•Overfittingקשה לדעת מתי להפסיק לאמן –

Page 28: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 33

סיבובים1000 לא עלתה גם אחרי TESTהשגיאה על ה (C4.5 2 סיבובים יש בערך 1000 יוצר עץ החלטה – ב)מליון עלים

הגיעה ל training ממשיכה לרדת גם אחרי שהשגיאה של ה TESTהשגיאה על ה 0.

Occam’s razorטועה בכך שהמסווג הפשוט הוא טוב יותר –

Page 29: A Short Introduction To Boosting.Final V3.Ppt

:הרעיון◦Training errorקובע רק אם המסווגים טועים או צודקים צריך גם להתייחס ל"אמון" של המסווג◦

Hfinalשלנו היה מנגנון הצבעה עם משקלים marginsנמדוד את האמון בעזרת

חוזק ההצבעה = חלק הצבעה טוב – חלק הצבעה טעות

10/04/23 06:39 34

Page 30: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 35

איטרציות עקומה מקווקות קטנה5 איטרציות עקומה מקווקות100

איטרציות עקומה1000

Page 31: A Short Introduction To Boosting.Final V3.Ppt

:משפטmargin יותר על השגיאה גדול =< תחום טובהכללית)ללא תלות במספר הסיבובים(

גדולים המסווג הסופי יכול margin רעיון: אם כל ה◦להשתמש במספר קטן יותר של מסווגים חלשים)דוגמא

לבחירות האחרונות בארה"ב(Boosting נוטה להגדיל את ה margins של הtraining

examples)כאשר עובד עם אלגוריתם למידה חלש( הוכחה דומה להוכחת השגיאה◦

לסיכום: מסווגHfinal ממשיק להוסיף לעצמו כללי אצבע ה margins.ברוב המקרים יגדלו

◦Hfinal שלנו מתקרב למסווג פשוט ומוריד את השגיאה על test error

10/04/23 06:39 36

Page 32: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 37

בהסתברות גבוהה •

•mמספר הדוגמאות •dה"מורכבות" של המסווגים החלשים

אם 0 קטן מאפס -< marginההסברות ש •הוא יורד אקספוננצאלית מהר•

Generalization error ≤

Page 33: A Short Introduction To Boosting.Final V3.Ppt

( הרווחיםmargin ממראה על קשר בין )boosting Support-vector machineלבין

:הבדלים מול SVMהמודל החישובי שונה – משוואה ריבועית ב ◦

adaboostלינארי ב ◦SVM ו adaboost שניהם מוצאים מסווגים לינארים, הבעיה

נמנעת אם מגדילים את ה"מרווח" אבל overfittingשל נשארים עם הבעיה של מימדים רבים.

◦SVM משתמש ב KERENELS◦Adaboost משתמש בחיפוש חמדני

10/04/23 06:39 39

Page 34: A Short Introduction To Boosting.Final V3.Ppt

מה קורה אם נרצה לעבוד עםy? לא בינארי ◦Adaboost.M1 פתרון כללי כאשר האלגוריתם –

הלומד הוא מספיק מדוייק לתת תשובות נכונות, .50%אבל נכשל כאשר הדיוק יורד מ

◦Adaboost.MH יצירה של מספר בעיות בינאריות - אפשריתy וכל תווית xעבור כל דוגמא

נשאל "האם עבור דוגמאx התווית היא y או אחת מהאחרות"

10/04/23 06:39 42

Page 35: A Short Introduction To Boosting.Final V3.Ppt

Adaboost.M2 \ Adaboost.MR נבנה – עם התווית הנכונה xבעיה בינארית כל דוגמא

y ואם תווית y`.בכל מקרה אחר ’y או y האם התווית היא xנשאל "עבור דוגמא ◦

◦Error correcting תיקון שגיאות יתאים לכל – אלגורתמי הלמידה שנבחר בבסיס השערה החלשה

שלנו.

10/04/23 06:39 43

Page 36: A Short Introduction To Boosting.Final V3.Ppt

היתרונות שלadaboostקל, פשוט ומהיר לתכנות◦(Tאין פרמטרים רבים בכניסה ) חוץ ממספר ◦אין צורך לדעת מראש על האלוגריתם הלומד החלש וניתן ◦

לשלב כל אלוגריתם למציאת ההשערה.

אין צורך ללמוד יותר את כל עולם הדוגמאות אלא למצוא ◦אלגוריתם למידה חלש שרק צריך להיות טוב יותר מאלוגריתם

רנדומלי.

10/04/23 06:39 44

Page 37: A Short Introduction To Boosting.Final V3.Ppt

חסרונותתלוי במידע ובאלוגריתם למידה החלש.◦

מידע חלקימידע מרוכבהשערות חלשותפגיע לרעש◦

10/04/23 06:39 45

Page 38: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 46

decision ) אלגוריתם ליצירת C4.5השוואה בין ריצה של אלוגריתם tree)

boostingלעומת ריצה של שני אלגוריתמים עם C4.5 זה השגיאה של yציר boostingבכל תרשים, השגיאה של אלגוריתם עם x ציר

Page 39: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 47

Reuters newswire articles AP newswire headlines

קטלוג טקסט - בדיקה האם אות\ משפט קיים או לא קיים

Page 40: A Short Introduction To Boosting.Final V3.Ppt

אחד מן היתרונות שלadaboost היא הדרך לזהות outliersאותן דוגמאות שסווגו עם תווית שונה ב ,

training set או כאלה שהן לא חד משמעי או קשות לסיווג.

מכיוון שהאלגוריתם ב"כח" גורם לאלגוריתם הלמידההחלש לעבוד על אותן דוגמאות והן בעלות המשקל

הגבוה ביותר. אותן דוגמאות בעלות "רעש" גבוה. נוכל לזהות אותם ונוריד מהן את החשיבות אם הן

באמת קשות לזיהוי ולהריץ אלוריתמים שמטפלים במקרים כאלה.

10/04/23 06:39 48

Page 41: A Short Introduction To Boosting.Final V3.Ppt

10/04/23 06:39 49

class, label1/weight1,label2/weight2

OCR: Outliers

Rounds:

12

25

4

Page 42: A Short Introduction To Boosting.Final V3.Ppt

Boosting לוקח אלגוריתם למידה חלש והופך אותו לחזק

(0מוריד את השגיאה אסימפטוטית ) מתקרב לגבול מעלה את הMarginשל כל ההשערות בAdaboost אין צורך לדעת מראש מידע על

האלגוריתם למידה החלש הביצועים תלויים באלגוריתם למידה על הtraining

data פגיע לרעש או דוגמאות אם הרבהoutliers

10/04/23 06:39 50

Page 43: A Short Introduction To Boosting.Final V3.Ppt

http://videolectures.net/mlss05us_schapire_b/

videolectures.net

10/04/23 06:39 51