מערכי נתונים: תוויות

הקטע הזה מתמקד בתוויות.

תוויות ישירות לעומת תוויות לשרת proxy

כדאי להביא בחשבון שני סוגים שונים של תוויות:

  • תוויות ישירות, שהן תוויות שזהות לחיזוי המודל שלך מנסה ליצור. כלומר, החיזוי שהמודל שלך מנסה ליצור מוצג בדיוק כעמודה במערך הנתונים. לדוגמה, עמודה בשם bicycle owner תהיה תווית ישירה של מודל סיווג בינארי שצופה אם אדם מסוים הוא הבעלים של האופניים.
  • תוויות שרת proxy, שהן תוויות דומות - אבל לא זהה לחיזוי שהמודל שלך מנסה לבצע. לדוגמה, אדם שנרשם לכתב עת 'ביזארי' סביר להניח שהוא הבעלים של אופניים, אבל לא בהחלט.

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

תוויות Proxy הן תמיד פגיעה - הערכה שגויה תווית ישירה. עם זאת, חלק מהתוויות של שרת proxy דומות מספיק להיות שימושי. מודלים שמשתמשים בתוויות של שרת proxy שימושיים רק כמו חיבור בין התווית של שרת ה-proxy לחיזוי.

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

תרגיל: בדקו את ההבנה שלכם

החברה שלכם מעוניינת לבצע את הפעולות הבאות:

קופונים בדואר ("סחר באופניים הישנים שלך עבור 15% הנחה על אופניים חדשים") לבעלי האופניים.

לכן, המודל צריך לבצע את הפעולות הבאות:

לחזות אילו אנשים בעלי אופניים.

לצערנו, מערך הנתונים לא מכיל עמודה בשם bike owner. עם זאת, מערך הנתונים מכיל עמודה בשם recently bought a bicycle.

recently bought a bicycle יכול להיות תווית טובה של שרת proxy או תווית של שרת proxy לא טוב למודל הזה?
תווית של שרת proxy טוב
העמודה recently bought a bicycle היא תווית של שרת proxy טובה יחסית. אחרי הכול, רוב האנשים שקונים אופניים עכשיו הם הבעלים של אופניים. למרות זאת, כמו כל תוויות לשרת proxy, גם תוויות טובות מאוד, recently bought a bicycle לא מושלמות. אחרי הכול, האדם שקונה פריט מסוים הוא לא תמיד האדם שמשתמש בפריט הזה (או שהוא הבעלים שלו). לדוגמה, לפעמים אנשים קונים אופניים במתנה.
תווית של שרת proxy לא טוב
כמו כל התוויות של שרת ה-proxy, recently bought a bicycle אינו מושלם (חלק מהאופניים נרכשים כמתנות וניתן להם אחרים). אבל, recently bought a bicycle הוא עדיין מדד טוב יחסית לכך שמישהו אופניים.

נתונים שנוצרו על ידי בני אדם

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

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

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

היתרונות

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

החסרונות

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

נסו לחשוב על השאלות הבאות:

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

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