Label چیست و چه زمانی به آن نیاز داریم؟
هوش مصنوعی و یادگیری ماشین مبانی یادگیری ماشین

Label چیست و چه زمانی به آن نیاز داریم؟ راهنمای کامل در یادگیری ماشین

Label چیست؟

Label چیست و چه زمانی به آن نیاز داریم؟ راهنمای کامل در یادگیری ماشین

Label چیست و چه زمانی به آن نیاز داریم؟

در بسیاری از پروژه‌های یادگیری ماشین، داده‌ها فقط شامل اطلاعاتی درباره‌ی هر نمونه نیستند؛ بلکه برای آموزش مدل باید مشخص باشد که پاسخ مورد انتظار برای هر نمونه چیست. این پاسخ که مدل قرار است آن را یاد بگیرد و برای داده‌های جدید پیش‌بینی کند، معمولاً با نام Label یا «برچسب» شناخته می‌شود.

برای مثال، اگر هدف ساخت مدلی برای تشخیص ایمیل‌های اسپم باشد، متن و سایر اطلاعات ایمیل می‌توانند به‌عنوان Feature در نظر گرفته شوند و مقدار «اسپم» یا «غیراسپم» نقش Label را داشته باشد. در یک مسئله‌ی پیش‌بینی قیمت خانه نیز قیمت واقعی خانه می‌تواند Label باشد.

در این مقاله، مفهوم Label، تفاوت آن با Feature و Target، انواع Label، منابع تولید Label، کیفیت برچسب‌ها، Label Noise، Proxy Label و اشتباهات رایج درباره‌ی آن بررسی می‌شود.


در این مقاله چه چیزهایی یاد می‌گیرید؟

  • Label در یادگیری ماشین چیست و چه تفاوتی با Feature دارد؟

  • رابطه‌ی Label با Target و تفاوت آن با Ground Truth و Annotation

  • انواع Label؛ دودویی، چندکلاسه، چندبرچسبی و Regression

  • Labelها از کجا به دست می‌آیند و Data Labeling چیست؟

  • Label Noise، Proxy Label و تأثیر کیفیت Label بر مدل

  • چگونه Label مناسب برای یک Dataset انتخاب کنیم؟

Label در یادگیری ماشین چیست؟

Label مقداری است که مشخص می‌کند پاسخ مورد انتظار برای یک نمونه چیست و مدل باید بتواند آن را پیش‌بینی کند.

فرض کنید مجموعه‌داده‌ای برای پیش‌بینی قبولی دانشجویان داریم:

ساعت مطالعه معدل تعداد غیبت نتیجه
10 17.5 1 قبول
4 13.2 6 مردود
15 18.7 0 قبول

در این مثال:

  • ساعت مطالعه یک Feature است.
  • معدل یک Feature است.
  • تعداد غیبت یک Feature است.
  • «قبول» یا «مردود» Label است.

مدل با مشاهده‌ی نمونه‌های مختلف تلاش می‌کند رابطه‌ای بین Featureها و Label پیدا کند تا بتواند برای یک دانشجوی جدید، نتیجه‌ی احتمالی را پیش‌بینی کند.

به همین دلیل، در یک مسئله‌ی یادگیری نظارت‌شده، ساختار ساده‌ی داده را می‌توان به شکل زیر در نظر گرفت:

Features → Model → Label Prediction
هنگام آموزش: Features + Label واقعی → Model Training

در منابع آموزشی Google نیز Label به‌عنوان مقدار یا پاسخی تعریف می‌شود که مدل قصد دارد آن را از روی Featureها پیش‌بینی کند.

Feature و Label چه تفاوتی دارند؟

یکی از مهم‌ترین مفاهیم برای درک Label، تشخیص تفاوت آن با Feature است.

Feature اطلاعاتی است که مدل برای رسیدن به پیش‌بینی در اختیار دارد؛ در حالی که Label همان خروجی یا پاسخ مورد انتظار است که مدل باید آن را یاد بگیرد.

برای مثال، در پیش‌بینی قیمت خانه:

متراژ تعداد اتاق سن ساختمان موقعیت قیمت
120 3 5 مرکز شهر 8 میلیارد
90 2 10 شمال شهر 6 میلیارد
150 4 2 مرکز شهر 11 میلیارد

در اینجا:

Featureها:

  • متراژ
  • تعداد اتاق
  • سن ساختمان
  • موقعیت

Label:

  • قیمت خانه

بنابراین می‌توان گفت:

Feature چیزی است که مدل از آن برای پیش‌بینی استفاده می‌کند؛ Label چیزی است که مدل قرار است پیش‌بینی کند.

