שְׁאֵלָה:
עזור לי להבין מכונות וקטור תומכות
rohanbk
2010-10-24 20:11:52 UTC
view on stackexchange narkive permalink

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

אני עושה בעיית סיווג בה קלטתי קריאות לחץ מחיישנים שהנחתי על מדרס הנעל. נבדק ישב, יעמוד וילך כמה דקות בזמן שנרשמים נתוני לחץ. אני רוצה להכשיר מסווג שיוכל לקבוע אם אדם יושב, עומד או הולך ומסוגל לעשות זאת לכל נתוני הבדיקה העתידיים. איזה סוג מסווג אני צריך לנסות? מה הדרך הטובה ביותר בשבילי להכשיר מסווג מהנתונים שצילמתי? יש לי 1000 ערכים לישיבה, עמידה והליכה (3x1000 = 3000 סה"כ), ולכולם יש את הצורה הווקטורית התכונה הבאה. (pressurefromsensor1, pressurefromsensor2, pressurefromsensor3, pressurefromsensor4)

ראה גם: http://stats.stackexchange.com/questions/23391/how-does-a-support-vector-machine-svm-work
אחד תשובה:
#1
+106
user88
2010-10-24 22:44:34 UTC
view on stackexchange narkive permalink

אני חושב שאתה מנסה להתחיל מסוף רע. מה שצריך לדעת על SVM כדי להשתמש בו הוא פשוט שאלגוריתם זה מוצא מישור-יתר במרחב-יתר של תכונות המפריד בין שתי מחלקות בצורה הטובה ביותר, כאשר האמצעי הטוב ביותר הוא עם המרווח הגדול ביותר בין הכיתות (הידע כיצד זה נעשה הוא האויב שלך כאן, מכיוון שהוא מטשטש את התמונה הכוללת), כפי שמודגם על ידי תמונה מפורסמת כזו: alt text

עכשיו נותרו כמה בעיות.
קודם כל, מה לעשות עם אותם חריגים מגעילים המונחים ללא בושה בתוך מרכז ענן של נקודות ממעמד אחר?
alt text
לשם כך אנו מאפשרים למייעל להשאיר דוגמאות מסוימות מוטעות, אך להעניש כל אחת מהדוגמאות כאלה. כדי להימנע מאופטימיזציה רב-אובייקטיבית, עונשים על מקרים שלא תויגו מוזגו עם גודל השוליים תוך שימוש בפרמטר C נוסף השולט באיזון בין מטרות אלה.
בשלב הבא, הבעיה היא פשוט לא לינארית ולא ניתן למצוא היפר-פלאן טוב. כאן אנו מציגים טריק ליבה - אנו פשוט מקרינים את החלל המקורי והלא לינארי לממדים גבוהים יותר עם טרנספורמציה לא לינארית, כמובן המוגדרת על ידי חבורה של פרמטרים נוספים, בתקווה שבחלל המתקבל הבעיה תתאים למישור רגיל SVM:

alt text

שוב, עם קצת מתמטיקה ואנחנו יכולים לראות שכל הליך השינוי הזה יכול להיות מוסתר באלגנטיות על ידי שינוי פונקציה אובייקטיבית על ידי החלפת מוצר נקודתי של אובייקטים כך - פונקציית הליבה הנקראת.
לבסוף, כל זה עובד עבור 2 שיעורים, ויש לך 3; מה לעשות עם זה? כאן אנו יוצרים 3 מסווגים דו-כיתתיים (ישיבה - ללא ישיבה, עמידה - ללא עמידה, הליכה - ללא הליכה) ובסיווג משלבים את אלו עם הצבעה.

אוקי, אז הבעיות נראות פתורות, אבל עלינו לבחור גרעין (כאן אנו מתייעצים עם האינטואיציה שלנו ובוחרים RBF) ולהתאים לפחות פרמטרים ספורים (ליבת C +). ועלינו פונקציה אובייקטיבית בטוחה יתר על המידה עבורו, למשל קירוב שגיאות מאימות צולב. אז אנחנו משאירים את המחשב עובד על זה, הולכים לשתות קפה, חוזרים ורואים שיש כמה פרמטרים אופטימליים. גדול! עכשיו אנחנו רק מתחילים אימות צולב מקונן כדי שיהיה קירוב שגיאות ו- voila.

זרימת עבודה קצרה זו כמובן פשוטה מכדי להיות נכונה לחלוטין, אך מראה סיבות מדוע אני חושב שתנסה תחילה עם יער אקראי, שהוא כמעט בלתי תלוי בפרמטר, רב-קלאסי מקורי , מספק הערכת שגיאות משוחדת ומבצע SVMs טובים כמעט כמו גם מותאמים.

(+1) נהדר שתוסיף כמה תמונות כדי להמחיש את כל העניין!
@mbq מכיוון שאתה נראה מאוד כשיר ב- SVM, הרשה לי לבקש ממך להבהיר את הספק שלי: ברגע שמצאנו את המטוס ההיפרדיאלי הטוב ביותר, למה אנו משתמשים בו? אנו יכולים להגדיר את SVM כשיטה, ראשית, בוחרת את המטוס ההיפר הטוב ביותר לסיווג נכון של נקודות נתונים, ושנית, היא משתמשת במטוס יתר זה כדי לנתק נקודות נתונים חדשות בשתי המחלקות. ימין? (יש לי ספקות בחלק השני)
@DavideChicco.it בעיקרון הבעיה המרכזית של כל ה- ML היא ליצור מודל שיחזה באופן מהימן נתונים חדשים, אז כן.


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 2.0 עליו הוא מופץ.
Loading...