מה זה KNN?
KNN או אלגוריתם שכן קרוב הוא אלגוריתם פשוט אך רב עוצמה המשמש הן למשימות סיווג והן
למשימות רגרסיה בלמידת מכונה.
זה נופל תחת הקטגוריה של למידה מבוססת מופעים או זיכרון, כאשר המודל בעצם משנן את מערך האימון
ומבצע תחזיות על סמך עד כמה נקודות נתונים חדשות דומות לאותן דוגמאות אימון.
איך KNN עובד?
חישוב מרחק: האלגוריתם מחשב את המרחק בין הנקודה החדשה (זו שברצונך לסווג או לחזות את ערכה)
לבין כל שאר הנקודות במערך האימון.
השיטה הנפוצה ביותר לחישוב מרחק זה היא המרחק האוקלידי, אם כי ניתן להשתמש במרחקים אחרים כמו מנהטן
או האמינג בהתאם לסוג הנתונים.
מצא את השכנים הקרובים ביותר: KNN מזהה את נקודות ה-‘k’ בנתוני האימון הקרובות ביותר לנקודת השאילתה.
המספר ‘k’ הוא פרמטר שצוין על ידי המשתמש, והבחירה ב-‘k’ יכולה להשפיע באופן משמעותי על ביצועי האלגוריתם.
הצבעת רוב או ממוצע: עבור משימות סיווג, האלגוריתם מקצה את המחלקה לנקודת השאילתה בהתבסס על המחלקה
הנפוצה ביותר בקרב ‘k’ השכנים הקרובים ביותר שלה.
במקרה של רגרסיה, הוא בדרך כלל לוקח את הממוצע (או לפעמים החציון) של הערכים של k השכנים הקרובים ביותר שלו כתחזית.
נקודות מפתח של KNN
ללא אימון מודל: בניגוד לרוב האלגוריתמים, KNN אינו כולל שלב אימון מפורש או לומד פונקציה מפלה מנתוני האימון.
שלב ההדרכה הוא בעצם רק אחסון מערך הנתונים.
למידה עצלה: זה מכונה אלגוריתם למידה עצלה מכיוון שהוא לא מכליל מנתוני האימון עד שהוא מתחיל לבצע תחזיות על נתונים חדשים.
רגישות ל-K ולמדד מרחק: הביצועים של KNN תלויים במידה רבה בבחירת ה-‘k’ ובמדד המרחק המשמש. בחירת הערכים
הנכונים עבור הפרמטרים הללו יכולה להיות קריטית.
קללת המימדיות: ידוע כי KNN סובל מקללת המימדיות (Curse of Dimensionality).
ככל שמספר התכונות (המימדים) גדל, נפח מרחב התכונות גדל באופן אקספוננציאלי, ונקודות הנתונים מתפזרות בדלילות.
הדלילות הזו הופכת את מדדי המרחק לפחות אמינים, ומכאן שהביצועים של KNN יורדים.
KNN נמצא בשימוש נרחב בשל הפשטות והיעילות שלו, במיוחד בתרחישים שבהם גבול ההחלטה הוא מאוד לא סדיר.
עם זאת, זה יכול להיות אינטנסיבי מבחינה חישובית, במיוחד עם מערכי נתונים גדולים, והביצועים שלו יכולים להתדרדר
עם נתונים בעלי מימד גבוה.
שימושים של KNN
האלגוריתם KNN (שכן קרוב) הוא רב-תכליתי וניתן ליישם אותו על פני תחומים ותרחישים שונים בשל הפשטות והיעילות שלו.
להלן מספר שימושים נפוצים של KNN בתחומים שונים:
סיווג
אבחון רפואי: KNN יכול לסווג חולים על סמך דמיון למקרים קודמים עם תוצאות ידועות, כגון אבחון מחלות על סמך
תסמינים ותוצאות בדיקות.
איתור דואר זבל: בסינון דואר אלקטרוני, KNN יכול לעזור לסווג מיילים כדואר זבל או לא כספאם על ידי השוואת הודעות דוא”ל
חדשות עם קורפוס של הודעות דוא”ל מסווגות.
רגרסיה
חיזוי מחירי נדל”ן: KNN יכול לחזות את המחיר של בית בהתבסס על המחירים של בתים דומים מבחינת מיקום, גודל ותכונות אחרות.
חיזוי שוק המניות: הוא יכול לחזות את מחירי המניות על ידי מציאת דפוסים דומים בנתוני שוק המניות ההיסטוריים.
מערכות המלצות
המלצות על סרטים או מוצרים: KNN משמש במערכות המלצות כדי להציע פריטים (סרטים, מוצרים, ספרים) הדומים לפריטים שהמשתמש אהב בעבר.
שירותי הזרמת מוזיקה ווידאו: שירותים כמו Spotify או Netflix משתמשים ב-KNN כדי להמליץ על שירים או סרטים על ידי התאמת
העדפות המשתמש להעדפות של משתמשים דומים.
זיהוי תמונה וראייה ממוחשבת
זיהוי כתב יד: ניתן להשתמש ב-KNN כדי לזהות ספרות או אותיות בכתב יד על ידי השוואתם עם מערך נתונים מתויג של תווים בכתב יד.
זיהוי פנים: על ידי השוואת תווי פנים למסד נתונים של פרצופים, KNN יכול לזהות אנשים בתמונות או בסרטונים.
איתור אנומליות
איתור הונאה: בבנקאות ובפיננסים, KNN יכולה לסייע באיתור עסקאות הונאה על ידי זיהוי דפוסים החורגים באופן משמעותי
מהתנהגות לקוח טיפוסית.
אבטחת רשת: KNN יכול לזהות דפוסים חריגים בתעבורת הרשת שעשויים להצביע על איום אבטחה.
חקלאות
חיזוי יבול: KNN יכול לחזות תפוקות יבול בהתבסס על מאפייני קרקע וגורמים סביבתיים אחרים על ידי השוואתם עם נתונים היסטוריים
שבהם התוצאות ידועות.
ניווט
מערכות מיקום פנימיות: בסביבות בהן ה-GPS אינו אמין, כמו בתוך מבנים, KNN יכול לסייע באיתור חפצים או אנשים על סמך
עוצמת אותות Wi-Fi מנקודות גישה שונות.
שאלות ותשובות בנושא KNN
ש: כיצד KNN מטפל בבעיות רב-מעמדיות?
ת: KNN מטפל באופן טבעי בבעיות מרובות מחלקות ללא צורך בשינויים.
הוא מסווג נקודת שאילתה על סמך מחלקת הרוב בקרב שכנותיה הקרובות ביותר, ללא קשר למספר המחלקות הקיימות במערך הנתונים.
ש: האם KNN רגיש להיקף הנתונים?
ת: כן, KNN רגיש מאוד לקנה המידה של הנתונים מכיוון שמידות המרחק עלולות להיות מוטות על ידי תכונות שנמצאות בקנה מידה גדול יותר.
זה חיוני לנרמל או לתקנן את הנתונים לפני השימוש ב-KNN כדי להבטיח שכל תכונה תורמת באופן שווה לחישובי המרחק.
ש: כיצד משתמשים ב-KNN ביישומים בעולם האמיתי?
ת: KNN משמש במגוון רחב של יישומים, כולל אבחון רפואי, זיהוי דואר זבל, חיזוי שוק המניות, מערכות המלצות, זיהוי תמונות ועוד.
הרבגוניות והפשטות שלו הופכות אותו למתאים למשימות שונות שבהן הקשר בין מרחב התכונה והפלט מורכב או לא ידוע.
ש: מהם היתרונות והחסרונות העיקריים של KNN?
ת: היתרונות כוללים פשטות, קלות יישום והאופי האינטואיטיבי של ביצוע תחזיות המבוססות על “השכנים הקרובים”.
החסרונות הם עוצמת החישוב שלו עם מערכי נתונים גדולים, רגישות לתכונות לא רלוונטיות או מיותרות, והצורך בבחירה
מחושבת היטב של ‘k’ ומדד מרחק.