T-SNE

מתוך ויקיפדיה, האנציקלופדיה החופשית

t-distributed stochastic neighbor embedding) t-SNE) הוא אלגוריתם בלמידה חישובית להורדת ממדים, שפותח על ידי לורנס ואן דר מאטן וג'פרי הינטון.

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

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

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

פרטי האלגוריתם[עריכת קוד מקור | עריכה]

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

כאשר נקבע כך שה-perplexity (מידת השוואה להתפלגויות) של ההתפלגויות שהוגדרו (Q,P) יהיה שווה ל-perplexity מסוים שנקבע מראש על ידי חיפוש בינארי.

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

האלגוריתם משתמש בהתפלגות t כדי למדוד דמיון בין נקודות על המפה.

מיקום הנקודות במפה נקבעות על ידי מינימיזציה של דיברגנץ קולבק-ליבלר של ההתפלגות Q מההתפלגות P, כלומר הבאה למינימום של:

המינימיזציה של Kullback–Leibler divergence ביחס לנקודות מתבצע באמצעות אופטימיזציית gradient descent.

התוצאה של האופטימיזציה היא מפה שמשקפת בצורה טובה את הדמיון בין קלטי המרחב הרב ממדי.

קישורים חיצוניים[עריכת קוד מקור | עריכה]