این تفاوت بسیار مهم است، زیرا انتخاب اشتباه Feature و Label می‌تواند کل مسئله‌ی یادگیری ماشین را تغییر دهد.

Label و Target چه تفاوتی دارند؟

در بسیاری از منابع یادگیری ماشین، دو واژه‌ی Label و Target تقریباً به یک معنا استفاده می‌شوند.

برای مثال، اگر هدف پیش‌بینی قیمت خانه باشد:

  • Label = قیمت خانه
  • Target = قیمت خانه

Google نیز در واژه‌نامه‌ی یادگیری ماشین، Target را به‌عنوان مترادف Label معرفی می‌کند.

با این حال، در کاربردهای عملی ممکن است تفاوت ظریفی در نحوه‌ی استفاده از این دو واژه وجود داشته باشد.

Target بیشتر بر «متغیری که مسئله قصد پیش‌بینی آن را دارد» تأکید می‌کند، در حالی که Label معمولاً به مقدار پاسخ همراه یک نمونه اشاره دارد.

مثلاً اگر هدف مدل پیش‌بینی قیمت باشد:

  • Target variable = Price

و برای یک خانه‌ی مشخص:

  • Label = 8 میلیارد تومان

این تفاوت همیشه در منابع رعایت نمی‌شود و در بسیاری از پروژه‌ها این دو اصطلاح به جای یکدیگر استفاده می‌شوند.

Label چه نقشی در یادگیری نظارت‌شده دارد؟

Label یکی از عناصر اصلی Supervised Learning یا یادگیری نظارت‌شده است.

در یادگیری نظارت‌شده، مدل با نمونه‌هایی آموزش داده می‌شود که پاسخ مورد انتظار آن‌ها مشخص است.

برای مثال:

  • ورودی: مشخصات یک ایمیل ← Label: اسپم
  • ورودی: مشخصات یک خانه ← Label: قیمت خانه
  • ورودی: سوابق مشتری ← Label: احتمال ترک سرویس

مدل با مقایسه‌ی پیش‌بینی خود با Label واقعی، پارامترهای خود را در طول فرآیند آموزش تنظیم می‌کند.

بنابراین، می‌توان فرآیند را به شکل ساده زیر تصور کرد:

Featureها ← مدل ← Prediction
سپس: Prediction ↔ Label واقعی

و اختلاف میان پیش‌بینی و مقدار واقعی، در فرآیند آموزش برای به‌روزرسانی مدل مورد استفاده قرار می‌گیرد.

انواع Label در یادگیری ماشین

Label همیشه یک مقدار متنی مانند «بله» یا «خیر» نیست. نوع Label به مسئله‌ای که قصد حل آن را داریم بستگی دارد.

۱. Label دودویی یا Binary Label

در این حالت Label فقط دو مقدار ممکن دارد.

برای مثال:

  • اسپم / غیر اسپم
  • قبول / مردود
  • بیمار / سالم
  • تقلب / غیرتقلب
  • خرید / عدم خرید

مثلاً:

سن درآمد Label
25 15 خیر
42 35 بله
31 22 خیر

در اینجا مسئله یک Binary Classification است.

۲. Label چندکلاسه یا Multi-Class

گاهی Label بیشتر از دو مقدار ممکن دارد.

مثلاً یک مدل تشخیص نوع خودرو ممکن است سه Label داشته باشد:

  • خودرو
  • موتورسیکلت
  • کامیون

یا در تشخیص نوع گل:

  • Setosa
  • Versicolor
  • Virginica

در این حالت هر نمونه فقط به یکی از کلاس‌های تعریف‌شده تعلق دارد و مدل باید کلاس مناسب را پیش‌بینی کند.

نمایش Label در مسائل طبقه‌بندی یا Categorical
شکل ۱ نمایش Label در مسائل طبقه‌بندی (Classification)؛ در این حالت Label یک مقدار دسته‌ای یا Categorical است که نشان می‌دهد هر نمونه به کدام کلاس تعلق دارد.

۳. Label چندبرچسبی یا Multi-Label

در بعضی مسائل، یک نمونه می‌تواند هم‌زمان چند Label داشته باشد.

برای مثال، یک تصویر ممکن است شامل:

  • خودرو
  • انسان
  • دوچرخه

باشد.

در این حالت برخلاف Multi-Class، نمونه الزاماً فقط یک Label ندارد.

مثلاً:

تصویر Labelها
تصویر ۱ خودرو، انسان
تصویر ۲ خودرو
تصویر ۳ انسان، دوچرخه

این نوع مسئله با Multi-Class Classification یکسان نیست.

در Multi-Class معمولاً هر نمونه یکی از کلاس‌ها را دریافت می‌کند؛ اما در Multi-Label یک نمونه می‌تواند چند برچسب داشته باشد.

