סוגים של תנאים

היחידה הזו מתמקדת בסוגים שונים של conditions שמשמשים לבניית עצי החלטות.

תנאים מיושרים לציר לעומת תנאים משופעים

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

num_legs ≥ 2

אמנם הבא הוא תנאי עקום:

num_legs ≥ num_fingers

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

קוד YDF
ב-YDF, עצי ההחלטות מאומנים לפי תנאים ליישור ציר כברירת מחדל. אפשר להפעיל עץ אלכסוני החלטות באמצעות הפרמטר split_axis="SPARSE_OBLIQUE".

התנאי יישור לציר הוא "num_legs >= 3". התנאי האלכסוני הוא
  "num_legs + weight * 5 >= 12".

איור 4. דוגמאות לתנאי יישור לציר ותנאי נטוי.

 

הצגת שני התנאים הקודמים בגרף יוצרת את ההפרדה הבאה בין שטח התכונות:

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

איור 5. הפרדת מרחב תכונות בהתאם לתנאים באיור 4.

 

תנאים בינאריים לעומת תנאים לא בינאריים

תנאים שיש להם שתי תוצאות אפשריות (למשל, true או false) נקראים תנאים בינאריים. עצי החלטות עם תנאים בינאריים בלבד נקראים עצי החלטה בינאריים.

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

השוואה בין עצי החלטות בינאריים לעומת עצי החלטות לא בינאריים. עץ ההחלטות הבינארי מכיל שני תנאים בינאריים. עץ ההחלטות הא-בינארי מכיל תנאי לא בינארי אחד.

איור 6: עצי החלטה בינאריים לעומת עצי החלטות לא בינאריים.

 

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

סוג התנאי הנפוץ ביותר הוא תנאי סף, מבוטא כך:

featurethreshold

למשל:

num_legs ≥ 2

קיימים תנאים מסוגים אחרים. סוגים נוספים של תנאים בינאריים נמצאים בשימוש נפוץ:

 

טבלה 2. סוגים נפוצים של תנאים בינאריים.

שם מצב דוגמה
תנאי סף $\mathrm{feature}_i \geq \mathrm{threshold}$ $\mathrm{num\_legs} \geq 2$
תנאי שוויון $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{species} = ``cat"$
תנאי מוגדר $\mathrm{feature}_i \in \mathrm{collection}$ $\mathrm{species} \in \{``cat", ``dog", ``bird"\}$
מצב עקום $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ 5$ \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
חסרה תכונה $\mathrm{feature}_i \mathrm{is} \mathrm{חסר}$ $\mathrm{num\_legs} \mathrm{is} \mathrm{חסר}$