נורמליזציה

מטרת הנירמול היא להפוך תכונות לממדים דומים. זה משפר את הביצועים ואת יציבות האימון של המודל.

טכניקות נירמול, בקצרה

ארבע טכניקות נורמליזציה נפוצות יכולות לעזור:

  • התאמה לטווח
  • חיתוך
  • שינוי גודל היומן
  • ניקוד

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

חמישה תרשימים: 1. התפלגות גולמית. 2. ההתפלגות הגולמית מותאמת להיקף בצורתו הגולמית. 3. ההתפלגות הגולמית
של החיתוך מבטלת את הערכים הגבוהים ביותר. 4. ההתפלגות הגולמית בקנה מידה של לוגריתם, שמחלקת את הנתונים באמצע ההתפלגות. 5. ציון ה-z של ההתפלגות, בעל צורה הדומה להתפלגות הגולמית.

איור 1. סיכום של טכניקות הנורמליזציה.

הרחבה לטווח

זכירות מ-MLCC שינוי המשמעות היא המרה של ערכי תכונות צפים מטווח הטבעי שלהם (לדוגמה, 100 עד 100 – 100 עד 9) אפשר להשתמש בנוסחה הפשוטה הבאה כדי להתאים את הטווח לטווח:

\[ x' = (x - x_{min}) / (x_{max} - x_{min}) \]

התאמה להיקף היא אפשרות טובה כאשר שני התנאים הבאים מתקיימים:

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

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

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

חיתוך תכונות

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

ניתן להחיל חיתוך תכונות לפני או אחרי נורמליזציה אחרים.

נוסחה: הגדרה של ערכי מינימום/מקסימום כדי למנוע חריגות.

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

איור 2. השוואת ההתפלגות הגולמית וגרסת החיתוך שלה.

עוד אסטרטגיית חיתוך פשוטה היא לחתוך לפי z-core ל-+-N-------- (לדוגמה, להגביל ל-+3-). לתשומת ליבכם: -------- היא סטיית התקן.

התאמת יומנים

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

\[ x' = log(x) \]

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

שני תרשימים המשווים נתונים גולמיים לעומת היומן של נתונים גולמיים. בתרשים הנתונים הגולמיים ניתן לראות הרבה דירוגים בראש ואחריה זנב ארוך. תרשים היומן כולל התפלגות שווה יותר.

איור 3. השוואה בין ההתפלגות הגולמית ליומן שלו.

ניקוד Z

Z-score הוא גרסה של קנה מידה שמייצג את מספר סטיות התקן מהממוצע. צריך להשתמש בציון z-score כדי לוודא שהחלוקה של התכונות כוללת = 0 ו-std = 1. כדאי להשתמש באפשרות הזו אם יש כמה יוצאים מן הכלל, אבל לא כל כך קיצוניים שדורשים חיתוך.

הנוסחה לחישוב ציון ה-z של נקודה, x היא:

\[ x' = (x - μ) / σ \]

שני תרשימים המשווים נתונים גולמיים לעומת נתונים מנורמלים עם ציון z. הנתונים הגולמיים מציגים התפלגות של פוסון בין 5,000 ל-45,000.
טווח הנתונים המנורמל נע בין 1- ל-4+.

איור 4. השוואת התפלגות גולמית להתפלגות z-core.

שימו לב שמדד ה-z לוחץ על ערכים גולמיים בטווח של כ-40,000 מעלות, בטווח של כ-1- עד 4+.

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

סיכום

טכניקת נירמולנוסחהמתי להשתמש
התאמה לינארית $$ x' = (x - x_{min}) / (x_{max} - x_{min}) $$ כאשר התכונה מופצת באופן שווה יותר או פחות בטווח קבוע.
תספורות אם x > max, ואז x' = max. אם x < min, ואז x' = דק' כאשר התכונה מכילה כמה יוצאים מן הכלל.
התאמת יומנים x' = log(x) כאשר התכונה תואמת לחוק הכוח.
ניקוד Z x' = (x - μ) / DoCoMo כאשר הפצת התכונות לא מכילה נקודות קיצון.