Quantcast
Channel: ניהול ומנהיגות Archives - סטטוס
Viewing all articles
Browse latest Browse all 935

מדע נתונים ולמידת מכונה: מדען הנתונים רועי פולניצר זכה במקום הראשון בתחרות ה- Maximum F1-Score של John Bryce לדאטה סיינטיסטים

$
0
0

פורסם: 25.8.20 צילום: יח"צ

ב- 15 ביולי השנה נערכה תחרות ה- Maximum F1-Score של John Bryce לדאטה סיינטיסטים. במסגרת התחרות 24 דאטה סיינטיסטים קיבלו מסד נתונים זהה, המורכב מ- 29,755 הלוואות אשראי צרכני שהועמדו ללווים קמעונאיים, כאשר לכל אחת מההלוואות 10 מאפיינים וכן התוצאה בפועל "נפרעה במלואה" או "לא נפרעה במלואה".

המתחרים נתבקשו לחלק את הנתונים באופן כזה ש- 67% מהם יוגדרו כקבוצת "האימון" (Training Set) וישמשו לאימון מודל של למידת מכונה (Machine Learning) ו- 33% מהם יוגדרו כקבוצת "הביקורת" (Testing Set) וישמשו לתיקוף מודל הניבוי.

מטרת התחרות הייתה לאמן מודל סיווג (הואיל ומדובר בבעיית סיווג במקרה דנן שלפנינו), אשר יוכל לסווג הלוואות טרם העמדתן לטובת לווים פוטנציאליים להלוואות "טובות" (כאלו שנפרעו במלואן) ולהלוואות "רעות" (כאלו שנפרעו חלקית או שלא נפרעו בכלל) ושציון ה- F1-Score שלו (יוסבר בהמשך על ידי מדען הנתונים מר רועי פולניצר), המתקבל מתיקוף המודל (קרי, ממבחן נאותות המשווה בין תוצאות המודל על בסיס נתוני קבוצת "הביקורת" לבין התוצאות בפועל של נתוני קבוצת "הביקורת"), יהיה הגבוה ביותר מעל ל- 6% שמהווה את "רצפת התחרות" (Bottom F1-Score).

על מנת להקשות על המתחרים הוטלו ארבע מגבלות. המגבלה הראשונה הייתה לבצע ולהגיש את עבודת החקר באמצעות Jupyter notebook בלבד, הווה אומר, לעשות לכתוב תוכנית בשפת Python תוך שימוש בספריות הפיתוח שלה Scikit-learn ו-Pandas  ולא לעשות שימוש בכלים ותשתיות של Machine learning בענן, כגון: AWS, Azure ו- Watson.

המגבלה השנייה הייתה דרישה להשתמש אך ורק בשבעת המודלים הבאים של למידה בהשגחה (Supervised Learning): רגרסיה לוגיסטית (Logistic Regression), השכן הקרוב ביותר (KNN- K-Nearest Neighbor), עצי החלטה (Decision Trees), יער אקראי (Random Forest), המסווג הנאיבי של בייס (Naïve Bayes), מכונת וקטורים תומכים (SVM- Support Vector Machine) ועץ החלטות מגביר שיפוע (XGBoost).

המגבלה השלישית, הייתה דרישה להשתמש אך ורק בערך התחלתי (Random Seed) של 47 בלבד. Random Seed הינו מספר אקראי התחלתי שממנו יתחיל האלגוריתם של מחולל המספרים האקראיים. מגבלה זו נועדה לאפשר לעורכי התחרות לשחזר במדויק את תוצאות ה- F1 Score שקיבלו המתחרים מאימון המודלים.

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

אחת הבעיות שאפיינו את מסד הנתונים שקיבלו המתמודדים הייתה שהוא היה מוטה בצורה קיצונית ביחס של 97:3 לטובת הלוואות "טובות", משמע ש- 29,002 הלוואות מתוך ה- 29,755 ההלוואות שקיימות במסד הנתונים היו בפועל הלוואות "טובות" בעוד שרק 753 מההלוואות היו בפועל הלוואות "רעות". מדובר במדגם לא מאוזן בצורה קיצונית, מה שהיווה נקודת פתיחה בעייתית עבור חלק מהמתחרים.

ביום ראשון ה- 2/8/20 הודיע מר יגאל ניר, אחד מעורכי התחרות כי במקום הראשון בתחרות זכה מייסד ומנכ"ל האיגוד הישראלי למדעני נתונים מקצועיים (PDSIA) ומדען הנתונים הראשי של פירמת הייעוץ הסטטיסטי "רועי פולניצר – פרדיקציות יועצים", מדען הנתונים רועי פולניצר. מר פולניצר הגיש ראשון (ב- 22 ביולי, בהפרש ניכר מיתר המתחרים) דו"ח מחקר שכלל את הכנת נתונים (ייבוא נתונים, תחקור, ניקוי, השלמת ערכים חסרים באמצעות Imputation, נרמול משתנים, הנדסת משתנים ובחירת משתנים למודל), איזון קבוצת "האימון" (שימוש בטכניקות סטטיסטיות מתקדמות ליצירת דגימות סינטטיות של נתוני ההלוואות "הרעות" בקבוצת "האימון" על מנת להשוות את מספר ההלוואות "הרעות" בקבוצת "האימון" למספר ההלוואות "הטובות" בקבוצת "האימון"), יצירת מודלי חיזוי והערכתם (תהליך בניית מודלי סיווג, בחירת שיטת הערכה המתאימה ביותר, Model selection, שיפור הניבוי באמצעות כוונון היפר הפרמטרים, Overfitting, Underfitting, Data leakage), ביצוע QA למודלי החיזוי ויישום מודל החיזוי הטוב ביותר במערכת הייצור (Deployment).

