יום שבת, 2 במאי 2020

איך ‏נראה ‏פרוייקט ‏למידת ‏מכונה? ‏


בפוסט הזה נסקר בקצרה את השלבים בפרוייקט למידת מכונה.

 

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

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

 

אחרי שתרגמנו את הבעיה\שאלה לאחת שלמידת מכונה יכולה לפתור, אנחנו עוברים לחקור מה מקורות המידע הזמינים לנו – דוחות מאנשי מכירות, נתונים מהמערכת עצמה, מאגרי מידע חיצוניים, וכו'.

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

 

כעת, שבידנו יש מידע גולמי, אנחנו צריכים לעבד אותו לצורה אותה אלגוריתמים של למידת מכונה יודעת לקלוט. בדר"כ זאת תהיה טבלה ללא שדות ריקים (נתונים ריקים נסמן כ"MISSING VALUE"), בדר"כ עם ערכים מספריים אפילו לשדות קטגוריים. מין לדגומא יהפך מ "זכר"/"נקבה"/"הפרעה נפשית" ל0/1/2.

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

 

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

לאחר קבלת תוצאות ראשוניות אנחנו מתחילים לטייב את האלגוריתם. לדוגמא, אם שמנו לב שיש לנו יותר מדי זיהוי שווא (FALSE POSITIVE) נעלה את המחיר של כל טעות מסוג זה ונריץ שוב. ברגע שהגענו ליחס FP-FN סביר, מספרים ששתנים בין פרוייקטים – מערכת ספאם יכולה להיות בעלת אחוז FN גבוהה יחסית, מ'סימום נמחק את האימייל בעצמנו. לעומת זאת למערכת שמזהה התפתחות סרטנית נסלח יותר על התראות שווא – מקסימום עשינו בדיקה נוספת סתם, מאשר פיספוס של אבחון.

 

לבסוף נותר להציג את התוצאות בפני מנהלים ובעלי עניין ולקבל את אישורם להטמיע את המסווג שבנינו במוצר.

 

 

מקווה שכעת כולנו מבינים איך נראה פרוייקט למידת מכונה. 


4 תגובות:

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

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

    השבמחק
  3. היי אלינה! ת'אמת מה שלמדתי היה פחות על המקרו ויותר איך זה משליך עלי. גם מתוך בהירות הכתיבה שלך, והידע שאת פרשת לפני הבנתי שכדאי לי לאמץ [אם לא את הכול] אז לפחות חלק מהתובנות וההנחיות כדי להיות יותר יעיל...תודה רבה -:)

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

    השבמחק