יער אקראי

יער אקראי (באנגלית: Random Forest) הוא אלגוריתם למידת מכונה נפוץ שהומצא על ידי ליאו בריימן ואדל קאטלר. הוא משלב את התוצאות של מספר עצי החלטה כדי להגיע לתוצאה יחידה. קלות השימוש והגמישות שלו גרמו לאימוץ רחב שלו, כיוון שהוא מתאים גם לבעיות סיווג וגם לבעיות רגרסיה.<ref name=":0"></ref>

== אלגוריתם ==
האלגוריתם של יער אקראי מורכב ממספר עצי החלטה, ומשתמש בלמידת אנסבל כדי לשפר את הדיוק והאמינות של התחזיות. להלן הסבר מפורט על כל רכיב:<ref name=":0" />

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

עצי החלטה מחפשים את הפיצול הטוב ביותר כדי לחלק את סט הנתונים, והם לרוב מתאמנים באמצעות אלגוריתם CART (Classification and Regression Tree). מדדים כמו מדד ג'יני, , או טעות ריבועית ממוצעת

(MSE) משמשים להערכת איכות הפיצול.

בעוד שעצי החלטה הם אלגוריתמים נפוצים ללמידה מונחית, הם נוטים לבעיות כמו overall variance והתאמת יתר (overfitting). עם זאת, כאשר מספר עצי החלטה יוצרים יער אקראי הם מנבאים תוצאות מדויקות יותר, במיוחד כאשר העצים הבודדים אינם מתואמים זה עם זה.

=== למידת אנסמבל (Ensemble learning) ===
שיטות למידה בקבוצות מורכבות מקבוצה של מסווגים (כמו עצי החלטה) והתוצאות שלהם נאספות כדי לזהות את התוצאה הפופולרית ביותר. השיטות הידועות ביותר הן שקיות (bagging) וחיזוק (boosting). בשנת 1996 ליאו בריימן הציג את שיטת ה-bagging. בשיטה זו דוגמה אקראית של נתונים מסט האימון נבחרת עם החלפה כלומר שנקודות נתונים יכולות להיבחר יותר מפעם אחת. לאחר יצירת מספר דוגמאות נתונים, המודלים מתאמנים באופן עצמאי, ותלוי בסוג המשימה - רגרסיה או סיווג - ממוצע או רוב התחזיות מניבים הערכה מדויקת יותר. גישה זו משמשת בדרך כלל להפחתת השונות בנתונים רעשיים.<ref name=":0" />

=== אלגוריתם יער אקראי ===
אלגוריתם יער אקראי הוא הרחבה של שיטת bagging כיוון שהוא משלב גם bagging וגם אקראיות תכונות ליצירת יער של עצי החלטה שאינם מתואמים. אקראיות תכונות, המכונה גם שיטת התת-מרחב האקראי, יוצרת תת-קבוצה אקראית של תכונות (פיצ'רים), מה שמבטיח מתאם נמוך בין עצי ההחלטה. זהו הבדל מרכזי בין עצי החלטה לבין יערות אקראיים. בעוד שעצי החלטה שוקלים את כל הפיצולים האפשריים, יערות אקראיים בוחרים רק תת-קבוצה מהתכונות.

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

אלגוריתם יער אקראי מורכב מאוסף של עצי החלטה, וכל עץ ביער מורכב מדגימה של נתונים שנלקחה מסט האימון עם החלפה, הנקראת דגימת בוטסטרפ. מתוך דגימת האימון, שליש ממנה נשמר כנתוני בדיקה, הידועים כמדגם out-of-bag (oob). אינסטנס נוסף של אקראיות מוזרק באמצעות שקיות תכונות, מה שמוסיף גיוון נוסף לנתונים ומפחית את ההתאם בין עצי ההחלטה. תלוי בסוג הבעיה, קביעת התחזית תשתנה. למשימת רגרסיה, עצי ההחלטה הבודדים יהיה ממוצע הערכים שהתקבלו בעצים, ולמשימת סיווג הערך השכיח בין העצים יניב את התחזית הסופית. לבסוף, מדגם ה-oob משמש לאימות מוצלב, מסכם את התחזית.<ref name=":0" />

== יתרונות ==

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

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

== ישומיים ==
אלגוריתם יער אקראי יושם במספר תעשיות, מה שמאפשר להן לקבל החלטות עסקיות טובות יותר. כמה מהמקרים השימושיים כוללים:

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

==קישורים חיצוניים==

== הערות שוליים ==

קטגוריה:אלגוריתמים
קטגוריה:למידת מכונה
קטגוריה:סיווג (סטטיסטיקה)
קטגוריה:רגרסיה