Label در مسائل Regression چگونه است؟

Label فقط برای Classification نیست.

در Regression نیز یک Label داریم، اما این Label معمولاً یک مقدار عددی است.

برای مثال، اگر هدف پیش‌بینی مصرف برق یک خانه باشد:

متراژ تعداد ساکنان دمای میانگین مصرف برق
100 3 24 320
140 4 27 450
80 2 22 240

در اینجا:

Featureها:

  • متراژ
  • تعداد ساکنان
  • دمای میانگین

Label:

  • مصرف برق
نمایش Label در مسائل رگرسیونی و عددی
شکل ۲ نمایش Label در مسائل رگرسیون (Regression)؛ در این حالت Label یک مقدار عددی پیوسته است که مدل باید آن را پیش‌بینی کند، مانند قیمت خانه یا مصرف برق.

از آنجا که Label یک مقدار عددی است، مسئله در این مثال Regression است. بنابراین یک تصور اشتباه رایج این است که Label را فقط با «کلاس» یا «دسته» مرتبط بدانیم. Label می‌تواند یک کلاس، یک عدد یا حتی یک ساختار پیچیده‌تر باشد.

آیا Label همیشه یک ستون در Dataset است؟

خیر.

در داده‌های جدولی، Label معمولاً به شکل یک ستون مشخص دیده می‌شود؛ اما در داده‌های تصویری، متنی، صوتی یا ویدئویی ممکن است ساختار متفاوتی داشته باشد.

برای مثال، در یک مسئله‌ی تشخیص اشیا در تصویر، Label ممکن است فقط نام یک کلاس نباشد و شامل اطلاعاتی درباره‌ی موقعیت شیء نیز باشد.

برای یک تصویر ممکن است اطلاعاتی مانند:

  • نوع شیء
  • مختصات Bounding Box
  • ناحیه‌ی مربوط به شیء

به‌عنوان اطلاعات هدف ذخیره شود.

در مسائل Segmentation نیز ممکن است Label به شکل یک Mask ذخیره شود که مشخص می‌کند هر پیکسل متعلق به چه ناحیه‌ای است.

بنابراین Label را نباید صرفاً «یک ستون آخر Dataset» در نظر گرفت.

مفهوم اصلی این است:

Label اطلاعاتی است که مشخص می‌کند مدل در نهایت باید چه چیزی را پیش‌بینی کند.

Label از کجا به دست می‌آید؟

یکی از سؤال‌های مهم در پروژه‌های واقعی این است که:

چه کسی یا چه چیزی Label را تعیین می‌کند؟

Label می‌تواند از منابع مختلفی به دست بیاید.

  • برچسب‌گذاری انسانی: در بسیاری از پروژه‌ها، انسان‌ها داده‌ها را بررسی و برچسب‌گذاری می‌کنند؛ مانند بررسی تصاویر پزشکی، تشخیص احساسات متن، شناسایی اشیاء در تصاویر، تشخیص اسپم بودن ایمیل یا طبقه‌بندی درخواست‌های مشتریان. در این حالت متخصص یا Annotator مشخص می‌کند که هر نمونه چه Labelی داشته باشد.
  • Labelهای موجود در داده‌های واقعی: گاهی لازم نیست داده‌ها را از ابتدا به‌صورت دستی Label کنیم. فرض کنید می‌خواهیم مدلی برای پیش‌بینی بازگشت مشتری بسازیم و سیستم شرکت از قبل ثبت کرده است که هر مشتری بعد از خرید آیا محصول را مرجوع کرده یا خیر. در این حالت، رویداد واقعی ثبت‌شده می‌تواند برای ساخت Label استفاده شود؛ مثلاً Returned = Yes / No.
  • Label تولیدشده از قوانین یا سیستم‌های دیگر: در برخی پروژه‌ها، Label با استفاده از قوانین مشخص، سیستم‌های موجود یا مدل‌های دیگر ایجاد می‌شود. این نوع Labelها باید با دقت بررسی شوند، زیرا هر Label تولیدشده توسط یک فرآیند خودکار لزوماً معادل حقیقت قطعی نیست.

Data Labeling چیست؟

Data Labeling یا برچسب‌گذاری داده، فرآیندی است که طی آن برای داده‌های خام، اطلاعات هدف یا برچسب مناسب تعیین می‌شود.

فرض کنید 100 هزار تصویر دارید، اما هیچ‌کدام مشخص نمی‌کنند که تصویر مربوط به «گربه» است یا «سگ».

برای استفاده از این تصاویر در یک مسئله‌ی یادگیری نظارت‌شده، باید برای نمونه‌های آموزشی مشخص شود که هر تصویر متعلق به چه کلاس یا کلاس‌هایی است.

