דלג לתוכן

t-SNE — ממפה נתונים מרובי ממדים למפה דו-ממדית לפי דמיון

יסודות בינה מלאכותית

הגדרה

t-SNE (t-distributed Stochastic Neighbor Embedding) הוא אלגוריתם פופולרי לצמצום ממדים, שממפה נתונים עם מאות או אלפי ממדים לנקודות על מפה דו-ממדית (או תלת-ממדית) שאפשר להביט בה — כך שנקודות נתונים דומות יושבות קרוב זו לזו.

💡 דוגמה

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

הבעיה: איך 'מצלמים' נתונים עם אלפי ממדים לתמונה אחת

מודלי AI רבים מתארים כל פריט נתונים (מילה, תמונה, משתמש) כווקטור של מאות או אלפי מספרים — מרחב שאי-אפשר לדמיין או לצייר ישירות. כדי להבין חזותית אם קבוצות של פריטים מתנהגות בדומה, או כדי לבדוק אם מודל הטמעה אכן מקבץ פריטים דומים יחד, צריך דרך לכווץ את אלפי הממדים האלה למספר קטן בהרבה — לרוב שניים או שלושה, כך שאפשר לצייר את התוצאה כמפה רגילה על מסך או דף, ולבדוק בעין אם היא נראית הגיונית. t-SNE הוא אלגוריתם "לא ליניארי" לצמצום ממדים — בניגוד לשיטות ליניאריות ותיקות יותר, הוא לא מוגבל להטלה ישרה של הנתונים על מספר קטן של צירים, ויכול ללכוד מבנים מעוקלים ומורכבים יותר בתוך הנתונים. הצורך הזה מופיע כל הזמן בעבודה עם AI מודרני: כשבודקים אם מודל הטמעה חדש בכלל למד הבחנות סבירות בין קטגוריות, או כשרוצים להציג בפני קהל לא טכני "איך הנתונים נראים" בלי שיצטרך להבין מרחב אבסטרקטי של אלפי ממדים.

המקור: הינטון ורואייס, ואז ואן דר מאטן והינטון ב-2008

הגרסה המוקדמת של השיטה, Stochastic Neighbor Embedding (SNE), הוצגה על ידי ג'פרי הינטון וסם רואייס בכנס NIPS ב-2002. השיפור המוכר היום, t-SNE — הגרסה המבוססת על התפלגות t — הוצג ב-2008 על ידי לורנס ואן דר מאטן וג'פרי הינטון, במאמר "Visualizing Data Using t-SNE" בכתב העת Journal of Machine Learning Research (כרך 9, גיליון 86, עמודים 2579–2605). השיטה הפכה לאחת הדרכים הנפוצות להדמיה חזותית של נתונים מרובי ממדים במאמרים מדעיים ובכלי ניתוח נתונים, ונלמדת כיום כצעד שגרתי לבדיקה חזותית ראשונית של הטמעות ושל תוצרים אחרים של מודלים.

המנגנון: שתי התפלגויות דמיון, ומזעור הפער ביניהן

t-SNE פועל בשני שלבים. ראשית, הוא בונה התפלגות הסתברות על זוגות נקודות במרחב המקורי מרובה הממדים: נקודות קרובות זו לזו מקבלות הסתברות גבוהה להיחשב "שכנות". לאחר מכן הוא בונה התפלגות דומה על נקודות המפה הדו-ממדית המבוקשת, ומשתמש בירידת גרדיאנט כדי לכוונן את מיקומי הנקודות על המפה, במטרה למזער את הפער בין שתי ההתפלגויות, שנמדד ב"סטיית קולבק-לייבלר" (KL Divergence — מדד לא סימטרי לשוני בין התפלגויות, ולא מרחק במובן הרגיל). ייחודו של t-SNE הוא שההתפלגות על המפה הדו-ממדית מבוססת על התפלגות t של סטודנט (עם דרגת חופש אחת) בעלת "זנב כבד". תכונה זו מאפשרת לנקודות שאינן דומות להתרחק בבירור זו מזו על המפה, במקום להידחס יחד סביב מרכזה — בעיה שפגעה בגרסה המוקדמת, SNE. כל צעד של ירידת הגרדיאנט מזיז מעט את הנקודות על המפה הדו-ממדית, כך שההתפלגות שהן יוצרות תדמה יותר ויותר להתפלגות המקור — תהליך שחוזר על עצמו מאות או אלפי פעמים עד שהמפה מתייצבת.

