طبقه بندی: منحنی ROC و AUC

منحنی ROC

منحنی ROC (منحنی مشخصه عملکرد گیرنده ) نموداری است که عملکرد یک مدل طبقه‌بندی را در تمام آستانه‌های طبقه‌بندی نشان می‌دهد. این منحنی دو پارامتر را ترسیم می کند:

  • نرخ مثبت واقعی
  • نرخ مثبت کاذب

نرخ مثبت واقعی ( TPR ) مترادف برای یادآوری است و بنابراین به صورت زیر تعریف می شود:

$$TPR = \frac{TP} {TP + FN}$$

نرخ مثبت کاذب ( FPR ) به صورت زیر تعریف می شود:

$$FPR = \frac{FP} {FP + TN}$$

یک منحنی ROC TPR در مقابل FPR را در آستانه های طبقه بندی مختلف ترسیم می کند. کاهش آستانه طبقه بندی، موارد بیشتری را به عنوان مثبت طبقه بندی می کند، در نتیجه هم مثبت کاذب و هم مثبت واقعی افزایش می یابد. شکل زیر یک منحنی ROC معمولی را نشان می دهد.

منحنی ROC که نرخ TP در مقابل نرخ FP را در آستانه های طبقه بندی مختلف نشان می دهد.

شکل 4. نرخ TP در مقابل FP در آستانه های طبقه بندی مختلف.

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

AUC: ناحیه زیر منحنی ROC

AUC مخفف عبارت "Area under the ROC Curve" است. یعنی AUC کل ناحیه دو بعدی زیر کل منحنی ROC (حساب انتگرال فکر کنید) را از (0,0) تا (1,1) اندازه گیری می کند.

AUC (منطقه زیر منحنی ROC).

شکل 5. AUC (مساحت زیر منحنی ROC).

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

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

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

AUC نشان دهنده احتمال این است که یک مثال تصادفی مثبت (سبز) در سمت راست یک مثال تصادفی منفی (قرمز) قرار گیرد.

مقدار AUC از 0 تا 1 متغیر است. مدلی که پیش‌بینی‌های آن 100% اشتباه است دارای AUC 0.0 است. یکی که پیش‌بینی‌هایش 100% درست است دارای AUC 1.0 است.

AUC به دو دلیل زیر مطلوب است:

  • AUC متغیر مقیاس است . به جای مقادیر مطلق آنها، میزان رتبه بندی پیش بینی ها را اندازه گیری می کند.
  • AUC طبقه بندی-آستانه-نامغیر است . کیفیت پیش‌بینی‌های مدل را بدون توجه به آستانه طبقه‌بندی انتخاب شده، اندازه‌گیری می‌کند.

با این حال، هر دوی این دلایل با هشدارهایی همراه هستند، که ممکن است سودمندی AUC را در موارد استفاده خاص محدود کند:

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

  • عدم تغییر طبقه بندی-آستانه همیشه مطلوب نیست. در مواردی که تفاوت های زیادی در هزینه های منفی کاذب در مقابل مثبت های کاذب وجود دارد، ممکن است به حداقل رساندن یک نوع خطای طبقه بندی حیاتی باشد. به عنوان مثال، هنگام انجام تشخیص هرزنامه ایمیل، احتمالاً می خواهید به حداقل رساندن موارد مثبت کاذب اولویت دهید (حتی اگر منجر به افزایش قابل توجهی از موارد منفی کاذب شود). AUC معیار مفیدی برای این نوع بهینه سازی نیست.