פרק 2 - linear regression
האלגוריתם הראשון שנראה הוא רגרסיה (אין קשר לרגרסיה לממוצע).
כפי שמשתמע משמו - האלגוריתם מנסה לפתור בעיות רגרסיה, דהיינו שמשתנה המטרה (ה-label) הוא continuous (רציף) ואין לו מחלקה מבודדת.
קו הניבוי
נתון הגרף הבא:
בשונה מבעיות קלסיפיקציה שהראינו בהקדמה, בהם קו הניבוי הוא המפריד בין האזורים אליהם נרצה לשייך את האובייקטים לניבוי. בבעיות רגרסיה אנו נרצה למצוא את קו הניבוי שעליו נוכל להתאים אובייקטים לניבוי לערך המתאים להם.
constant ( - קבוע)
נפתח בפתרונות נאיביים:
אלו הם קבועים המנבאים לכל אובייקט ללא קשר לערך ה-X שלו, את התוצאה Y. מכיון שלצורך הדוגמא הנאיבית האלגוריתם מוצא רק מודלים קבועים - אנו נעדיף את הקבוע שמייצג בצורה הטובה ביותר את הנתונים שבידינו.
כיצד נגדיר את ה"ייצוג הטוב ביותר"? נוכל להגדיר זאת על ידי סכום המרחקים מקו הניבוי, כך:
לפי הגדרה זו, הקבוע המייצג בצורה הטובה ביותר את הנתונים שבידינו הוא הקבוע שמביא למינימום (to minimize) את סכום המרחקים מקו הניבוי.
דהיינו:
שימו לב שהמרחקים מובאים בסכומים מוחלטים, כדי למנוע מהסטיות החיוביות להתקזז עם הסטיות השליליות.
דרך נוספת למנוע מהסטיות השליליות לקזז את הסטיות החיוביות היא להעלות את כל הסטיות בריבוע, כך תתקבל תמיד תוצאה חיובית. כך:
ניתן להוכיח (בעזרת חשבון דיפרנציאלי) שהקבוע המקיים את התנאי הנ"ל הוא פשוט הממוצע.
linear regression
נתקדם לפתרון קו רגרסיה (linear regression) שאינו קבוע:
שנית, נבדוק את עוצמת הקשר הלינארי שהמודל אכן מצא:
שלישית, נבדוק את המודל על ה-data test:
כפי שראינו בהקדמה, ציונם של מדדים אלו, כמו גם ההשוואה ביניהם, יכולה ללמד אותנו אם אנו עוסקים כאן בבעיית bias (במקרה של ציון נמוך) ונרצה אולי להוסיף מאפיינים או בבעיית overfitting (במקרה של פער בין ציון ה-train set לציון ה-test set) ונרצה להשיג עוד נתונים או לקצץ במספר המאפיינים (בהמשך נראה כיצד לקצץ את המאפיינים הפחות רלוונטיים מבין המאפיינים כדי לא לפגוע ביעילות האלגוריתם).
R^2
שימו לב ש-score כאן אינו שיעור הניבוי כפי שהגדרנו אותו בהקדמה (- מספר הניבויים המוצלח חלקי מספר הניבויים הכולל), משום שאנו לא עוסקים בבעיית קלסיפיקציה בה ניתן למדוד ניבויים באופן בינארי - ניבוי מוצלח כנגד ניבוי כושל. אנו עוסקים בבעיית רגרסיה ו"מוצלחות" הניבוי נקבעת לפי רמת הדיוק של המודל.
ישנם כמה מדדים להגדרת הדיוק בבעיות רגרסיה. הפונקציה score כאן משתמשת ב-R^2, או בשמה הארוך: Coefficient of determination. המדד מציין את עוצמת הקשר הליניארי בין המאפיינים למשתנה המטרה בסולם שבין 0 ל-1. ציון 1 מבטא קשר לינארי הדוק בין המאפיינים למשתנה המטרה, בעוד ציון 0 הוא במצב שבו משתנה המטרה הוא קבוע ללא קשר למאפיינים. ניתן לקרוא על כך בקצרה כאן (בהקשר של linear regression), או בהרחבה כאן.
ניבוי
בסופו של דבר אנו נרצה לקבל ניבוי על מקרים חדשים. נוכל לעשות זאת כך:
linear regression - מעלות
האלגוריתם linear regression יכול לתת בחלק מהמקרים תמונה מהירה על הקורלציה בין המאפיינים למשתנה המטרה.
linear regression - חסרונות
האלגוריתם מוצא רק קשרים ליניאריים בין המאפיינים למשתנה המטרה. אבל בהרבה מקרים הקשר אינו ליניארי.
לדוגמא, הקשר בין גיל לשכר אינו ליניארי. רמת השכר נוטה לטפס במהירות בשנים הראשונות לכניסה לשוק העבודה, לגדול בקצב נמוך יותר בגיל מבוגר יותר, ולצנוח לאחר הפרישה. linear regression אולי ימצא איזשהו קשר לינארי בין המשתנים, אבל ללא ספק הוא לא יבטא את הקשרים האמיתיים בין המשתנים.
הגרף הבא ממחיש את הנקודה:
[מקור: Avenue. ברישיון CC BY-SA 3.0.]
האלגוריתם רגיש לחריגים (outliers). נתונים קיצוניים בודדים יכולים "למשוך" את העקומה לכיוונם, ולהטות את הקו הליניארי למרות שמדובר בסך הכל בחריג. למשל כך:
[מקור: Avenue. ברישיון CC BY-SA 3.0.]
פעמים שחריגים לא רק מטים את העקומה, אלא אף גורמים לה להיראות שונה כלל ועיקר מהקשר הליניארי המקורי. כך:
[מקור: Avenue. ברישיון CC BY-SA 3.0.]
מסיבות אלו, רצוי להשתמש ב-linear regression רק אחרי היכרות מעמיקה עם אופי הנתונים ונטרול חריגים במידה ויש כאלו.
יעילות האלגוריתם היא ((O(k^2(n+k. כש-k הוא מספר הפרמטרים ו-n הוא מספר הנתונים. מה שהופך את האלגוריתם ליעיל בעיקר במימדים נמוכים.
Polynomial regression - bias overfitting tradeoff
עקרונית, אפשר ליצור גם משוואות לא לינאריות, דהיינו משוואות ממעלה שניה ומעלה, כפתרון רגרסיה.
למשל המשוואה 0.16x2+3.5x-8.3- תפתור את הגרף הקודם:
אבל רגרסיות כאלו, מעבר לכך שהן לא יעילות מבחינה חישובית, הן גם די חסרות תועלת בדרך כלל כשמדובר ביותר מ-2 מימדים.
נוכל אבל להתרשם באופן עקרוני, בעזרת Polynomial regression, מה-bias overfitting tradeoff:
משוואות ממעלות: 1, 2, 3 ו-14.
ללא ספק נקודת האיזון נמצאת במשוואה ממעלה שלישית, על אף שיש נקודות שלא יושבות בדיוק על קו הניבוי.