ردهبندی دادهها: چگونه رایانه گربه را از سگ تشخیص میدهد؟
ردهبندی در یک نگاه: معنا و تفاوت با خوشهبندی
در زندگی روزمره مدام در حال دستهبندی هستیم: میوهها را از سبزیجات جدا میکنیم، ایمیلهای مهم را از هرزنامه تشخیص میدهیم. رایانه نیز با کمک «یادگیری ماشین» میتواند چنین کاری انجام دهد. به فرآیندی که رایانه بر اساس نمونههای قبلی (دادههای برچسبدار) یاد میگیرد تا یک ورودی جدید را در یکی از گروههای از پیش تعیینشده قرار دهد، ردهبندی میگویند.
تفاوت اصلی ردهبندی با خوشهبندی⁴ در این است که در ردهبندی، ما از قبل برچسب گروهها را داریم (مثلاً «گربه» و «سگ») و رایانه فقط قاعدهٔ تشخیص را میآموزد. اما در خوشهبندی، خود رایانه بدون کمک انسان، دادهها را بر اساس شباهت به چند دسته تقسیم میکند.
مراحل ساخت یک دستهبند ساده: از تصویر تا تصمیم
فرض کنیم میخواهیم برنامهای بنویسیم که عکس حیوانات را به دو دستهٔ «گربه» و «سگ» تقسیم کند. این کار شامل مراحل زیر است:
- جمعآوری داده: تهیهٔ هزاران عکس از گربهها و سگها که هر کدام برچسب صحیح دارند.
- استخراج ویژگی: تبدیل هر تصویر به اعدادی که رایانه بفهمد. مثلاً میانگین روشنایی، وجود گوشهای تیز یا پوزهٔ دراز میتواند ویژگیهای سودمندی باشند.
- انتخاب مدل (دستهبند): انتخاب الگوریتمی مانند درخت تصمیم⁵، ماشین بردار پشتیبان⁶ یا شبکهٔ عصبی.
- آموزش: دادن دادههای برچسبدار به الگوریتم تا پارامترهای آن تنظیم شود.
- ارزیابی: آزمودن مدل روی دادههایی که قبلاً ندیده، برای سنجش دقت.
| الگوریتم دستهبند | ایدهٔ اصلی | مزیت نسبی |
|---|---|---|
| درخت تصمیم | ساختن یک درخت پرسش و پاسخ (آیا گوش نوکتیز است؟) | قابل درک برای انسان، نیاز به دادهٔ کم |
| نزدیکترین همسایه (k-NN) | دادهٔ جدید را شبیه به k دادهٔ نزدیک به آن دستهبندی کن | بسیار ساده، نیازی به مرحلهٔ آموزش صریح ندارد |
مثال عملی: دستهبندی میوهها بر اساس جرم و رنگ
فرض کنید فروشندهای میخواهد با استفاده از دو ویژگی «وزن (گرم)» و «قرمزی (عدد از ۰ تا ۱)» سیب را از پرتقال جدا کند. او دادههای زیر را جمعآوری کرده:
- سیب: وزن 150 گرم، قرمزی 0.85
- پرتقال: وزن 170 گرم، قرمزی 0.25
- دادهٔ جدید: وزن 160 گرم، قرمزی 0.8
اگر از دستهبند «نزدیکترین همسایه با k=1» استفاده کنیم، فاصلهٔ دادهٔ جدید را با سیب و پرتقال محاسبه میکنیم. فرمول فاصله (فیثاغورث):
$d = \sqrt{(w_2-w_1)^2 + (r_2-r_1)^2}$فاصله تا سیب: $\sqrt{(160-150)^2 + (0.8-0.85)^2} = \sqrt{100 + 0.0025} \approx 10.000125$
فاصله تا پرتقال: $\sqrt{(160-170)^2 + (0.8-0.25)^2} = \sqrt{100 + 0.3025} \approx 10.015$
از آنجا که فاصله تا سیب کمتر است، رایانه این میوهٔ جدید را سیب دستهبندی میکند. هرچه تعداد ویژگیها بیشتر باشد (مثل شکل، وجود هسته، جنس پوست)، دقت دستهبندی بالاتر میرود.
چالشهای مفهومی در طبقهبندی دادهها
۱) چرا نمیتوان همیشه به دقت ۱۰۰٪ رسید؟
زیرا دادهها ممکن است نویز (اطلاعات نادرست) داشته باشند یا ویژگیهای دو دسته کاملاً همپوشانی کنند. مثلاً یک عکس تار از گربه ممکن است شبیه سگ شود. هدف رسیدن به دقت قابل قبول است، نه بینقص مطلق.
۲) «بیشبرازش»⁷ چیست و چرا مضر است؟
وقتی مدل، جزئیات اضافی و حتی نویز دادههای آموزشی را به خاطر میسپارد، روی دادهٔ جدید ضعیف عمل میکند. مثل دانشآموزی که سوالات کتاب را حفظ کرده اما با سوال تازه درمانده میشود. راه حل: استفاده از دادهٔ اعتبارسنجی و سادهسازی مدل.
۳) چگونه دقت یک دستهبند را اندازه میگیریم؟
از «ماتریس درهمریختگی» استفاده میشود که چهار عدد را نشان میدهد: مثبت درست (گربه را گربه گفت)، مثبت کاذب (سگ را گربه گفت)، منفی درست (سگ را سگ گفت)، منفی کاذب (گربه را سگ گفت). سپس معیارهایی مثل دقت = (مثبت درست + منفی درست) تقسیم بر کل داده محاسبه میشود.
کاربردهای روزمرهٔ ردهبندی در فناوری
- پالایش هرزنامه: ایمیلها به دو دستهٔ «هرزنامه» و «غیرهرزنامه» تقسیم میشوند.
- تشخیص چهره: گوشی هوشمند چهرهٔ صاحب خود را از دیگران تشخیص میدهد.
- تشخیص نفوذ در شبکه: ترافیک شبکه به دستههای «عادی» و «حمله» ردهبندی میشود.
- تشخیص پزشکی: بر اساس علائم و تصاویر پزشکی، بیمار به دستهٔ «بیمار» یا «سالم» طبقهبندی میشود.
پاورقیها
۱ ردهبندی دادهها (Classification): فرآیند قراردادن نمونههای جدید در یکی از گروههای از پیش تعیینشده بر اساس یادگیری از نمونههای برچسبدار.
۲ یادگیری نظارتشده (Supervised Learning): شاخهای از یادگیری ماشین که در آن به الگوریتم، هم ورودی و هم خروجی صحیح (برچسب) نشان داده میشود.
۳ ماتریس درهمریختگی (Confusion Matrix): جدولی که کارایی مدل ردهبند را با نمایش تعداد پیشبینیهای صحیح و غلط نشان میدهد.
۴ خوشهبندی (Clustering): نوعی یادگیری بدون نظارت که دادهها را بدون استفاده از برچسب، بر اساس شباهت ذاتی دستهبندی میکند.
۵ درخت تصمیم (Decision Tree): مدلی که با پرسشهای متوالی از ویژگیهای داده، به برگهای تصمیم میرسد.
۶ ماشین بردار پشتیبان (Support Vector Machine): الگوریتمی که با یافتن مرز جداساز بهینه بین دستهها کار میکند.
۷ بیشبرازش (Overfitting): وضعیتی که مدل، دادهٔ آموزشی را بیش از حد جزئی یاد میگیرد و توانایی تعمیم به دادهٔ جدید را از دست میدهد.