[go: up one dir, main page]

0% found this document useful (0 votes)
48 views7 pages

Clustering

Machine Learning- Haifa University

Uploaded by

Adeem Kheir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views7 pages

Clustering

Machine Learning- Haifa University

Uploaded by

Adeem Kheir
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

‫‪Clustering‬‬

‫שיטות שונות למציאת דפוסים בדאטה‪.‬‬


‫מוטיבציה‪:‬‬
‫‪ ‬הדאטה לא תמיד קל לניתוח‪.‬‬
‫‪ ‬יש יותר מידי דפוסים או שלא שאין דפוס נראה לעין‪.‬‬
‫עובדים רק עם ‪ X‬אין ‪ Y‬כלומר ‪.unsupervised‬‬
‫‪ :Hard Clustering‬כל תצפית משויכת באופן דטרמיניסטי )‪ (xor‬לקסלטר מסוים‪.‬‬
‫‪ :Soft Clustering‬כל תצפית משויכת בהסתברות שונה לקלסטר מסוים‪ ,‬ניתן לסווג סופית על ידי שיוך לאשכול עם‬
‫ההסתברות הגבוהה ביותר‪.‬‬

‫חישובי מרחקים‬

‫מרחק מנהטן‬ ‫מרחק אוקלידי‬


‫כללי כלומר עם משתנה ‪p‬‬
‫הערה‪ :‬ערכים זבליים משפיעים על חישוב המרחקים יותר כאשר ה‪ P‬בנוסחה לחישוב מרחק כללי גבוה יותר‪ ,‬לכן אם‬
‫אנו פוחדים מפיצ'רים זבליים נשתמש ב‪ P‬נמוך‪.‬‬
‫כאשר ‪ P‬שווה ל‪ 0‬אנחנו נקבל ווקטור של ‪ 0‬ו ‪ 1‬כאשר ‪ 0‬זה פיצ'ר שהערכים בין הנקודות זהים‬
‫ו‪ 1‬כאשר הם שונים‪.‬‬

‫שיטה נוספת לחישוב מרחקים‪ :‬חישוב הזווית בין כל שתי ווקטורים)רשימת ערכי פיצ'רים של‬
‫תצפית(‪ ,‬כדאי להשתמש בזה כאשר יש לנו דאטה שדומה בתוכן אבל שונה בכמות או בגודל‬
‫שלו‪ ,‬למשל שני מסמכים שמכילים מילים דומות רק שאחד מכיל פי ‪ 4‬מילים מהשני)חישוב‬
‫מרחק בשיטות הקודמות יראה כנראה שהמסמכים שונים(ובחישוב זווית נראה שהם למעשה‬
‫דומים‪.‬ד‬

‫אלגוריתמים עם מספר אשכולות)‪ (Clusters‬ידוע מראש‬

‫‪ – (Hard Clustering)Kmeans‬סיווג בצורה מוחלטת כל תצפית לקלסטר אחד ויחיד‪ .‬עובד טוב על‬ ‫‪‬‬
‫קלסטרים בצורת עיגול‪ ,‬אחרת‪ ,‬פחות יעיל‪.‬‬

‫שלבי האלגוריתם‪:‬‬
‫מחליטים על ‪ K‬אשכולות שרוצים ליצור)היפר פרמטר(‪.‬‬
‫‪ .1‬הגרלת ‪ K‬נקודות רנדומליות‪ ,‬וסיווגן כ מרכזי האשכולות )‪.(centroieds‬‬
‫‪ .2‬לכל שאר הנקודות מחשבים מרחק מכל מרכז אשכול‪.‬‬
‫‪ .3‬עבור כל נקודה מרכז האשכול שהיא הכי קרובה אליו יסווג שאשכול שהיא שייכת אליו‪.‬‬
‫‪ .4‬חישוב מרכזי אשכולות חדשים)הנקודה הממוצעת בכל אשכול(‪.‬‬
‫‪ .5‬חזרה על שלבים ‪ 2-4‬שוב עד שהנקודות מפסיקות לעבור בין האשכולות השונים או שהשינוי במרכזי‬
‫האשכולות מאוד קטן או שהגענו למספר איטרציות מקסימלי שהגדרנו)היפר פרמטר(‪.‬‬
‫איך להגריל נקודות חכם?‬
‫לא נרצה להגריל נקודות שקרובות אחת לשנייה)כי הן כנראה שייכות לאותו אשכול(‪ ,‬נבחר נקודה ראשונה‬
‫אקראית ואת השנייה נבחר כך שהיא תהיה רחוקה במרחק מסויים מהנקודה הראשונה‪ ,‬ואת השלישית‬
‫שתהיה רחוקה מהשתיים הראשונות וכן הלאה‪ .‬בנוסף ניתן לבצע את האלגוריתם מספר פעמים ובסוף לבחור‬
‫את האיטרציה שלו שנתנה את הסיווג לאשכולות הכי טוב‪.‬‬
‫פונקציית ‪ Loss‬לחישוב איכות הקלסטרינג )על מנת לשפר את בחירת ‪:(k‬‬
‫תצפית – ‪Xi‬‬

‫מרכז – )‪C(Xi‬‬ ‫עבור כל אשכול ‪ C‬נחשב את סכום הריבועים של ההפרשים בין הנקודות‬
‫האשקול אליו שייכת‬
‫ששייכות אליו לבין מרכז האשכול‪ ,‬נרצה למזער את ה ‪ Score‬הזה‪.‬‬
‫התצפית‬

‫ככל ש ‪) K‬היפר פרמטר למספר אשכולות( גדול ‪ Score‬יורד‪ ,‬כיוון שיש יותר מרכזי אשכולות שכל נקודה יכולה‬
‫להיות שייכת לאחת מהן‪ .‬תצפית תמיד תהיה שייכת לקלסטר שהכי קרוב אליה‪.‬‬
‫כאשר ‪) N = K‬מספר הנקודות( אזי ה‪ Score-‬שווה ל‪ 0‬אך זה לא באמת טוב כי לא סביר שבמציאות כל‬
‫נקודה היא ‪ Cluster‬נפרד‪.‬‬

‫למה כדאי שמרכז כל אשכול יהיה הממוצע? כי הוא הכי ממזער את פונקציית ה ‪Loss‬‬
‫הוכחה )גזירת הפונקציה והשוואה ל‪:(0‬‬
‫אילו החזקה הייתה ‪)0‬מרחק עם ‪ (0 = P‬בפונקציית ‪ Loss‬אז הממזער הכי טוב לפונקצייה‬
‫היה השכיח)בכל פיצ'ר( ובחזקה ששווה ל ‪) 1‬מרחק מנהטן( הממזער הכי טוב היה החציון‪.‬‬