به این فرآیند Labeling یا Annotation گفته می‌شود.

در پروژه‌های بزرگ، ایجاد Dataset برچسب‌خورده می‌تواند بخش قابل‌توجهی از زمان و هزینه‌ی پروژه را به خود اختصاص دهد. AWS نیز در مستندات خود بر اهمیت وجود Targetهای مشخص در داده‌های آموزشی و فرآیند ایجاد داده‌های برچسب‌خورده تأکید می‌کند.

آیا هر Annotation یک Label است؟

این دو اصطلاح به هم نزدیک‌اند، اما کاملاً یکسان نیستند.

Annotation مفهوم گسترده‌تری دارد و به اطلاعاتی گفته می‌شود که به یک داده اضافه می‌شود تا معنای مشخصی پیدا کند.

برای مثال، در یک تصویر ممکن است Annotation شامل:

  • نام شیء
  • مختصات Bounding Box
  • Mask
  • ویژگی‌های شیء

باشد.

اگر یکی از این اطلاعات به‌عنوان خروجی موردنظر مدل استفاده شود، در آن مسئله می‌تواند نقش Label را پیدا کند.

بنابراین:

Annotation → اطلاعات اضافه‌شده به داده
Label → اطلاعات هدفی که مدل باید یاد بگیرد یا پیش‌بینی کند

Ground Truth چیست؟

اصطلاح دیگری که معمولاً در کنار Label دیده می‌شود، Ground Truth است.

Ground Truth به داده یا پاسخی اشاره می‌کند که به‌عنوان مرجع برای مقایسه و ارزیابی پیش‌بینی مدل در نظر گرفته می‌شود.

مثلاً فرض کنید یک مدل تشخیص بیماری برای یک بیمار می‌گوید:

  • Prediction = بیمار

و نتیجه‌ی ثبت‌شده توسط فرآیند مرجع:

  • Ground Truth = سالم

در اینجا مدل اشتباه کرده است.

اما یک نکته مهم وجود دارد:

Ground Truth الزاماً به معنای حقیقت مطلق نیست.

اگر Label توسط انسان اشتباه تعیین شده باشد یا فرآیند تولید Label دارای خطا باشد، داده‌ی مرجع نیز می‌تواند اشتباه باشد.

بنابراین عبارت «Ground Truth» نباید باعث شود تصور کنیم Label همیشه بدون خطا است.

آیا همیشه به Label نیاز داریم؟

خیر.

این یکی از مهم‌ترین نکات درباره‌ی Label است.

در یادگیری نظارت‌شده، Label نقش اصلی دارد، زیرا مدل باید رابطه‌ی بین Featureها و خروجی مشخص را یاد بگیرد.

اما همه‌ی روش‌های یادگیری ماشین به Labelهای دستی نیاز ندارند.

یادگیری بدون نظارت

در Unsupervised Learning مدل بدون داشتن Label از پیش تعیین‌شده تلاش می‌کند ساختار یا الگوهای موجود در داده را پیدا کند.

برای مثال، در Clustering ممکن است داده‌های مشتریان را داشته باشیم اما از قبل ندانیم هر مشتری متعلق به چه گروهی است.

در اینجا می‌توانیم از ویژگی‌های مشتریان برای پیدا کردن گروه‌های مشابه استفاده کنیم، بدون اینکه یک Label مشخص مانند «مشتری وفادار» از قبل در Dataset وجود داشته باشد.

آیا در Semi-Supervised Learning به Label نیاز داریم؟

در Semi-Supervised Learning بخشی از داده‌ها Label دارند و بخشی دیگر بدون Label هستند.

مثلاً از 1000 نمونه داده:

  • 100 نمونه → Labelدار
  • 900 نمونه → بدون Label

مدل می‌تواند از هر دو بخش داده استفاده کند.

این روش زمانی اهمیت بیشتری پیدا می‌کند که جمع‌آوری داده آسان باشد اما برچسب‌گذاری آن دشوار، زمان‌بر یا پرهزینه باشد. Google نیز Semi-Supervised Learning را به‌عنوان روشی برای آموزش با ترکیبی از نمونه‌های Labelدار و بدون Label تعریف می‌کند.

آیا Self-Supervised Learning بدون Label است؟

اینجا یک نکته‌ی ظریف وجود دارد.

در Self-Supervised Learning معمولاً Label انسانی از قبل وجود ندارد؛ اما مدل می‌تواند از خود داده یک Target یا Label مصنوعی ایجاد کند.

برای مثال، در یک متن می‌توان بخشی از کلمات را پنهان کرد و از مدل خواست کلمه‌ی اصلی را پیش‌بینی کند.

در این حالت:

داده ← ایجاد هدف از خود داده ← آموزش مدل

