A Short Introduction To Boosting.Final V3.Ppt

Post on 22-Dec-2014

880 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Adaboost בעברית

Transcript

גלעד דניאל

10/04/23 06:39 1

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

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

10/04/23 06:39 2

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

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

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

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

10/04/23 06:39 3

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

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

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

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

10/04/23 06:39 4

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

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

10/04/23 06:39 5

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

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

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

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

10/04/23 06:39 6

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

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

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

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

99%נטען

10/04/23 06:39 7

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

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

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

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

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

10/04/23 06:39 8

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

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

10/04/23 06:39 10

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

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

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

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

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

10/04/23 06:39 12

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

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

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

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

14

mm yxyx ,,....,, 11

iy }1,1{Xxi

tD

}1,1{: Xht

ttD

])([Pr iitdt yxht

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

10/04/23 06:39 16

>0

Hfinal(x)

10/04/23 06:39 17

10/04/23 06:39 18

10/04/23 06:39 20

10/04/23 06:39 21

10/04/23 06:39 22

10/04/23 06:39 23

10/04/23 06:39 24

10/04/23 06:39 25

משפט

אם

אז

Hfinal ≤ : tלכל

Hfinalהשגיאה של

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

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

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

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

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

10/04/23 06:39 27

10/04/23 06:39 28

10/04/23 06:39 29

10/04/23 06:39 30

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!

10/04/23 06:39 32

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

הא

שגיה

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

מדי"•Occam’s razor

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

10/04/23 06:39 33

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

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

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

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

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

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

10/04/23 06:39 34

10/04/23 06:39 35

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

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

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

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

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

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

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

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

10/04/23 06:39 36

10/04/23 06:39 37

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

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

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

Generalization error ≤

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

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

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

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

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

10/04/23 06:39 39

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

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

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

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

10/04/23 06:39 42

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

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

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

שלנו.

10/04/23 06:39 43

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

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

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

רנדומלי.

10/04/23 06:39 44

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

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

10/04/23 06:39 45

10/04/23 06:39 46

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

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

10/04/23 06:39 47

Reuters newswire articles AP newswire headlines

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

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

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

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

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

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

10/04/23 06:39 48

10/04/23 06:39 49

class, label1/weight1,label2/weight2

OCR: Outliers

Rounds:

12

25

4

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

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

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

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

10/04/23 06:39 50

http://videolectures.net/mlss05us_schapire_b/

videolectures.net

10/04/23 06:39 51

top related