למקום הראשון הגיע כאמור מר פולניצר עם תוצאת F1-Score של 13.9013% (פי 2.32 או 132% אחוז יותר מרצפת התחרות) באמצעות פיתוח אלגוריתם מסוג Support Vector Machine Classifier עם פרמטר רגולריזציה של 100 ופרמטר קרנל של 0.01. מאחר ומר פולניצר הגיש פרוטוקול מחקר שכלל 7 מודלים שונים הוא הגיע למעשה גם למקום השני עם תוצאת F1-Score של 13.8587% באמצעות פיתוח אלגוריתם מסוג Decision Tree Classifier עם פרמטר רגולריזציה של 19 וגם למקום השלישי עם תוצאת F1-Score באמצעות פיתוח אלגוריתם מסוג  XGBoost Classifier עם פרמטר רגולריזציה של 17.

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

מייסד ומנכ"ל האיגוד הישראלי למדעני נתונים מקצועיים(PDSIA) , מדען הנתונים רועי פולניצר

יגאל ניר, אחד מעורכי התחרות אמר: "מדובר במשימה לא פשוטה להעלות את מדד ה-F1-score בעולם של Unbalance Data  כל כך קיצוני – משימה לא פשוטה כשלעצמה. מזל טוב לרועי על זכייתו במקום הראשון! ברכות".

רועי פולניצר, הזוכה במקום הראשון אמר: "בעולמות למידת המכונה (Machine Learning) והלמידה העמוקה (Deep Learning) ישנם 4 מדדים מובילים להערכת מודלי סיווג. המדד הראשון המכונה Accuracy אומר לנו כמה מהלוואות ("טובות" ו- "רעות" כאחד) זיהיתי נכון מסך ההלוואות הקיימות ב"קבוצת הביקורת". לדוגמא, בקבוצת "הביקורת" היו לי 9,820 הלוואות שמתוכן 9,571 היו בפועל הלוואות "טובות" ו- 249 היו בפועל הלוואות "רעות". ה- Accuracy של המודל שאימנתי ושזכה במקום הראשון עמד על כ- 92.18% היות וזיהיתי נכון 9,052 הלוואות (8,990 הלוואות "טובות" ו- 62 הלוואות "רעות" מתוך 9,820 ההלוואות (9,571 הלוואות "טובות" ו- 249 הלוואות "רעות") שהיו בקבוצת "הביקורת"."

מר פולניצר הסביר המשיך: "שני המדדים הבאים הם סופר חשובים, משמע, שהכי הרבה משתמשים בהם והם ה- Recall וה- Precision. מדד ה- Recall אומר לנו כמה הלוואות זיהיתי כהלוואות "רעות" מתוך סך כל ההלוואות ה"רעות" הקיימות בקבוצת "הביקורת". שימו לב שאנחנו לא נרצה לפספס הלוואות "רעות". ה- Recall של המודל שאימנתי ושזכה במקום הראשון עמד על כ- 24.90% היות ומתוך 249 ההלוואות ה"רעות" שהיו בקבוצת "הביקורת" זיהיתי נכונה רק 62 מהן כהלוואות "רעות". כלומר 187 הלוואות שהיו באמת הלוואת "רעות" זיהיתי אותן כהלוואות "טובות" ולכן לכאורה העמדתי לטובת הלווים הקמעונאיים הללו הלוואות שאותן הם כבר לא יחזירו – מדובר בהפסד אמיתי וכואב. כמובן שבעולם חיתום האשראי נרצה Recall כמה שיותר גבוה, כי אם ניתן הלוואות ללווים בעייתיים – אז נפסיד כסף והמון. חשוב להבין שה- Recall זהו למעשה הרגישות של המודל. תחשוב למשל על בדיקת קורונה, נניח שיש לך כרגע 1,000 חולים, ה- Recall שואל כמה מתוך החולים הבדיקה הזאת מזהה? שים לב, שזה לא אומר כמה חולים יש לנו באוכלוסיה, אלא בהנחה שיש 1,000 חולים, כמה מתוכם זיהיתי, 90% או 70%. המדד השלישי הוא ה- Precision והוא משהו קצת אחר, כי הוא מסתכל על הדברים מכיוון אחר או מהצד השני. מדד ה- Precision אומר לנו מתוך כל ההלוואות שזיהיתי כהלוואות "רעות", כמה מהן באמת היו הלוואות "רעות". ה- Precision של המודל שאימנתי ושזכה במקום הראשון עמד על כ- 9.64% היות ומתוך 643 ההלוואות שזיהיתי כהלוואות "רעות" רק 62 באמת היו הלוואות "רעות". כלומר 581 הלוואות שהיו באמת הלוואת "טובות" זיהיתי אותן כהלוואות "רעות" ולכן לא העמדתי לטובת הלווים הקמעונאיים הללו הלוואות שאותן הם היו מחזירים לי כמעט בוודאות – מדובר בהפסד על הנייר, אבל עדיין הפסד. תחשוב למשל על בדיקת קורונה, נניח שזיהיתי 1,000 חולים כחולי קורונה, וה- Precision אומר לי שרק 70% מאלו שזיהית כחולים הם באמת חולים או שמבין כל האנשים שהכנסתי לכלא, רק 90% הם באמת פושעים."