بنابراین بهتر است نگوییم:

«Self-Supervised Learning هیچ Labelی ندارد.»

عبارت دقیق‌تر این است که:

«در Self-Supervised Learning، Target موردنیاز برای آموزش می‌تواند از خود داده ایجاد شود و الزاماً به Labelگذاری دستی انسان نیاز ندارد.»

Google نیز Self-Supervised Learning را شامل روش‌هایی می‌داند که از داده‌های بدون برچسب، هدف‌های جایگزین ایجاد می‌کنند.

Label Noise چیست؟

یکی از مهم‌ترین مشکلات Datasetهای واقعی، Label Noise یا نویز در برچسب‌هاست.

فرض کنید تصویر یک گربه به اشتباه با Label «سگ» ذخیره شده باشد.

یا در یک Dataset پزشکی، نتیجه‌ی یک بیمار به اشتباه ثبت شده باشد.

در چنین شرایطی، مدل اطلاعات نادرست را به‌عنوان نمونه‌ی آموزشی دریافت می‌کند.

مثلاً:

Feature Label واقعی Label ثبت‌شده
تصویر گربه گربه سگ
تصویر سگ سگ سگ
تصویر گربه گربه گربه

ردیف اول دارای Label اشتباه است.

اگر تعداد این خطاها زیاد شود، مدل ممکن است الگوهای نامناسبی را یاد بگیرد.

بنابراین:

مدل فقط از داده‌ها یاد نمی‌گیرد؛ از کیفیت Labelهایی که به داده‌ها نسبت داده شده‌اند نیز تأثیر می‌پذیرد.

چرا کیفیت Label مهم است؟

در یادگیری نظارت‌شده، Label همان پاسخی است که مدل تلاش می‌کند آن را پیش‌بینی کند.

اگر این پاسخ‌ها دارای خطا، تناقض یا ابهام باشند، مدل نیز با یک سیگنال آموزشی نامطمئن مواجه می‌شود.

مشکل می‌تواند از موارد مختلفی ناشی شود:

  • خطای انسانی
  • دستورالعمل نامشخص برای Annotatorها
  • اختلاف نظر بین متخصصان
  • تغییر تعریف کلاس‌ها در طول زمان
  • اشتباه در ثبت اطلاعات
  • استفاده از یک معیار نامناسب برای ساخت Label

بنابراین فقط تعداد داده‌ها مهم نیست؛ کیفیت و سازگاری Labelها نیز اهمیت دارد.

اگر دو متخصص درباره‌ی Label اختلاف نظر داشته باشند چه می‌شود؟

این اتفاق در پروژه‌های واقعی کاملاً ممکن است.

فرض کنید دو متخصص باید یک تصویر پزشکی را بررسی کنند:

  • متخصص اول: مثبت
  • متخصص دوم: منفی

در چنین شرایطی نمی‌توان بدون بررسی بیشتر فرض کرد که یکی از آن‌ها حتماً درست و دیگری حتماً اشتباه است.

بسته به مسئله می‌توان از روش‌هایی مانند:

  • تعریف دستورالعمل دقیق Labelگذاری
  • بررسی توسط متخصص سوم
  • فرآیند داوری یا Adjudication
  • ثبت میزان توافق بین Annotatorها

استفاده کرد.

در مسائل دارای ابهام، حتی ممکن است خودِ اختلاف نظر بخشی از اطلاعات ارزشمند Dataset باشد.

Proxy Label چیست؟

گاهی Label واقعی مستقیماً در Dataset وجود ندارد.

در این شرایط ممکن است از یک متغیر قابل‌اندازه‌گیری به‌عنوان Proxy Label استفاده شود.

فرض کنید هدف واقعی ما پیش‌بینی «رضایت مشتری» باشد، اما اطلاعات مستقیمی درباره‌ی رضایت مشتری نداریم.

ممکن است تعداد شکایت‌ها را به‌عنوان یک شاخص جایگزین در نظر بگیریم.

اما این کار یک خطر دارد:

Proxy الزاماً همان چیزی نیست که واقعاً می‌خواهیم پیش‌بینی کنیم.

ممکن است تعداد شکایت‌ها تحت تأثیر عوامل دیگری نیز باشد.

به همین دلیل، قبل از استفاده از Proxy Label باید بررسی شود که آیا این متغیر واقعاً نماینده‌ی مناسبی برای هدف اصلی است یا خیر. Google نیز Proxy Label را داده‌ای تعریف می‌کند که برای تقریب یک Label در دسترس‌نبوده استفاده می‌شود.

Label Encoding چیست و چه ارتباطی با Label دارد؟

گاهی Labelها متنی هستند:

  • Yes / No
  • Male / Female
  • Cat / Dog
  • Low / Medium / High