המכשול המרכזי: גודל האשכולות והמרחק ביניהם אינם מלמדים דבר

הספרות על השיטה מזהירה במפורש: "גודל האשכולות שמפיק t-SNE אינו אינפורמטיבי, וכך גם המרחק בין אשכולות" — כלומר, אשכול גדול יותר על המפה לא אומר שהקבוצה שהוא מייצג גדולה יותר במציאות, ומרחק גדול בין שני אשכולות אינו אומר שהם שונים זה מזה יותר משני אשכולות אחרים, הקרובים יותר. מגבלה נוספת: הצורה הסופית רגישה מאוד לפרמטר שנקבע ידנית בשם "פרפלקסיטי" (Perplexity) — "מדד חלק של המספר האפקטיבי של שכנים", בערכים טיפוסיים בין 5 ל-50 לפי המאמר המקורי — ושינוי שלו יכול לשנות משמעותית איך האשכולות נראים. בעיה מתמטית נוספת נובעת מ"קללת הממדיות": מכיוון שהדמיון במרחב המקורי מחושב על בסיס מרחק אוקלידי, במרחבים מרובי ממדים מאוד המרחקים נוטים להיות דומים זה לזה, מה שמקטין את כוח ההבחנה שלהם.

למה אשכולות יפים במפה לא תמיד אמיתיים

מכיוון שהאשכולות שרואים במפה מושפעים מאוד מהפרמטרים שנבחרו (ובמיוחד מהפרפלקסיטי), הם עשויים להופיע גם בנתונים שאין בהם בעצם שום קיבוץ ברור — כלומר, מפה יפה עם אשכולות נבדלים אינה הוכחה לכך שהנתונים האמיתיים מאורגנים כך. בנוסף, השיטה דורשת זמן ריצה וזיכרון שגדלים ביחס לריבוע מספר הנקודות (O(n²) בשניהם), והיא נעשית יקרה מאוד כשמדובר בעשרות או במאות אלפי נקודות. לכן נפוצים מימושים מקורבים (כמו קירוב Barnes-Hut) או דגימה מקדימה של הנתונים. בשני ההיבטים האלה, אמינות התמונה וקנה המידה, t-SNE דורש שימוש זהיר: הרצה חוזרת בכמה ערכי פרפלקסיטי שונים, ובדיקה אם המבנה שמתגלה עקבי ביניהם, ולא הסתפקות בתמונה אחת מהרצה אחת.

UMAP: שיטה נוספת שבאה בעקבות t-SNE

ב-2018 הציגו לילנד מקאינס, ג'ון היילי וג'יימס מלוויל שיטה בשם UMAP (ראשי תיבות של Uniform Manifold Approximation and Projection) כחלופה ל-t-SNE. היא פועלת ברוח דומה — בונה תיאור של "מי שכן של מי" במרחב המקורי ומחפשת מפה שמשמרת אותו — אך נשענת על בסיס מתמטי אחר (גאומטריה וטופולוגיה) ועל פונקציית מטרה שונה. לפי מפתחיה, איכות ההדמיה שלה מתחרה בזו של t-SNE, היא מהירה יותר, וככל הנראה משמרת טוב יותר גם את המבנה הכללי של הנתונים, ולא רק את השכנויות המקומיות. בדיוק כמו t-SNE, גם UMAP כפופה לאותה אזהרה בסיסית: מפה חזותית נוחה לעין אינה תחליף לבדיקה סטטיסטית זהירה של המבנה שהיא כאילו מראה, ושתי השיטות כאחד הן כלי הדמיה, לא כלי הוכחה.

📬 הגיליון השבועי של Wiki-AI

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

שאלות נפוצות ❓

מי פיתח את t-SNE, ומתי?

לורנס ואן דר מאטן וג'פרי הינטון, במאמר מ-2008 בכתב העת Journal of Machine Learning Research — הרחבה של שיטת SNE שהציגו הינטון וסם רואייס ב-2002.

למה אי-אפשר להסיק מרחק אמיתי בין קבוצות ממפת t-SNE?

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

מה זה פרפלקסיטי (Perplexity), ולמה הוא חשוב?

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

מה ההבדל בין t-SNE ל-UMAP?

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

שתפו:וואטסאפטלגרם

מצאתם טעות בערך, או שיש לכם מקור שכדאי להוסיף? כתבו לנו