מאמר מס' 8 בסדרה
פורסם: 8.3.20 צילום: shutterstock
- הקדמה
סדרת מאמרים זו מבוססת על נסיוני כמדען נתונים (Data Scientist) המתמחה בתחום למידת המכונה (ML- Machine Learning) בעולמות המימון הכמותי, ניהול הסיכונים הפיננסיים והאקטואריה.
חלק מהאלגוריתמים של ML למדתי בתואר הראשון שלי בכלכלה (כגון: הטיה מול שונות, בעיות רגרסיה מול בעיות סיווג, חלוקת נתונים ל- Training set ו- Testing set, נרמול נתונים, רגרסיה לינארית, Ridge, Lasso ו- Elastic Net, יישומי אלגברה לינארית בתוכנת Excel וכו'), חלק בקורסים לתואר שני בכלכלה (כגון: Dimensionality Reduction, Principle Components Analysis, K-Mean Cluster Analysis, Hierarchical Cluster Analysis ו- Time Series וכו'), חלק בתואר השני שלי במימון (כגון: Decision Trees, Random Forest, Monte Carlo Simulation, Bootstrapping, Cubic-Spline, Nelson-Siegel-Svensson וכו'), חלק למדתי בלימודי התעודה באקטואריה (המסווג הנאיבי של בייס, Overfitting, ,Underfitting Convolution and Pooling, תכנות מדעי וסטטיסטי בשפת R וכו'), חלק למדתי בלימודי התעודה בניהול סיכונים פיננסיים ועל חלק אף נבחנתי במבחנים הבינלאומיים להסמכה בתחום ניהול הסיכונים הפיננסיים FRM (כגון: רגרסיה לוגיסטית, Logit, Probit,LDA , K-Nearest Neighbor ו- Support Vector Machines וכו') ואת היתר למדתי עצמאית באינטרנט (כגון: Neural Networks, Ensemble, Bagging, Boosting, תכנות בשפת VBA וכו').
כמובן שההבנה העמוקה שלי באלגוריתמים של ML נשענת הן על הידע שלי בסטטיסטיקה (הכולל בין היתר: סוגי נתונים והצגתם באופן טבלאי וגרפי, מדדי מרכוז ומדדי פיזור, אחוזונים, מדדי קשר, התפלגות הנתונים, הסתברות פשוטה במרחב הסתברותי אחיד ובמרחב הסתברותי לא אחיד, הסתברות מותנית, נוסחת בייס, משתנים מקריים בדידים: ניסויי ברנולי, התפלגות בינומית, התפלגות פואסונית, התפלגות גיאומטרית, התפלגות היפרגיאומטרית, משתנים מקריים רציפים: התפלגות נורמלית, הסקה סטטיסטית, אמידה נקודתית, רווחי סמך, מבחני השערות וסטטיסטיקה א-פרמטרית) והן על הידע שלי בתורת הקבוצות (הכולל בין היתר: מערכות משוואות לינאריות, וקטורים ב- R^n, מטריצות ריבועיות, מטריצות אלמנטריות, מרחבים וקטורים, מרחבי מכפלה פנימית, אורתוגנליות, דטרמיננטות, ערכים עצמיים, וקטורים עצמיים, לכסון, תבניות ריבועיות, משוואות הפרשים, תכונות טופולוגיות של קבוצות במרחב אוקלידי, קבוצות קמורות, משפטי הפרדה, פונקציות קמורות וקעורות, תכונות ואפיונים, שנאת סיכון, אופטימיזציה של פונקציות עם ובלי אילוצים, משפט הפונקציות הסתומות, משפט המעטפת, משוואות דיפרנציאליות מסדרים שונים, מערכות של משוואות דיפרנציאליות ושיטות של אופטימיזציה דינאמית).
מטרתה של סדרת מאמרים זו היא להקנות לקורא הבנה מה עושים מדעני נתונים (Data Scientists) נתונים וכיצד הם יכולים לקדם את מטרות הארגון. מרבית אנשי המימון הכמותי, ניהול הסיכונים הפיננסיים והאקטואריה מכירים בכך שהם זקוקים לידע מסוים בתחום ה- ML על מנת לשרוד בעולם שבו מספר מקומות העבודה מושפע יותר ויותר מתחום זה. כיום, כל אנשי המימון הכמותי, ניהול הסיכונים הפיננסיים והאקטואריה צריכים לדעת לעשות שימוש בתוכנת Excel ולדעת לתכנת ברמה מסוימת ב- VBA. מחר כבר כל אנשי המימון הכמותי, ניהול הסיכונים הפיננסיים והאקטואריה יצטרכו לדעת לעבוד עם מאגרי נתונים גדולים (Big Data) תוך פיתוח ושימוש באלגוריתמים של ML על מנת לזהות כיוונים ומגמות בעולמי התוכן שלהם או במגוון תחומים לרוחב הארגון.
בסדרת מאמרים זו חסכתי מהקורא את השימוש בתורת הקבוצות (קרי, מטריצות ווקטורים), למרות שלעניות דעתי אלגברה לינארית חיונית ביותר על מנת להגיע להבנה עמוקה ולשליטה ברמה גבוהה ב- ML.
לסיכום, סדרת מאמרים זו מציגה את הכלים, המודלים והאלגוריתמים הפופולריים ביותר שבהם משתמשים כיום מדעני נתונים.
- סיכום המאמר הקודם: אלגוריתם עצי החלטה (Decision Trees)
עץ החלטה (Decision Tree) הינו אלגוריתם לסיווג או לחיזוי ערכו של משתנה, כאשר המאפיינים מסודרים לפי סדר החשיבות. לצורך סיווג, קיימים שני מדדים אלטרנטיביים לאי וודאות: מדד אנטרופי (Entropy) ומדד ג'יני (Gini). כאשר מנבאים את ערכו של משתנה מסוים, אי הוודאות נמדדת באמצעות שורש השגיאה הריבועית הממוצעת (RMSE- Root Mean Squared Error) של התחזית. חשיבותו של מאפיין הינו הרווח מהמידע הצפוי ממנו (Expected Information Gain), כאשר רווח זה נמדד על ידי הירידה באי הוודאות הצפויה אשר תתרחש, ככל ותתרחש, עם קבלת מידע אודות אותו מאפיין.
במקרה של מאפיינים קטגוריאליים, המידע המתקבל הינו על פי רוב אודות התווית (Label) של המאפיין (למשל, האם יש בבעלותו של לווה פוטנציאלי מסוים בית או שמא הוא שוכר דירה). במקרה של מאפיין נומרי יש לקבוע ערך סף (Threshold) אחד (או יותר) המגדיר שני טווחים (או יותר) עבור ערך המאפיין. ערכי סף אלו נקבעים באופן כזה שממקסם את רווח המידע הצפוי.
אלגוריתם עץ ההחלטה קובע תחילה את צומת השורש (Root Node) האופטימלי של העץ באמצעות קריטריון "מקסום הרווח מהמידע" שהוגדר לעיל. לאחר מכן, אלגוריתם עץ ההחלטה ממשיך לעשות אותו הדבר עבור הצמתים העוקבים. הקצוות של הענפים הסופיים של העץ מכונים צמתי עלים (Leaf Nodes). כאשר עץ ההחלטה משמש לסיווג, או אז צמתי העלים כוללים בחובם את ההסתברויות של כל אחת מהקטגוריות להיות הקטגוריה הנכונה. כאשר כאשר עץ ההחלטה משמש לחיזוי ערך נומרי, או אז צמתי העלים מספקים את הערך התוחלתי של היעד (Target). הגיאומטריה של העץ נקבעת באמצעות סט האימון (Training Set), אך הסטטיסטיקה שעוסקת ברמת הדיוק של העץ צריכה, כמו תמיד בלמידת מכונה, לבוא מתוך סט הבדיקה (Test Set) ולא מתוך סט האימון.
- שיטות מורכבות (Ensemble Learning)
כאשר משלבים תחזיות המתקבלות ממספר אלגוריתמים שונים של למידת מכונה, הרי שהתוצאות יכולות להיות טובות יותר מאשר להסתמך על תחזית של אלגוריתם אחד בלבד. נאמר מראש, השיפור בחיזוי תלוי כמובן במתאם (Correlation) שבין האומדנים המתקבלים מהאלגוריתמים השונים. כך למשל, אם שני אלגוריתמים מספקים תמיד את אותן תחזיות, הרי שברור שאין מה להרוויח מהשימוש בשניהם יחדיו. ברם, אם זה אינו המקרה, הרי שקיים ערך פוטנציאלי בביצוע חיזוי מורכב (Composite Prediction) העושה שימוש בתחזיות של שני האלגוריתמים. שימוש בשני אלגוריתמים או יותר לביצוע חיזוי מכונה שיטות מורכבות (Ensemble Learning).
נניח שיש לך מטבע לא הוגן, כלומר, כזה שכאשר אתה מטיל אותו יש לו סיכוי של 52% ליפול על תוצאה אחת (עץ או פאלי) וסיכוי של 48% ליפול על התוצאה האחרת. למעשה אם אתה רוצה לדעת האם הצד של ה- 52% הוא עץ או פאלי, הרי שלא תוכל להסתפק רק בזריקה אחת, כי מזריקה אחת לא תוכל ללמוד דבר. אולם, אם תטיל את המטבע 1,000 פעמים, הרי שישנה סבירות של כ- 90% שאם ההסתברות ליפול על עץ היא 0.52, אתה תראה עץ הרבה יותר פעמים מאשר מפאלי. באופן דומה, אם ההסתברות ליפול על פאלי היא 0.52, הרי שישנה הסתברות של 90% שאתה תראה פאלי הרבה יותר פעמים מאשר עץ. זה מראה לנו למעשה שניתן לשלב יחדיו 1,000 כלי למידה (Learners) "חלשים" במטרה לייצר כלי למידה "חזק", כזה שמספק תחזיות אמינות. כמובן שבדוגמה דנן (של המטבע הלא הוגן) כלי הלמידה אינם תלויים זה בזה (היות ומדובר בסדרה של 1,000 ניסויי ברנולי בלתי תלויים זה בזה בעלי סיכוי ידוע וקבוע של p להצלחה בכל ניסוי), בשעה שבלמידת מכונה לא סביר שהאלגוריתמים השונים יהיו בלתי תלויים לחלוטין זה בזה ולכן השיפור בחיזוי לא יהיה טוב כמו בדוגמא של הטלת מטבע.
הדרך המקובלת לשלב תחזיות היא די פשוטה כאשר משתמשים בשיטות מורכבות. אם אנו מסווגים התחזיות המתקבלות מהאלגוריתמים השונים, הרי שניתן להשתמש בהליך הצבעת הרוב (Majority Voting Procedure). כך לדוגמא, אם משתמשים ב- 7 אלגוריתמים שונים, כאשר 5 מהם מספקים תחזית חיובית ו- 2 מספקים תחזית שלילית, הרי שהתחזית המורכבת תהיה תוצאה חיובית (כי 5 קולות בעד תחזית חיובית גוברים על 2 קולות בעד תחזית שלילית). דוגמא נוספת, אם אנו מנבאים את ערכו של משתנה רציף (גיל, משקל, גובה, ערך וכו'), הרי שניתן למצע את התחזיות המתקבלות מהאלגוריתמים השונים.
- Bagging
טכניקת ה- Bagging כרוכה בשימוש באותו אלגוריתם אך באימונו על דגימות אקראיות שונות של סט האימון (training set) או של המאפיינים. כך למשל, יתכן ויהיו לנו 200,000 תצפיות בסט האימון ונדגום באופן אקראי 100,000 תצפיות 500 פעמים במטרה לקבל 500 תתי-קבוצות של סט האימון. לאחר מכן נאמן את המודל על כל אחת מ- 500 תתי-הקבוצות בדרך המקובלת, כאשר הדגימה תיעשה על פי רוב עם החזרה, הווה אומר שהתצפיות עשויות להופיע יותר מפעם אחת בתת-קבוצה. נעיר רק שאם הדגימה נעשית ללא החזרה, או אז השיטה מכונה הדבקה (Pasting).
בנוסף, אנו יכולים גם לייצר מודלים חדשים רבים על ידי דגימה ללא החזרה מתוך המאפיינים. לדוגמה, אם ישנם 50 מאפיינים, נוכל לייצר 100 מודלים, כל אחד עם 25 מאפיינים שונים הנדגמים באופן אקראי. לעיתים, מודלים נוצרים על ידי דגימה אקראית הן מתוך המאפיינים והן מתוך התצפיות.
- יערות אקראיים (Random Forests)
יער אקראי, כפי ששמו מרמז עליו, מורכב איך לא מעצי החלטה. העצים נוצרים לרוב על ידי דגימה מתוך המאפיינים או מתוך התצפיות (כלומר, באמצעות גישת ה- bagging). כל אחד מהעצים נותן תוצאה לא-אופטימאלית (Suboptimal) אך באופן כללי, על פי רוב החיזוי בדרך זו משתפר.
גישה נוספת ליצירת יער אקראי היא להגריל באופן מקרי את רמות הסף (Thresholds) המשמשות עבור המאפיינים, במקום לחפש את רמת הסף האפשרית הטובה ביותר. זה יכול להיות יעיל מבחינת חישובית שכן מציאת רמת הסף האופטימלית של המאפיין בכל צומת עלולה לקחת זמן רב.
ניתן לחשב את חשיבותו של כל אחד מהמאפיינים השונים ביער אקראי באמצעות הרווח הממוצע המשוקלל מהמידע (אשר נמדד על בסיס מדד אנטרופי או על פי מדד ג'יני) עם משקולות שפרופורציונאליות למספר התצפיות שנלקח בצומת מסוים.
- Boosting
Boosting מתייחס לשיטה מורכבת שבמסגרתה שיטות החיזוי מיושמות ברצף (אחת אחרי השנייה), כאשר כל אחת מנסה לתקן את השגיאות של קודמתה.
אם ניקח למשל בעיה סיווג הלוואות, הרי שאנו יכולים ליצור סיווג ראשון בדרך המקובלת. לאחר מכן אנו מעלים את המשקל שניתן לתצפיות שלא סווגו נכונה (Misclassified) ובכך יוצרים סט תחזיות חדש; וכך הלאה. התחזיות משולבות בדרך המקובלת אלא שהמשקל שניתן לתחזית מסוימת תלוי ברמת הדיוק שלה. הליך זה מוכר בשם AdaBoost.
Gradient Boosting היא גישה השונה מ- AdaBoost, בכך שבכל איטרציה, ה- Gradient Boosting מנסה להתאים מנבא (Predictor) חדש לשגיאות שביצע המנבא הקודם. נניח שישנן 3 איטרציות. התחזית הסופית היא סכום שלושת המנבאים, הואיל והמנבא השני אומד את השגיאות של המנבא הראשון והמנבא השלישי אומד את השגיאות של שני המנבאים הראשונים.
- לסיכום
לפעמים נעשה שימוש ביותר מאלגוריתם אחד של למידת מכונה על מנת לבצע חיזוי. לאחר מכן ניתן לשלב את התוצאות המתקבלות מהאלגוריתמים השונים. זה נקרא שימוש בשיטות מורכבות. במקרה של סיווג ניתן להשתמש בהליך הצבעת הרוב. אם מרבית האלגוריתמים מנבאים תוצאה מסוימת, הרי שניתן לבחור בתוצאה זו כתוצאה החזויה. במקרה של חיזוי של משתנה נומרי, ניתן למצע את התוצאות המתקבלות מאלגוריתמים שונים על מנת לבצע חיזוי מורכב.
אלגוריתם יער אקראי הינו אלגוריתם של למידת מכונה הנוצר על ידי בניית עצי החלטה רבים ושילוב התוצאות המתקבלות מהם באופן שתואר לעיל. את העצים ניתן ליצור על ידי דגימה מתוך התצפיות, לחילופין באמצעות דגימה מתוך המאפיינים או לחילופי חילופין על בסיס דגימה משניהם ביחד. בנוסף, ניתן לייצר עצים על ידי הגרלה מקרית של רמות סף.
Bagging הוא המונח המשמש כאשר משתמשים בתתי-קבוצות שונות של התצפיות שבסט האימון ליצירת מודלים מרובים. Boosting היא שיטה מורכבת שבמסגרתה מודלי חיזוי נבחרים ברצף, כאשר כל מודל נועד לתקן את השגיאות של המודל הקודם. בעת סיווג אחת הדרכים לעשות זאת היא להגדיל את משקלן של התצפיות שלא סווגו נכונה. דרך נוספת היא להשתמש בלמידת מכונה לניבוי השגיאות שהתקבלו במודל הקודם.
"מדען נתונים הוא אחד שגם טוב יותר בסטטיסטיקה ואקונומטריקה מכל בוגר מדעי המחשב או מהנדס תוכנה וגם טוב יותר בהנדסת תוכנה מכל סטטיסטיקאי או כלכלן", רועי פולניצר, אקטואר ומעריך שווי, 2019.
רועי הינו מדען נתונים (Data Scientist) העושה שימוש ב- Machine Learning לצורך פיתוח מודלים מתקדמים לניהול סיכונים (בדגש על אשראי קמעונאי) כגון מודלים מנבאי התנהגות לקוחות ו/או מודלי תחזיות בתחום ניהול הסיכונים, שיפור מודלים בתחום ניהול הסיכונים, ניתוח צרכים עסקיים בעולמות ניהול הסיכונים, אפיון פתרונות מתאימים באמצעות עבודה מול בסיס נתונים גדולים ויישום כלים אנליטיים מתקדמים בעולם הבינה המלאכותית, הערכת סיכוני מודל וניטור פעולות מתקנות, ניתוח ועיבוד גורמי סיכון עיקריים, וניתוח הבדלים בין חלופות ואיפיון גורמי סיכון.
ניסיונו של רועי בתחום ה- Data Analysis, כולל: עבודה עם מאגרי מידע גדולים Big Data תוך שימוש ב- Statistical Learning (כגון: סטטיסטיקה תיאורית, הסתברות, הסקה סטטיסטית, סטטיסטיקה א-פרמטרית, חלוקת נתונים, נרמול נתונים, Fitting ו- Bayes Theorem) ובאלגוריתמים מסוג Unsupervised Learning (כגון: k-means Clustering, Hierarchical Clustering, Density-based Clustering, Distribution-based Clustering ו- Principle Components Analysis) למציאת דפוסים וזיהוי מגמות ואנומליות בעולמות ניהול הסיכונים, ההשקעות, האקטואריה, הביטוח והפנסיה, פיתוח תשתית לצורך ניתוח נתונים, שילוב והטמעת כלים לצורך גישה ושליפה עצמאית של נתונים ממאגרי מידע, פיתוח דוחות, ממשקים ומסכים באמצעות כלי ויזואליזציה.
ניסיונו של רועי בתחום ה- Data Science, כולל: עבודה עם מסדי נתונים גדולים Big Data תוך שימוש באלגוריתמים מסוג Supervised Learning (כגון: Linear Regression, Ridge Regression, Lasso Regression, Elastic Net Regression, Logistic Regression, Maximum Likelihood Estimation, k-Nearest Neighbors, Decision Tree, Random Forest, Ensemble, Bagging, Boosting, Naïve Bayes Classifier, Linear Separation, Support Vector Machine, Non-Linear Separation, SVM Regression, Artificial Neural Network, Convolutional Neural Network ו- Recurrent Neural Network) לניבוי וסיווג בעולמות ניהול הסיכונים, ההשקעות, האקטואריה, הביטוח והפנסיה ובמודלים מסוג Reinforcement Learning (כגון: Q-learning, Monte Carlo Simulation, Temporal Difference Learning ו- n-Step Bootstrapping) לקבלת החלטות מרובות שלבים בעולמות ניהול הסיכונים, ההשקעות, האקטואריה, הביטוח והפנסיה, זיהוי אתגרים עסקיים שבהםDATA יכול להוות גורם מכריע בשיפור קבלת החלטות, איתור ואיסוף מקורות מידע, הגדרה ואיפיון של שימושי המידע, בניית מסד המידע, אפיון והגדרת הצגת המידע ותוצריו, פיתוח כלים, מודלים, תהליכים ומערכות בתחום האנליזה, תוך שימוש בכלי אנליזה מתקדמים (VBA, R Programming ו- Python).
מגזין "סטטוס" מופק ע"י:
Tags: אקטואריה הערכות שווי כלכלה כספים פיננסים