اما بسیاری از الگوریتم‌های یادگیری ماشین برای کار با این مقادیر، به نمایش عددی نیاز دارند.

در این شرایط می‌توان Label را به یک نمایش عددی تبدیل کرد.

مثلاً:

  • No → 0
  • Yes → 1

این فرآیند می‌تواند با روش‌هایی مانند Label Encoding انجام شود.

اما یک نکته مهم وجود دارد:

تبدیل Label به عدد به این معنی نیست که اعداد جدید حتماً دارای معنای عددی یا ترتیبی هستند.

مثلاً اگر:

  • Cat → 0
  • Dog → 1

باشد، مقدار 1 به این معنا نیست که «Dog بیشتر» یا «بزرگ‌تر» از Cat است.

در نتیجه باید بین Label به‌عنوان مفهوم هدف و روش نمایش عددی Label تفاوت قائل شد.

آیا Label با ستون هدف در Dataset یکی است؟

در بسیاری از Datasetهای جدولی، بله.

برای مثال:

Age Income Credit Score Default
25 20 710 No
43 45 650 Yes
31 28 730 No

اگر هدف پیش‌بینی Default باشد:

  • Target Column = Default

و مقادیر این ستون:

  • No / Yes

Labelهای نمونه‌های مختلف هستند.

اما در پروژه‌های پیچیده‌تر، Target می‌تواند ساختار متفاوتی داشته باشد و الزاماً به یک ستون ساده محدود نشود.

Label در Train، Validation و Test چه نقشی دارد؟

در یک پروژه‌ی یادگیری نظارت‌شده معمولاً داده‌ها به بخش‌هایی مانند:

  • Training
  • Validation
  • Test

تقسیم می‌شوند.

در مجموعه‌ی Training، مدل Featureها و Labelهای واقعی را می‌بیند و از آن‌ها یاد می‌گیرد.

در Validation، Label واقعی برای ارزیابی عملکرد و انتخاب تنظیمات مناسب استفاده می‌شود.

در Test نیز Label واقعی برای ارزیابی نهایی عملکرد مدل مورد نیاز است؛ اگرچه مدل نباید در فرآیند آموزش به Labelهای Test دسترسی داشته باشد.

به زبان ساده:

Training → یادگیری
Validation → تنظیم و ارزیابی در فرآیند توسعه
Test → ارزیابی نهایی

بنابراین داشتن Label مناسب فقط برای آموزش مدل اهمیت ندارد؛ Labelهای معتبر برای ارزیابی مدل نیز ضروری هستند.

یک مثال کامل از Feature و Label

فرض کنید می‌خواهیم مدلی برای پیش‌بینی مصرف برق سالانه‌ی یک خانه بسازیم.

Dataset می‌تواند به این شکل باشد:

متراژ تعداد ساکنان میانگین دما تعداد وسایل برقی مصرف سالانه
80 2 21 8 2400
120 4 25 12 4200
150 5 27 15 5700

در این مسئله:

Featureها:

  • متراژ
  • تعداد ساکنان
  • میانگین دما
  • تعداد وسایل برقی

Label:

  • مصرف سالانه برق

مدل از نمونه‌های موجود یاد می‌گیرد که بین Featureها و مصرف برق چه رابطه‌ای وجود دارد.

سپس اگر اطلاعات یک خانه‌ی جدید را به مدل بدهیم:

متراژ تعداد ساکنان میانگین دما تعداد وسایل برقی
110 3 24 10

مدل می‌تواند مقدار مصرف برق را پیش‌بینی کند.

در این مرحله، چون مقدار واقعی مصرف خانه‌ی جدید هنوز مشخص نیست، این نمونه برای مدل یک Unlabeled Example است.

Google نیز در تعریف Labeled و Unlabeled Example دقیقاً بر همین تفاوت تأکید می‌کند: نمونه‌ی Labelدار شامل Feature و Label است، در حالی که نمونه‌ی بدون Label فقط Featureها را دارد.

از کجا بفهمیم یک متغیر باید Label باشد؟

برای انتخاب Label، ابتدا باید سؤال اصلی پروژه را مشخص کنیم.

به جای اینکه از Dataset شروع کنیم و بپرسیم:

«کدام ستون را Label قرار بدهم؟»

بهتر است ابتدا بپرسیم:

«مدل قرار است چه چیزی را پیش‌بینی کند؟»

برای مثال:

  • هدف: تشخیص تقلب در تراکنش‌ها ← Label = Fraud
  • هدف: پیش‌بینی قیمت خانه ← Label = Price
  • هدف: پیش‌بینی میزان مصرف برق ← Label = Energy Consumption

