הרצת האלגוריתם של האשכול

בלמידה חישובית, לפעמים תיתקלו במערכי נתונים שיכולים להכיל מיליוני דוגמאות. האלגוריתמים של למידת המכונה (ML) חייבים להתאים ביעילות למערכי הנתונים הגדולים האלה. עם זאת, אלגוריתמים רבים של קיבוץ באשכולות לא משוקללים מפני שהם צריכים לחשב את הדמיון בין כל זוג הנקודות. המשמעות היא שזמן הריצה שלהם גדל בריבוע מספר הנקודות, שמכונה \(O(n^2)\). לדוגמה, אלגוריתמים של קיבוץ היררכיות או חלוקה באשכולות היררכיות בוחנים את כל זוגות הנקודות, ומורכבים מ- \(O(n^2 log(n))\) וגם \(O(n^2)\), בהתאמה.

השיעור הזה מתמקד ב-k-מים, מאחר שגודלו גדל כ- \(O(nk)\), כאשר \(k\) מספר האשכולות הוא k, כלומר אשכולות מקובצים באשכולות \(k\) כדי לצמצם את המרחקים בין נקודות לבין הסנטרואידי של האשכול (כפי שמתואר בתמונה 1 למטה). הסנטרואיד של אשכול הוא הממוצע של כל הנקודות באשכול.

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

לפני הרצת ממוצע k, יש לבחור את מספר האשכולות. \(k\). תחילה יש להתחיל עם ניחוש עבור \(k\). בהמשך נסביר איך לצמצם את המספר.

אלגוריתם K במשמעות של אשכול

כדי לקבץ נתונים באשכולות \(k\) , k הוא הצעדים הבאים:

תרשים של K-הכוונה באתחול
איור 1: משמעות k – אתחול.

שלב ראשון

האלגוריתם בוחר באופן אקראי מרכז לכל אשכול. בדוגמה שלנו, אנחנו בוחרים \(k\) תוך 3, ולכן האלגוריתם בוחר באופן אקראי שלושה.

אשכולות ראשוניים
איור 2: אשכולות ראשוניים.

שלב שני

האלגוריתם מקצה את כל הנקודות למרכז הקרוב ביותר כדי לקבל \(k\) אשכולות ראשוניים.

חישוב מחדש של צנטריוד
איור 3: חישוב מחדש של מרכזים.

שלב שלישי

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

אשכולות לאחר הקצאה מחדש
איור 4: אשכולות לאחר הקצאה מחדש.

שלב רביעי

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

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

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