‫בחירת ‪ K‬אופטימלי – שיטת המרפק‪:‬‬


‫ננסה וריאציות שונות של ‪ k‬ונחשב את פונקציית ‪ Loss‬עבור כל אשכול‪,‬‬
‫נבחר את ה‪ K‬שעבורו ה ‪ Score‬מתחיל לרדת ממש מעט )שיטת המפרק(‪.‬‬
‫במקרה הזה נבחר ‪ K‬שווה ‪.3‬‬
‫הערה‪ :‬האלגוריתם האופטימלי זה לנסות את כל הוריאציות של שיוך‬
‫הנקודות ל‪ K‬אשכולות שונים אבל זה לא ריאלי כי מספר האפשרויות הוא‬
‫‪ Kmeans ,K^N‬מביא לנו קירוב טוב‪.‬‬
‫הבעיה באלגוריתם‪ :‬ההנחה היא שהדאטה‬
‫מתחלק לאשכולות בצורה עגולה ואין לנו נקודות‬
‫הדאטה‪.‬‬ ‫מוזרות‪ ,‬רגיש לסקאלינג )יחידות מידה( של‬

‫הערה‪:‬‬
‫ביניהן יצא באמת קטן‪.‬‬ ‫נרצה שלנקודות שדומות אחת לשנייה ‪ ,‬המרחק‬
‫ניתן לתת משקלים שונים לפיצ'רים שונים )בהתאם לחשיבות בדמיון בין נקודות בחישוב המרחקים(‪Wi .‬‬
‫זה המשקל שנתנו לפיצ'ר ‪ i‬מסוים‪ ,‬ככל שהוא יותר גדול הפיצ'ר יותר חשוב‪.‬‬

‫‪(Soft Clustering) (Gaussian Mixture Model) GMM‬‬ ‫‪‬‬

‫מתאים לאשכולות שהם לא עגולים‪ ,‬בנוסף מחשב את הצורה של‬ ‫‪o‬‬


‫כל אשכול‪.‬‬
‫לכל נקודה מחשב הסתברות להיות שייך לאשכול מסוים‪.‬‬ ‫‪o‬‬
‫פחות רגיש לסקאלינג של הדאטה‪.‬‬ ‫‪o‬‬
‫מניח התפלגות נורמלית של האשכולות‪.‬‬ ‫‪o‬‬
‫עבור כל אשכול נלמד את צורת ההתפלגות הנורמלית שלו‪.‬‬
‫שונה מ ‪ Kmeans‬בכך שחוץ מממוצע לכל אשכול נחשב גם את השונות שלו‬
‫)מאפשר לייצר את צורת ההתפלגות(‪.‬‬

‫פרמטרים )מחושבים תוך כדי הבניה ומתעדכנים באחריות האלגוריתם( של האלגוריתם לכל אשכול‪= 𝜇 :‬‬
‫מרכז האשכול )ממוצע(‪ = 𝛴 ,‬השונות המשותפת של האשכול )מטריצת שונויות הפיצרים( זה השונות בריבוע‪,‬‬
‫𝜋 = אחוז התצפיות באשכול מתוך כל התצפיות‪.‬‬
‫האלגוריתם הוא וריאציה של אלגוריתם ‪ Expectation‬ו ‪) Maximization‬אלגוריתם סטטיסטי למציאת ערכים מתאימים‬
‫לפרמטרים(‪.‬‬

‫שלבי האלגוריתם‪:‬‬
‫‪ .1‬תחילה ניצור אשכולות ראשוניים‪ ,‬לרב ע״י ‪ . Kmeans‬לאחר מכן משערכים לכל אשכול ערכים לפרמטרים‪:‬‬
‫𝜋 ‪. 𝜇, 𝜎 ,‬‬
‫‪ – Expectation .2‬חישוב לכל תצפית את ההסתברות שלה להיות שייכת לכל אשכול‪:‬‬

‫=‬ ‫חישוב ההסתברויות לכל נקודה להיות שייכת לכל אשכול‪.‬‬


‫‪ Maximization .3‬עדכון 𝜋 ‪ 𝜇, 𝜎 ,‬עבור כל אשכול )בהתאם להתסברויות מסעיף ‪:( 2‬‬
‫∑‬ ‫⋅) (‬ ‫∑‬ ‫) (‬
‫= 𝜇 )סכום ערכי‬ ‫∑‬ ‫) (‬
‫= 𝜋 )מספר התצפיות באשכול חלקי מספר כל הצפיות(‬
‫הנקודות כפול ההסתברויות שלהן להיות שייכות לאשכול‪ ,‬חלקי מספר הנקודות באשכול(‬
‫∑‬ ‫() (‬ ‫)‬
‫= 𝜎 )סכום ריבועי ההפרשים של הנקודות ומרכז האשכול כפול ההסתברות של‬ ‫∑‬ ‫) (‬
‫הנקודה‪ ,‬חלקי מספר התצפיות באשכול פחות ‪.(1‬‬
‫הערה‪ :‬עדכון השונות והתוחלת מתבסס על הסתברות הנקודות להיות שייכות לאשכול‪ ,‬כלומר ככל‬
‫שלתצפית הסתברות גבוהה יותר להיות שייכת לאשכול כך היא תשפיע יותר על הערכים של השונות‬
‫והתוחלת של האשכול‪).‬כלומר בכך בא לידי ביטוי ההתחשבות בצורות לא עיגולית של אשכולות‬
‫והקטנת ההשפעה של תצפיות חריגות על ביצועים(‪ .‬למעשה נקודות שסווגו לא נכון‪ ,‬יקבלו הסתברות‬
‫גבוהה יותר להיות שייכים לקלסטרים האמיתיים שלהן ובכך באיטרציה הבאה‪ ,‬הסיווג שלהן ישתנה‪ .‬כך‬
‫מתאפשר מעבר נקודות בין אשכולות‪.‬‬
‫‪ .4‬חזרה על שלבים ‪ 2‬ו‪ 3‬עד שהנקודות לא זזות יותר בין האשכולות או שהגענו למצב שהשינוי בפרמטרים‬
‫קטן מערך מסוים )היפר פרמטר( או שהגענו למספר איטרציות מקסימלי שהגדרנו)היפר פרמטר(‪.‬‬
‫סוגי מטריצות שונות משותפת שמחשבים )היפר פרמטר של האלגוריתם(‪:‬‬
‫‪ :Full‬לכל אשכול מטריצת שונות משותפת )‪ (covariance‬משלו‪.‬‬
‫‪ :Tied‬לכל האשכולות מטריצה אחת‪.‬‬
‫‪ :Diag‬לכל אשכול מטריצה אלכסונית אחת השונות המשותפת של כל פיצר עם עצמו‪.‬‬
‫‪ :Spherical‬לכל אשכול יש שונות אחת)הנחה שהאשכולות הם ספירלים(‪.‬‬

‫‪ – (Soft Clustering and Expectation Maximization )Kmeans‬אין סיווג דטרמיניסטי של נקודה‬ ‫‪‬‬
‫לאשכול אלא וקטור של הסתברויות להיות שייכת לכל אשכול‪.‬‬

‫לכל נקודה מחשבים הסתברות להיות שייכת לכל אחד מהאשכולות השונים‪ ,‬לשם כך נותנים לכל אשכול שונות‬
‫זהה‪.‬‬

‫נשייך כל תצפית לאשכול עם ההסתברות הגדולה ביותר‪,‬‬ ‫חישוב ההסתברות‪:‬‬


‫כלומר האשכול שהכי קרוב לתצפית‪ ,‬בגרסת ה‪ soft‬לכל נקודה פשוט ניתן וקטור הסתברויות להיות שייכת לכל‬
‫אשכול‪.‬‬

‫על מנת לחשב הסתברות של נקודה להיות שייכת לקלסטר עלינו לדעת את ההתפלגות של הקלסטר כלומר לדעת את‬
‫‪) m‬תוחלת( ואת ‪) v‬שונות(‪ .‬לכן ניתן שונות קבועה לכלל הקלסטרים ‪ ,v‬ואת התחולת נחשב באותו אופן שחושבה ב‪-‬‬
‫‪ kmeans‬הרגיל‪ .‬לבסוף‪ ,‬נחשב לכל תצפית את ההסתברות להיות שייכת לקלסטר מסויים ונשמור את המידע הזה‬
‫בוקטור )עבור כל תצפית(‪ .‬נחזיר את כל התצפיות עם הוקטורים שלהן‪.‬‬
‫אלגוריתמים עם מספר אשכולות)‪ (Clusters‬לא ידוע מראש‬
‫לא נותנים לאלגוריתם ‪ k‬ומבקשים שיסווג ל‪ k-‬קלסטרים אלא מבקשים ממנו לסווג ״כפי שחושב לנכון״‬

‫‪ – (Hard Clustering)Agglomerative Clustering‬אלגוריתם איטי‬ ‫‪‬‬

‫‪ o‬מתבסס על השוואת דמיון בין כל זוג תצפיות‪.‬‬


‫‪ o‬מספר האשכולות לא מוגדר מראש לרוב‪.‬‬
‫‪ o‬מתחיל מכך שכל תצפית היא אשכול נפרד‪ ,‬ואז מאחדים אותם כל פעם תצפית אחת לאשכול מסוים‪.‬‬
‫השלבים‪:‬‬
‫הגדרת כל תצפית כאשכול‪.‬‬ ‫‪.1‬‬
‫יצירת מטריצת דמיון שמבטאת את הדמיון של כל זוג אשכולות )תצפיות בהתחלה( )לפי חישוב מרחקים‪,‬‬ ‫‪.2‬‬
‫לרוב מרחק אוקלידי(‪.‬‬
‫חיבור אשכולות )בהתחלה תצפית( לאשכול שהכי דומים‪.‬‬ ‫‪.3‬‬
‫חזרה על שלבים ‪ 2-3‬עד שכל התצפיות באשכול אחד)ואז מפצלים אותם( או‬ ‫‪.4‬‬
‫שהגענו למספר אשכולות רצוי‪.‬‬
‫שיטות להשוואת דמיון)‪:(Linkage methods‬‬
‫‪ :Complete Linkage o‬חישוב המרחק בין שתי התצפיות הכי רחוקות מכל‬
‫אשכול‪.‬‬
‫‪ :Single Linkage o‬חישוב מרחק בין שתי התצפיות הכי קרובות מכל‬
‫אשכול‪.‬‬
‫‪ :Average Linkage o‬חישוב מרחק בין ממוצעי כל אשכול‪.‬‬
‫השיטה הנבחרת משפיעה על תוצאות האלגוריתם‪.‬‬
‫פיצול הנקודות לאשכולות סופיים אחרי שעשינו קיבוץ לאשכול אחד)נפצל‪/‬נחתוך לפי הפרש המרחקים הכי‬
‫גדול שיש לנו בגרף הקיבוצים(‪:‬‬

‫‪ :Complete‬פה לדוגמה קודם קיבצנו את ‪ 1‬ו‪) 2‬מרחק ‪ ,(0.3‬אחרי זה‬


‫את ‪ 3‬ו ‪) 4‬מרחק ‪ (0.45‬ולבסוף את )‪ (1,2‬ו)‪) (3,4‬מרחק ‪,(0.8‬‬
‫אז הפרשי המרחקים של הקיבוצים הם‪ (0.45-0.3)0.15 ,0.3 :‬ו ‪0.35‬‬
‫)‪ ( 0.8-0.45‬לכן החיתוך יהיה לפי האיחוד האחרון‪ ,‬כלומר נשאר עם ‪2‬‬
‫אשכולות )‪ (1,2‬ו )‪.(3,4‬‬
‫‪ :Single‬פה לדוגמה קודם קיבצנו את ‪ 1‬ו‪) 2‬מרחק ‪ ,(0.3‬אחרי זה את‬
‫)‪ (1,2‬ו ‪) 3‬מרחק ‪ (0.4‬ולבסוף את )‪ (1,2,3‬ו‪) 4‬מרחק ‪,(0.45‬‬
‫אז הפרשי המרחקים של הקיבוצים הם‪ (0.4-0.3) 0.1 ,0.3 :‬ו ‪0.05‬‬
‫)‪ ( 0.45-0.4‬לכן החיתוך יהיה לפי האיחוד הראשון‪ ,‬כלומר נשאר עם ‪4‬‬
‫אשכולות ‪ 1,2,3‬ו‪. 4‬‬

‫‪ – (Hard Clustering)Divisive Clustering‬עובד הפוך מ ‪ - Agglomerative Clustering‬אלגוריתם‬ ‫‪‬‬


‫איטי‬
‫בשונה מהקודם מתחילים שכל התצפיות הן באשכול אחד ואז מפצלים‪.‬‬
‫השלבים‪:‬‬
‫‪ .1‬הגדרת כל התצפיות באשכול אחד‪.‬‬
‫‪ .2‬בניית מטריצת דמיון בין כל זוג תצפיות‪ .‬כאשר דמיון בין ‪ 2‬נקודות ‪ I ,j‬מוגדר כך‪:‬‬

‫‪ .3‬פיצול התצפיות לשני אשכולות כך שנמקסם את הביטוי הבא‪:‬‬


‫כאשר המונה זה סכום הדמיונות בין כל שתי תצפיות‪ c ,‬זה גודל האשכול ואלפא זה היפר פרמטר בין‬
‫‪ 0‬ל‪.2‬‬
‫‪ .4‬חזרה על שלבים ‪ 2‬ו‪ 3‬עד שכל התצפיות באשכולות נפרדים‪ ,‬או שהגענו למספר האשכולות הרצוי‪.‬‬
‫דוגמה עם ‪ 3‬תצפיות ואלפא שווה ל‪.0.5‬‬

‫אפשר לראות שהפיצול הראשון שממקסם את הביטוי זה ‪ 1‬ו‪ 3‬באשכול אחד ו‪ 2‬באשכול שני)שזה הגיוני כי לפי‬
‫מטריצת הדמיון הדמיון בין ‪ 1‬ל‪ 3‬הכי גבוה‪ ,‬האלכסון תמיד ‪ 1‬כי כל תצפית דומה לעצמה(‪ .‬אם נרצה להמשיך‬
‫הפיצול הבא יהיה בין ‪ 1‬ל‪.3‬‬
‫בעיה‪ :‬זמן ריצה מעריכי‪.‬‬

‫‪Mean Shift‬‬ ‫‪‬‬

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

‫שלבים‪:‬‬
‫‪.1‬הגדרת כל תצפית כאשכול נפרד והגדרת רדיוס מסוים ‪ bandwitch) h‬היפר פרמטר( לכל תצפית‪.‬‬
‫‪.2‬קיבוץ תצפיות שנכנסות אחת לרדיוס של השנייה לאשכול אחד‪) .‬הכוונה אחד לספירה של השני בהתאם‬
‫לרדיוסים שהגדרנו(‬
‫‪ .3‬חישוב מרכזי האשכולות החדשים‪.‬‬
‫‪.4‬חזרה על שלבים ‪ 2-3‬עד שאין שינוי באשכולות או שהגענו מספר איטרציות מקסימלי שהגדרנו‪.‬‬
‫סיווג נקודות לאשכולות בפועל‪ :‬לחשב מרחקים בין הנקודות לכל מרכז אשכול זה יקר חישובית‪ ,‬לכן מה נעשה בפועל‬
‫זה ‪ gradient decent‬ולאן שהנגזרת תביא אותנו)היא תתאפס כשתגיע לשכיח)מרכז אשכול((‪ ,‬זה יהיה האשכול אליו‬
‫נסווג את הנקודה‪.‬‬

‫דוגמה להרצת האלגוריתם)הייתה‬


‫שאלה כזו במבחן(‬

‫השפעה של ‪ h‬שונים‪:‬‬
‫נרצה מהמנע מאחד משני המצבים הבאים‪:‬‬
‫‪ :Under segmentation‬כמה תצפיות מאשכולות שונים בפועל‪ ,‬סווגו לא נכון לאשכול אחד‪ h) .‬גדול מידי(‬
‫‪ :Over segmentation‬תצפיות מאשכול אחד בפועל‪ ,‬סווגו לא נכון לאשכולות שונים‪ h) .‬קטן מידי(‬
‫בעקרון ככל שה ‪ h‬יותר קטן נקבל יותר אשכולות‪ ,‬אבל זה לא מחייב‪) .‬אם לא נקטין מספיק את ‪ h‬אז אין שינוי(‬

‫‪(Kernel Density Estimator) KDE‬‬ ‫‪‬‬


‫גם אלגוריתם מבוסס צפיפות‪ ,‬ניתן לממש עם פונקציות ‪ Kernel‬שונות‪.‬‬
‫שימושים‪:‬‬
‫‪ o‬ויזואליזציה של התפלגות דאטה )מאין המקבילה הרציפה של היסטוגרמות(‪.‬‬
‫‪ o‬קיבוץ לאשכולות )‪.(Clustering‬‬

‫בשונה מ‪ GMM‬שאומד פרמטרים כמו שונות ותוחלת כדי לייצר את ההתפלגות של האשכולות‪ ,‬האלגוריתם‬
‫‪ KDE‬לא אומד ערכים של פרמטרים אלא מודד את הצפיפות של ההתפלגות על סמך מדגם הנתונים‪.‬‬

‫השיטה‪:‬‬
‫‪.1‬פונקציית הצפיפות של נקודה ‪:X‬‬
‫עבור נקודה ‪ X‬נחשב את ההסתברות שלה להיות בטווח ‪h -+‬‬
‫כשהוא שואף ל‪ h) .0‬לא היפר פרמטר אלא רק שואף ל ‪(0‬‬

‫‪.2‬חישוב הפרופורציה של התצפיות שנכנסות לטווח ‪-+‬‬


‫‪) h‬היפר פרמטר( של תצפית ‪ X‬כלשהי‪:‬‬
‫האינדיקטור מחזיר לי ‪ 1‬אם ‪ xi‬שייכת לטווח ו ‪ 0‬אם לא‪.‬‬

‫‪.3‬הגדרת פונקציית ‪ kernal‬משקל‪:‬‬


‫עבור כל ‪ X‬אם ערכו המוחלט קטן מ‪ 1‬המשקל שווה ‪ 0.5‬אחרת ‪.0‬‬
‫להיכתב כך‪ :‬כלומר אם ‪Xi‬‬ ‫למה? הפונקציה בסעיף ‪ 2‬יכולה‬
‫הביטוי בתוך ‪ W‬קטן מ‬ ‫בטווח שהגדרתי ל ‪ X+-h‬אז‬
‫ופונקציית המשקל תחזיר‬ ‫‪)1‬כי ‪ X – xi‬יהיה קטן מ‪(h‬‬
‫‪ 0.5‬אחרת ‪ ,0‬ואז הביטוי בסעיף ‪ 3‬שקול לזה שב‪.2‬‬

‫‪ . 4‬הפונקציה בסעיף הקודם לא רציפה לכן ניתן להפעיל‬


‫פונקציות ‪ Kernel‬אחרות בצורה הבאה‪:‬‬
‫מחזיר פונק )גאוסיינית בדוגמה בגרף( עבור כל תצפית‬

‫מה האלגוריתם עושה בפועל‪:‬‬


‫מגדיר פונקציית ‪ Kernel‬לכל תצפית ועבור כל נקודה מחשב ‪ bump‬שזה סכום‬
‫הצפיפויות של כל תצפית באותה נקודה‪ .‬נוכל להגיד שמספר השכיחים ב‪bumps‬‬
‫הוא מספר האשכולות‪ ,‬במקרה הזה ‪ .2‬כל גרף כזה הוא עבור פיצר מסויים‪ .‬ניתן‬
‫להגדיר גם עבור פיצרים‪ ,‬אך ויזואלית ניתן לייצג עד ‪ 2‬פיצרים‪.‬‬
‫סיווג נקודות לאשכולות בפועל‪ :‬לחשב מרחקים בין הנקודות לכל מרכז אשכול זה‬
‫יקר חישובית‪ ,‬לכן מה נעשה בפועל זה ‪ gradient decent‬ולאן שהנגזרת תביא‬
‫אותנו)היא תתאפס כשתגיע לשכיח)מרכז אשכול((‪ ,‬זה יהיה האשכול אליו נסווג את‬
‫הנקודה‪.‬‬

‫השפעה של ‪ h‬שונים‪:‬‬
‫‪ H‬גדול מידי יתבטא ב ‪ Overs smoothing‬כלומר נקבל פחות אשכולות ממה שקיימים‪ ,‬מחליקים יותר מידי את‬
‫הפונקציה‪.‬‬
‫‪ H‬קטן מידי יתבטא ב ‪ under smoothing‬כלומר נקבל יותר אשכולות ממה שקיימים‪.‬‬
‫במקרה שהממד יותר גבוה הפונקציה דומה פשוט לכל ממד יש ‪ h‬משלו‪.‬‬

‫‪ : Image Segmentation‬בידוד קבוצות פיקסלים) למשל לזהות מתוך תמונה כמה חזירי בר יש שם(‪ ,‬איך להעריך‬
‫ביצועי מודל? לתת לאדם לסווג בעצמו ואז לבדוק את ה‪ IOU‬שזה החיתוך)החזירים שהאלגוריתם(‪ /‬כל החזירים שיש‬
‫באמת בתמונה‪.‬‬

You might also like