به عبارت دیگر، Label از هدف مسئله می‌آید، نه صرفاً از ساختار Dataset.

چند اشتباه رایج درباره Label

اشتباه اول: هر ستون Dataset می‌تواند Label باشد

از نظر فنی ممکن است چند متغیر مختلف را بتوان به‌عنوان Target تعریف کرد، اما انتخاب Label باید بر اساس هدف واقعی مسئله انجام شود.

اشتباه دوم: Label همیشه یک مقدار متنی است

خیر. Label می‌تواند عدد، کلاس، چند کلاس، چند برچسب، محدوده یا مختصات، Mask یا ساختار دیگری باشد.

اشتباه سوم: Label همیشه Ground Truth مطلق است

خیر. Label ممکن است دارای خطا، ابهام یا سوگیری ناشی از فرآیند تولید داده باشد.

اشتباه چهارم: همه‌ی الگوریتم‌های یادگیری ماشین به Label نیاز دارند

خیر. یادگیری نظارت‌شده به Label نیاز دارد، اما روش‌های بدون نظارت می‌توانند بدون Label از پیش تعیین‌شده روی داده کار کنند. روش‌های Self-Supervised نیز می‌توانند Targetهای آموزشی را از خود داده ایجاد کنند.

اشتباه پنجم: Label و Prediction یکی هستند

این دو مفهوم دقیقاً برعکس نقش یکدیگر را دارند. Label پاسخ مورد انتظار یا مرجع موجود در داده است، اما Prediction پاسخی است که مدل تولید می‌کند. مثلاً Label = Spam و Prediction = Not Spam؛ در این نمونه مدل اشتباه کرده است.

Label خوب چه ویژگی‌هایی دارد؟

یک Label مناسب باید تا حد امکان با هدف واقعی مسئله هماهنگ باشد.

هنگام طراحی Dataset بهتر است موارد زیر مشخص باشند:

  • تعریف دقیق Label: باید معلوم باشد هر Label دقیقاً چه معنایی دارد.
  • دستورالعمل برچسب‌گذاری: اگر Labelها توسط انسان تولید می‌شوند، معیار تصمیم‌گیری باید مشخص باشد.
  • سازگاری: نمونه‌های مشابه باید تا حد امکان Labelهای سازگار دریافت کنند.
  • قابلیت ارزیابی: باید مشخص باشد که چگونه می‌توان Label را بررسی و اعتبارسنجی کرد.
  • ارتباط با هدف واقعی: Label باید تا حد امکان همان خروجی‌ای را نشان دهد که مدل در دنیای واقعی برای آن ساخته می‌شود.
  • توجه به تغییرات زمانی: اگر تعریف یا فرآیند تولید Label در طول زمان تغییر کند، Dataset نیز ممکن است دچار ناسازگاری شود.

Label چرا در یادگیری ماشین مهم است؟

اگر Featureها را اطلاعاتی بدانیم که مدل در اختیار دارد، Label همان چیزی است که به مدل می‌گوید:

«قرار است چه چیزی را یاد بگیری.»

بدون این پاسخ، در یک مسئله‌ی معمولی Supervised Learning مشخص نیست مدل باید دقیقاً چه خروجی‌ای را پیش‌بینی کند.

به همین دلیل، کیفیت Label می‌تواند روی کل فرآیند یادگیری اثر بگذارد:

کیفیت Label ← کیفیت سیگنال آموزشی ← کیفیت یادگیری مدل

این موضوع به‌خصوص در پروژه‌هایی مهم است که Labelگذاری به‌صورت دستی انجام می‌شود یا تعریف خروجی دارای ابهام است.

سوالات متداول درباره Label

