דלג לתוכן

זיהוי חריגות (Anomaly Detection)

AI יישומי

הגדרה

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

💡 דוגמה

חיוב של 40 שקל בקפה בתל אביב עובר בשקט.

חיוב באותה דקה בחנות אלקטרוניקה בחו"ל מקפיץ הודעה מחברת האשראי: "זה אתם?"

מה נחשב חריג, ולמה זה לא תמיד טעות

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

שלושה סוגים של חריגה

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

ללמוד מה רגיל, בלי דוגמאות של מה שחריג

הדרך הישירה הייתה לאסוף אלפי דוגמאות של "תקין" ו"חריג" ולאמן עליהן מסווג רגיל, אבל בפועל כמעט לא עושים זאת: תוויות כאלה נדירות, והחריגים מעטים מדי לעומת התקינים. לכן רוב המערכות לומדות בלי תוויות — הן בונות תמונה של מה שנראה רגיל, ומסמנות את מה שלא מתאים לה. ספריית הקוד הפתוח scikit-learn מבחינה בין שני מצבים: זיהוי חריגים (outlier detection), שבו נתוני האימון עצמם כבר מכילים חריגים שצריך למצוא, וזיהוי חידוש (novelty detection), שבו מאמנים על נתונים נקיים ושואלים אם תצפית חדשה שייכת אליהם.

איך המחשב חושד: מסטטיסטיקה ועד יער בידוד

השיטות הפשוטות ביותר הן סטטיסטיות: מודדים כמה רחוק ערך מהממוצע — למשל בציון תקן — ומה שרחוק מדי מסומן. שיטות מבוססות-צפיפות שואלות אם הנקודה נמצאת בשכונה דלילה יותר משכנותיה — Local Outlier Factor, למשל, משווה את הצפיפות סביב נקודה לצפיפות סביב השכנים הקרובים שלה. יער בידוד (Isolation Forest), שהוצע ב-2008 בידי פיי טוני ליו, קאי מינג טינג וג'י-הואה ג'ואו, הופך את השאלה: חריגים הם מעטים ושונים, ולכן קל יותר לבודד אותם. האלגוריתם מחלק את הנתונים שוב ושוב בחיתוכים אקראיים, ונקודה שמתבודדת אחרי מעט חיתוכים היא כנראה חריגה. השיטה לא צריכה לחשב מרחקים או צפיפויות, ולכן היא מהירה וחסכונית בזיכרון. ברשתות נוירונים משתמשים, בין היתר, במקודד אוטומטי (autoencoder): רשת שלומדת לשחזר נתונים רגילים, ומתקשה לשחזר את מה שלא דומה להם — והקושי הזה הוא הסימן.

אזעקות שווא: הבעיה הקשה באמת

החולשה המרכזית של התחום אינה החמצה אלא עודף התרעות. כשהאירוע שמחפשים נדיר מאוד, גם שיעור טעות קטן מייצר הר של אזעקות שווא. דוגמה מספרית מוכרת לכשל הזה, שנקרא כשל שיעור הבסיס (base rate fallacy): באוכלוסייה של מיליון איש יש 100 מחבלים, ומערכת מזהה 99 מהם — אבל מתריעה בטעות גם על אחוז אחד מהאחרים. התוצאה היא כ-10,098 התרעות, ומתוכן רק כ-99 אמיתיות. אותו חשבון חל על התרעות הונאה בבנק או על התרעות אבטחה בארגון: מערכת שמתריעה בלי הרף מלמדת את האנשים שמולה להתעלם ממנה. לכן חלק גדול מהעבודה המעשית הוא כוונון הסף, תעדוף ההתרעות והסבר למה דבר מסוים סומן. יש גם מגבלות מובנות בשיטות עצמן: ביער בידוד, למשל, נקודות תקינות שקרובות לחריגים מבלבלות את הזיהוי, וקבוצה צפופה של חריגים יכולה להסתיר את עצמה.

מאבטחת מחשבים ועד שירות מדף

הרעיון להשתמש בזיהוי חריגות כדי לגלות חדירות למחשבים הוצע ב-1986 בידי דורותי דנינג, ומאז התחום התרחב לתחומים רבים: אבטחת סייבר, זיהוי הונאות בכרטיסי אשראי, ניטור בריאות של מערכות, אבחון רפואי וראייה ממוחשבת. בתעשייה הוא משמש לזיהוי תקלות ולניטור תקינות של מערכות — העיקרון שמאחורי תחזוקה מנבאת, שבה מודל לומד את ההתנהגות הרגילה של מכונה ומתריע על סטייה ממנה. בשנים האחרונות היכולת נארזה גם כשירות ענן מוכן. מיקרוסופט הציעה את Anomaly Detector, שירות שמזהה חריגות בסדרות זמן — גם במשתנה אחד וגם בקבוצה של עד 300 אותות קשורים — גם למשתמשים עם ידע מועט בלמידת מכונה. החל מ-20 בספטמבר 2023 כבר אי אפשר היה ליצור בו משאבים חדשים, וב-1 באוקטובר 2026 הוא הוצא משימוש, במועד שקבעה מיקרוסופט מראש. החברה המליצה ללקוחותיו לעבור לפלטפורמת Microsoft Fabric, שמשלבת את גרסת הקוד הפתוח של אותו מנגנון. כלומר, הטכניקה לא נעלמה — היא עברה לתוך פלטפורמות נתונים רחבות יותר.

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

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

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

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

מה ההבדל בין זיהוי חריגות לזיהוי הונאות?

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

האם כל חריגה היא בעיה?

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

למה לא מאמנים פשוט על דוגמאות של חריגות?

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

למה מערכות כאלה מציפות באזעקות שווא?

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

מהו יער בידוד?

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

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

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