לבסוף, חתם מר פולניצר ואמר: "המדד הרביעי, שהוא זה שנלחמנו להרים אותו כמה שיותר גבוה בתחרות הזו, מכונה ה- F1-Score. נניח שיש לי מצב של Precision של 99% ו- Recall של 0% או לחילופין מצב של של Precision של 0% ו- Recall של 92% ואז בעצם מגיעה השאלה "טוב איך אני משווה באמת בין מודלים שמפגינים ביצועים שכאלה?" ואז בא ה- F1-Score ועונה על השאלה. חשוב להבין שה- F1-Score זה בעצם ממוצע הרמוני (אפשר להגיד ממוצע הנדסי כי הוא עושה מכפלה) של ה- Precision וה- Recall במובן הזה שאין לו משמעות פיזיקלית. אין משמעות פיזיקלית לממוצע הזה (הנוסחה שלו היא 2 כפול Precision כפול Recall חלקי הסכום שלהם). זה אומר שאם אחד מהם הוא אפס או קרוב לאפס אז ה- F1-Score שלנו יהיה אפס או מאוד קרוב לאפס. ואז אני יכול בצורה כזאת לקחת מודלים מסוימים, להסתכל על ה- F1-Score שלהם ואז אני יכול באמצעות פרמטר אחד להשוות את הטיב של המודל. לאמור- עד כמה המודל הזה טוב או לא טוב. כי כמו שאמרתי, אני תמיד יכול להסתכל על ה- Accuracy אבל ה- Accuracy הוא מאוד מתעתע. מאידך, ה- F1-Score מביא בחשבון את ה- Precision וה- Recall. כשאני מסתכל על ה- Accuracy אני יכול לתת לו משמעות אמיתית, כלומר לדבר על הלוואות "רעות", הלוואות "טובות" וכדומה. ב- Precision אני יכול לדבר בחיבור לשטח, על משהו שבאמת קרה, אבל ל- F1-Score אין לו שום משמעות מה שנקרא פיזיקלית, זה משהו מתמטי לגמרי. זה פשוט מניפולציה מתמטית על מספרים, הרי אין באמת שום משמעות לקחת Precision ולהכפיל ב- Recall, מלבד מתמטיקה של זה כפול זה ואם אחד מהם הוא אפס אז הכל אפס. רוצה לומר- אני לא יכול לקחת F1-Score שיצא, נגיד 13%, ולספר סיפור. אם אני הולך לכיוון של סיפור, אז כשיש לי Accuracy של 92.18% אז אני יכול לספר את הסיפור שמתאים לזה או סיפור שמסביר מה המשמעות של זה. כשיש לי Recall של 24.90% אני יכול לספר את הסיפור כמו שסיפרתי אותו מקודם. כשיש לי Precision של 9.64% אני יכול לספר סיפור שמתחבר לשטח, שמתחבר להלוואות "רעות", להלוואות "טובות" וכו' וכו'. מאידך, F1-Score זה אך ורק מניפולציה מתמטית על Precision ו- Recall והמספר שיצא לי בסוף,ה- 13.90%, אני לא יודע לספר עליו סיפור מעבר להגיד שזה 2 כפול Precision כפול Recall חלקי הסכום שלהם. מה שאני כן יכול לעשות זה לאמן כמה מודלים, וזה דרך אגב בדיוק מה שעשיתי גם כאן בתחרות הזו וגם כעוזר מחקר במשך 4 שנים באקדמיה. באקדמיה היינו לוקחים דאטה סטים, מחשבים את כל הדברים ובסוף יש F1-Score ואז משווים באמצעותו כל מיני מודלים וכל מיני גישות. כלומר- היינו רואים איזה F1-Score יוצא יותר גבוה, כי זה אומר שהשיקלול של ה- Precision ו- Recall הוא יותר גבוה (הוא פשוט נותן penalties מאוד נמוכים ל- Precision ו- Recall). לבסוף, מה שחשוב שמבחינה אלגברית ככל שה- F1-Score של המודל יותר גבוה כך המודל יותר טוב".


מגזין "סטטוס" מופק ע"י: 

achad logo ex-01 (1)

The post מדע נתונים ולמידת מכונה: מדען הנתונים רועי פולניצר זכה במקום הראשון בתחרות ה- Maximum F1-Score של John Bryce לדאטה סיינטיסטים appeared first on סטטוס.


Viewing all articles
Browse latest Browse all 935