ایردا - IRDA
ایردا - IRDA
خواندن ۸ دقیقه·۴ سال پیش

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



(و این که چه زمانی باید از آن‌ها استفاده کرد ؟)

چرا می‌خواهیم بهینه‌سازی کنیم ؟

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

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

اما آیا واقعا دقت را می‌توان به عنوان یک معیار مناسب برای تعیین عملکرد مدل دانست ؟

چه می‌شد اگر تعداد سیارک‌هایی به زمین می‌خورند را پیش‌بینی کنیم . اگر مرتبا بگوییم صفر این مدل در ۹۹٪ مواقع درست خواهد بود. می‌توان گفت این مدل منطقی است اما به هیچ وجهی دارای ارزش نیست .

در چنین مواردی باید چه کاری انجام داد ؟

طراحی یک پروژه علوم داده بسیار مهم تر از مدل‌سازی است .این مقاله درباره‌ی معیار‌های مختلف ارزیابی مدل ، چگونگی و زمان استفاده از آن‌هاست .

  1. صحت ( Accuracy ) ، دقت ( Precision ) و بازخوانی ( Recall )


  • مثبت صحیح (TP , True Positive) : وقتی نمونه عضو دسته مثبت باشد و به عنوان عضو همین دسته تشخیص داده شود .
  • منفی کاذب (FN , False Negative) : وقتی نمونه عضو دسته مثبت باشد و به عنوان عضو دسته منفی تشخیص داده شود .
  • منفی صحیح (TN , True Negative) :‌ وقتی نمونه عضو دسته منفی باشد و به عنوان عضو همین دسته تشخیص داده شود .
  • مثبت کاذب (FP , False Positive) : وقتی نمونه عضو دسته منفی باشد و به عنوان عضو دسته مثبت تشخیص داده شود .
  • صحت ( Accuracy )

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

Accuracy = ( TP + TN ) / (TP + TN + FP + FN)

صحت یعنی نسبت نتایج واقعی به کل موارد بررسی شده .

  • چه موقع باید از صحت استفاده کرد ؟

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

  • معایب:

فرض کنید دسته یا کلاس هدف ما بسیار پراکنده است . آیا صحت را به عنوان معیار عملکرد خود استفاده می‌کنیم ؟ اگر پیش‌بینی کنیم یک سیارک به زمین برخورد خواهد کرد چطور ؟ فقط باید گفت نه . و این جواب ۹۹٪ دقیق خواهد بود . در نتیجه این مدل می‌تواند منطقی و دقیق باشد اما ارزشمند نیست .

  • دقت ( Precision )

معیار دقت به سوال زیر پاسخ می‌دهد .

چه نسبتی از مثبت پیش‌بینی شده واقعا مثبت است ؟

Precision = (TP) / (TP + FP)

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

دقت برابر صفر است.

  • چه زمانی باید از معیار دقت استفاده کرد ؟

هرگاه بخواهیم از پیش‌بینی خود بسیار مطمئن باشیم، دقت یک انتخاب مناسب در بین معیار‌های ارزیابی است

برای مثال :‌

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

  • معایب:

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

  • بازخوانی (Recall)

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

چه نسبتی از مثبت ها به درستی به عنوان مثبت دسته‌بندی شده‌اند ؟

Recall = (TP) / (TP + FN)

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

  • چه زمانی باید از بازخوانی استفاده کرد ؟

یادآوری : هنگامی که می‌خواهیم تا آنجا که ممکن است موارد مثبت را به دست آوریم ، بازخوانی یه انتخاب درست از معیارهای ارزیابی است .

برای مثال:

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

  • معایب:

اگر همه‌ی پیش‌بینی ها 1 باشند ، بازخوانی نیز 1 خواهد بود .

و به همین ترتیب بر اساس ایده ترکیب و مبادله دقت در مقابل بازخوانی ،‌ معیار F1 بدست خواهد آمد .

  1. امتیاز F1

نمره F1 عددی بین 0 تا 1 است و حاصل از میانگین هارمونیک دقت و بازخوانی است .

اکنون یک مسئله ی پیش بینی باینری را مورد بررسی قرار خواهیم داد.

میخواهیم پیش‌بینی کنیم که آیا یک سیارک به زمین برخورد خواهد کرد یا نه .

بنابراین اگر برای کل مجموعه‌ی آموزشی خود قرار دهیم “نه” ،دقت ما برابر با صفر خواهد بود .

در نتیجه اگر معیار F1 برابر با 0 خواهد بود و بنابراین می‌دانیم که دسته‌بندی که دارای صحت 99% است ، اساسا برای مورد ما بی‌ارزش است.

  • چه زمانی استفاده کنیم ؟

می‌خواهیم مدلی داشته باشیم که هر دو معیار دقت و بازخوانی آن خوب باشد .


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

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

