Skip to content
לומדת אשכול היררכי – פארק השעשועים

אשכול היררכי
Hierarchical Clustering

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

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

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

כשאנחנו מדברים בעולם ה AI על מילים כמו ״שכנים״ או ״פריטים דומים״ הכוונה היא לא לשכנות גיאוגרפית פיזית!
הכוונה היא לנקודות נתונים בעלות תכונות ומאפיינים דומים (כמו הרגלי קנייה, שעות פעילות או העדפות אישיות). דמיון בתכונות הללו גורם להן להתקרב מתמטית במרחב הנתונים.

הרציונל

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

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

לקראת הקיץ אתם רוצים לצאת עם קמפיין פרסום ממוקד שישלח במייל ללקוחות הקבועים – הצעות לחבילות נופש חדשות שתרצו לשווק.
אתם רוצים לשווק כל חבילה בדיוק לקהל היעד המתאים לה ושיש סיכוי גדול שירכוש אותה – כלומר לטרגט את החבילה אל קהל היעד המתאים על מנת שלא יתבזבז כסף על פרסום שיגיע ללקוחות הלא נכונים (למשל חבילת אקסטרים לאלו שאינם חובבי רכבות הרים ומעדיפים לצפות במופעים).

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

היתרון על פני המוח האנושי

כאן נכנס לתמונה אלגוריתם למידת המכונה Hierarchical Clustering.
בעולם השיווק הקלאסי, מנהל אנושי ינסה לחלק את הלקוחות לפי קטגוריות צפויות מראש (כמו “צעירים” או “מבוגרים”). לאלגוריתם אין קיבועים כאלו.

זיהוי דפוסים נסתרים שהעין האנושית עיוורת אליהם

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

מכונת הזמן של הנתונים

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

נניח שחילקתם את המבקרים ל-3 חבילות נופש. פתאום הבוס דורש לפצל ל-5 קמפיינים או לצמצם ל-2 – אין בעיה! בעזרת הדנדרוגרמה, פשוט “נוסעים אחורה” על ענפי העץ ומשנים את כמות הקבוצות מיידית ללא חישוב מחדש!

בואו נתנסה!

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

  1. הקליקו על שטח הציר הדו מימדי כדי לפזר לקוחות.
  2. לחצו על כפתור ״חבר זוג קרוב״ כדי ליצור אשכולות שלב אחרי שלב או על ״בנה עץ אוטומטית״ כדי לבנות את העץ בבת אחת.
  3. ברגע שהעץ הושלם, כוחה של הדנדרוגרמה בידיים שלכם! תוכלו ‘לחזור בזמן’ ולשנות את החלטת הפילוח: הגדירו את מספר האשכולות הרצוי ולחצו על ׳פלח לאשכולות׳ כדי לראות את הקבוצות מתפצלות או מתאחדות מחדש בדיעבד.

מוזמנים להתנסות!

פילוח לאשכולות בדיעבד-הדנדרוגרמה

זמין רק לאחר שהעץ נבנה במלאו:

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