top of page

מה בין ניסויים בשיטת K-Fold לבין הגרלה באקראי?

  • Writer: shlomoyona
    shlomoyona
  • Apr 27
  • 3 min read

יש לי תהליך למידת מכונה, נניח Random Forest או XGB, ואני רוצה לוודא שהוא יציב, שהוא אינו בתת התאמה ולא בהתאמת יתר ושלתוצאות שאני מקבל עליו בבדיקות יש משמעות ועקביות. נניח שקבעתי מראש כמה מהאוסף המתוייג שברשותי הוא לטובת הבדיקות וכמה לטובת הלמידה ושהיחס הוא Rₜᵣₐᵢₙ:Rₜₑₛₜ (ככה ש Rₜᵣₐᵢₙ+Rₜₑₛₜ=1 וכל אחד מהמחוברים גדול מאפס וקטן מ 1). האם זה משנה אם אבצע ניסויים רבים בשיטת K-Fold או פשוט אגריל באקראי?


בשימוש במודלים מבוססי עצים כמו XGBoost או Random Forest, הבחירה בין K-Fold לבין חלוקה אקראית חוזרת משפיעה בעיקר על הדיוק והיציבות של הערכת ביצועי המודל. בשיטת ה-K-Fold, היתרון המרכזי הוא שכל דגימה במערך הנתונים משמשת כמידע לבדיקה (Test) בדיוק פעם אחת. הדבר מבטיח שהערכת השגיאה תהיה פחות מוטה ופחות תלויה במזל של הגרלת דגימות ספציפיות, ולכן התוצאה תאפיין יותר ותייצג יותר את ביצועי המודל על נתונים חדשים.


למה זה נכון?


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


בנוסף, K-Fold מצמצם משמעותית את השונות Variance של ההערכה. במודלים חזקים כמו XGBoost או Random Forest, קיימת סכנה שהמודל ילמד רעש סטטיסטי בנתונים. אם נשתמש בחלוקה אקראית חוזרת, קבוצות ה-Test השונות עשויות לחפוף זו לזו, ותווצר תלות סטטיסטית בין הניסויים והתמונה תתעוות. ב-K-Fold, קבוצות הבדיקה זרות לחלוטין זו לזו ולכן מנוטרלת האפשרות שתוצאה טובה בחיזוי תנבע ממזל שבו נתונים דומים הופיעו שוב ושוב בבדיקה, ומספקת הערכה יציבה וקרובה יותר למציאות שבה המודל יפגוש נתונים חדשים באמת.


התהליך גם מסייע בזיהוי התאמת יתר. מכיוון שכל דגימה משמשת גם לאימון וגם לבדיקה (כתלות ביחס Rₜᵣₐᵢₙ:Rₜₑₛₜ), ניתן לראות אם המודל מצליח להכליל את הידע שלו על פני כל חלקי הדאטה. אם ב-fold מסוים הביצועים צונחים משמעותית, נקבל אינדיקציה ברורה שיש פלח בנתונים שהמודל מתקשה איתו, מידע שהיינו עלולים להיות עוורים לו בחלוקה אקראית לו אותו הפלח לא היה נדגם ל-Test בצורה מספקת.



בשיטה של N ניסויים עם חלוקה אקראית בכל פעם, לעומת זאת, אין ערובה שכל הנתונים ייבדקו. ייתכן שחלק מהמידע יוגרל ל-Test פעמים רבות וחלק לא יופיע בו כלל. כאשר N קטן, שיטה זו עלולה לסבול משונות גבוהה מאוד, כלומר, אם נריץ את התהליך פעמיים, אנו עלולים לקבל תוצאות שונות משמעותית רק בגלל החלוקה המקרית. לכן, עבור מספר ניסויים קטן או בינוני, K-Fold נחשבת לשיטה עדיפה ומקצועית יותר.


ככל ש-N גדל, ההבדלים בין השיטות מצטמצמים. כאשר N גדול מאוד, חוק המספרים הגדולים נכנס לתוקף והממוצע של החלוקות האקראיות יתכנס בסופו של דבר להערכה יציבה הדומה לזו של K-Fold. עם זאת, יש לקחת בחשבון את עלות החישוב: ב-XGBoost, אימון של מודלים רבים דורש זמן ומשאבים. לכן, לרוב עדיף להריץ K-Fold (למשל K=5 או K=10) ולקבל הערכה מהימנה, מאשר להריץ מאות ניסויים אקראיים כדי להגיע לאותה רמת יציבות.


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


מה בין ניסויים בשיטת K-Fold לבין הגרלה באקראי?
מה בין ניסויים בשיטת K-Fold לבין הגרלה באקראי?

זקוקים לשותף טכנולוגי עתיר ניסיון שיודע לספק שירותי מחקר ופיתוח Hands-on, מארגוני אנטרפרייז ועד סטארט-אפים, על מנת להוציא חזון אלגוריתמי שלכם מהכוח אל הפועל? הבה נדבר!


שלמה יונה,

מייסד ומדען ראשי, 

מתמטיקאי מחקר ופיתוח בע"מ

053-7326360


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



 
 
 

Comments


  • Facebook Social Icon
  • LinkedIn Social Icon

© 2010-2026 mathematic.ai

bottom of page