اگر یک بازرس پلیس باشید و بخواهید مجرمان را بگیرید ، می‌خواهید مطمئن باشید که شخص دستگیر شده یک مجرم است (دقت یا Precision) و همچنین می‌خواهید تا آنجا که ممکن است بیشتر این مجرمان را دستگیر کنید ( بازخوانی یا Recall ) .

معیار F1 این معادله را مدیریت می‌کند .

  • چگونه استفاده کنیم ؟

شما می‌توانید F1 را برای پیش‌بینی مسائل باینری به صورت زیر محاسبه کنید .

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


  • معایب:

مشکل اصلی F1 این است که هنگام محاسبه میانگین به دقت و بازخوانی وزن یکسانی را اختصاص می‌دهد.

برای حل این مشکل می‌توانیم یک F1 وزن دار به صورت زیر درست کنیم که در آن بتا تعادل معادله بین بازخوانی و دقت را مدیریت کند .


  1. لگاریتم تابع زیان / دوحالتی آنتروپی متقاطع

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

یک مثال لگاریتم تابع زیان دوحالتی فرمول زیر است که در آن p ، احتمال پیش‌بینی ۱ است .

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

  • چه زمانی استفاده کنیم ؟

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

  • چگونه استفاده کنیم ؟


  • معایب

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

  1. آنتروپی متقاطع رسته ای:

لگاریتم تابع زیان به مسئله دسته‌بندی چند‌کلاسه تعمیم پیدا می‌کند . دسته‌بند در تنظیم موارد چند کلاسه باید در تمامی مثال‌ها به هر کلاس یک احتمال را اختصاص دهد . اگر N نمونه متعلق به M دسته باشد ، آنتروپی متقاطع رسته ای مجموع مقادیر ( -y log p ) می‌باشد :


Yij مقدار یک را اختیار میکند اگر نمونه iام به دسته‌ی jام متعلق باشد . در غیر این صورت مقدار صفر را می‌گیرد .

( pij ) احتمال این است که دسته‌بند ما پیش‌بینی کند نمونه i متعلق به دسته‌ی j است .

  • چه زمانی استفاده کنیم ؟

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

  • چگونه استفاده کنیم ؟


  • معایب

در صورت متعادل نبودن داده‌ها تاییدناپذیر است .

  1. AUC

AUCناحیه زیر منحنی ROC است .

AUC ROC نشان می‌دهد که احتمال دسته‌های مثبت از دسته‌های منفی تا چه حد مجزا است .

منحنی ROC چیست ؟


ما احتمالات را از دسته‌بندی خودمان بدست می‌آوریم . ما می‌توانیم از مقادیر مختلف آستانه استفاده کنیم تا حساسیت (TPR) و ( نرخ مثبت غلط) ( FPR ) خود را بر روی درمان به صورت پلات ترسیم کنیم که به آن منحنی ROC می گوییم .

زمانی که نرخ مثبت واقعی ( TPR ) فقط نسبتی واقعی است که ما با استفاده از الگوریتم خودمان ثبت کرده‌ایم .

Sensitivty = TPR(True Positive Rate)= Recall = TP/(TP+FN)

و نرخ مثبت غلط یا ( FPR ) فقط نسبتی نادرست است که ما با استفاده از الگوریتم خودمان ثبت کرده‌ایم.

1- Specificity = FPR(False Positive Rate)= FP/(TN+FP)

منحنی ROC :


در اینجا می‌توانیم از منحنی ROC برای تصمیم گرفتن در مورد مقدار آستانه استفاده کنیم .

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

اگر یک برنامه دسته‌بندی سرطان داشته باشید ، نمی‌خواهید مقدار آستانه به بزرگی ۰.۵ باشد . اگر یک بیمار ۰.۳ احتمال سرطان دارد ، تمایل دارید او را به عنوان ۱ دسته‌بندی کنید .

در غیر این صورت در برنامه‌ای برای محدودیت گذاشتن برای کارت‌های اعتباری، نمی‌خواهید مقدار آستانه کمتر از ۰.۵ باشد . شما نگران این هستید که کم کردن حد کارت اعتباری ، تاثیر منفی بر رضایت مشتری داشته باشد .

  • چه زمانی استفاده کنیم ؟

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

  • چگونه استفاده کنیم ؟


  • معایب

گاهی اوقات به احتمال خروجی های به خوبی کالیبره شده از مدل خود نیازمندیم و AUC پاسخگوی این نیاز نیست .

نتیجه گیری:

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

بنابراین ، همیشه مراقب پیش بینی خود و این که انتخاب معیار ارزیابی ممکن است پیش بینی های نهایی شما را تحت تأثیر یا تغییر قرار دهد ، باشید .

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

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