تفاوت Label و Feature چیست؟
Feature اطلاعات ورودی است که مدل برای پیش‌بینی در اختیار دارد؛ اما Label خروجی یا پاسخ مورد انتظاری است که مدل باید آن را یاد بگیرد و پیش‌بینی کند. مثلاً در پیش‌بینی قیمت خانه، متراژ و تعداد اتاق Feature هستند و قیمت خانه Label است.
آیا Label و Target با هم تفاوت دارند؟
در بسیاری از منابع این دو واژه به یک معنا استفاده می‌شوند و Google نیز Target را مترادف Label معرفی می‌کند. با این حال، Target بیشتر بر «متغیری که مسئله قصد پیش‌بینی آن را دارد» تأکید می‌کند، در حالی که Label معمولاً به مقدار پاسخ همراه یک نمونه اشاره دارد.
آیا همیشه به Label نیاز داریم؟
خیر. در Supervised Learning بله، اما در Unsupervised Learning مدل بدون Label از پیش تعیین‌شده به دنبال ساختارهای داده می‌گردد. در Semi-Supervised Learning فقط بخشی از داده‌ها Label دارند و در Self-Supervised Learning نیز Target آموزشی از خود داده ساخته می‌شود.
آیا Label همیشه Ground Truth مطلق است؟
خیر. Ground Truth به داده یا پاسخی گفته می‌شود که به‌عنوان مرجع برای مقایسه و ارزیابی پیش‌بینی مدل استفاده می‌شود، اما الزاماً به معنای حقیقت مطلق نیست. اگر Label توسط انسان اشتباه تعیین شده باشد یا فرآیند تولید آن خطا داشته باشد، داده‌ی مرجع نیز می‌تواند اشتباه باشد.
Label Noise چیست و چه تأثیری دارد؟
Label Noise یعنی وجود خطا یا نویز در برچسب‌های Dataset؛ مثلاً تصویر یک گربه به اشتباه با Label «سگ» ذخیره شده باشد. اگر تعداد این خطاها زیاد شود، مدل الگوهای نامناسبی را یاد می‌گیرد، چون از یک سیگنال آموزشی نامطمئن تغذیه می‌کند.
Proxy Label چیست؟
وقتی Label واقعی مستقیماً در Dataset وجود ندارد، ممکن است از یک متغیر قابل‌اندازه‌گیری به‌عنوان Proxy Label استفاده شود. مثلاً برای پیش‌بینی «رضایت مشتری» که داده‌ی مستقیمی از آن نداریم، تعداد شکایت‌ها را به‌عنوان شاخص جایگزین در نظر بگیریم. اما Proxy الزاماً همان چیزی نیست که واقعاً می‌خواهیم پیش‌بینی کنیم.
Label Encoding چه ارتباطی با Label دارد؟
بسیاری از الگوریتم‌ها به نمایش عددی نیاز دارند، بنابراین Labelهای متنی مانند Yes/No به مقادیر عددی مثل 0 و 1 تبدیل می‌شوند. اما تبدیل Label به عدد به این معنی نیست که اعداد جدید معنای عددی یا ترتیبی دارند؛ مثلاً Cat → 0 و Dog → 1 به این معنا نیست که Dog بزرگ‌تر از Cat است.
چگونه بفهمیم کدام متغیر باید Label باشد؟
به جای شروع از Dataset و پرسیدن «کدام ستون را Label قرار بدهم؟»، بهتر است ابتدا بپرسیم «مدل قرار است در نهایت چه چیزی را پیش‌بینی کند؟». Label از هدف مسئله می‌آید، نه صرفاً از ساختار Dataset.

جمع‌بندی

Label یکی از مفاهیم بنیادی یادگیری ماشین است و به مقدار یا پاسخ هدفی اشاره دارد که مدل باید آن را از روی Featureها یاد بگیرد و برای نمونه‌های جدید پیش‌بینی کند.

در یک Dataset ساده:

Featureها = اطلاعات ورودی
Label = خروجی مورد انتظار

Label می‌تواند در مسائل مختلف شکل‌های متفاوتی داشته باشد؛ از یک مقدار دودویی مانند «بله/خیر» گرفته تا چند کلاس، مقدار عددی در Regression یا ساختارهای پیچیده‌تر در مسائل تصویری.

Label نقش اصلی را در Supervised Learning دارد، اما همه‌ی روش‌های یادگیری ماشین به Labelهای دستی نیاز ندارند. در Unsupervised Learning مدل می‌تواند بدون Label مشخص به دنبال ساختارهای موجود در داده باشد و در Self-Supervised Learning نیز Target آموزشی می‌تواند از خود داده ایجاد شود.

از طرف دیگر، داشتن Label به‌تنهایی کافی نیست. کیفیت، سازگاری و ارتباط Label با هدف واقعی مسئله اهمیت زیادی دارد. Label اشتباه یا نامناسب می‌تواند باعث شود مدل الگوهایی را یاد بگیرد که با هدف واقعی پروژه سازگار نیستند.

در نهایت، برای تشخیص اینکه چه چیزی باید Label باشد، بهترین سؤال این نیست که:

«کدام ستون Dataset را Label قرار بدهم؟»

بلکه باید پرسید:

«مدل قرار است در نهایت چه چیزی را پیش‌بینی کند؟»

پاسخ این سؤال معمولاً نقطه‌ی شروع تعیین Label در یک مسئله‌ی یادگیری ماشین است.

اگر تجربه‌ای از تعیین Label در پروژه‌های یادگیری ماشین دارید یا سؤالی درباره تفاوت Label با Feature و Target برایتان پیش آمده، آن را در کامنت بنویسید. کدام بخش از فرآیند انتخاب و تولید Label برای شما چالش‌برانگیزتر بوده است؟

فکر خود را اینجا بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *