طبقه بندی: تعصب پیش بینی

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

"میانگین پیش بینی ها" باید ≈ "میانگین مشاهدات"

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

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

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

به عنوان مثال، فرض کنید می دانیم که به طور متوسط ​​1٪ از همه ایمیل ها اسپم هستند. اگر اصلاً چیزی در مورد یک ایمیل معین نمی دانیم، باید پیش بینی کنیم که 1٪ احتمال دارد که هرزنامه باشد. به طور مشابه، یک مدل هرزنامه خوب باید به طور متوسط ​​پیش بینی کند که ایمیل ها 1٪ احتمال دارد که هرزنامه باشند. (به عبارت دیگر، اگر میانگین احتمالات پیش بینی شده هر ایمیل به صورت هرزنامه را میانگین بگیریم، نتیجه باید 1 درصد باشد.) اگر در عوض، میانگین پیش بینی مدل 20 درصد احتمال هرزنامه بودن باشد، می توانیم نتیجه بگیریم که سوگیری پیش بینی را نشان می دهد.

علل ریشه ای احتمالی سوگیری پیش بینی عبارتند از:

  • مجموعه ویژگی های ناقص
  • مجموعه داده های پر سر و صدا
  • خط لوله باگ
  • نمونه آموزش مغرضانه
  • تنظیم بیش از حد قوی

ممکن است وسوسه شوید که تعصب پیش بینی را با پس پردازش مدل آموخته شده تصحیح کنید - یعنی با افزودن یک لایه کالیبراسیون که خروجی مدل شما را برای کاهش تعصب پیش بینی تنظیم می کند. برای مثال، اگر مدل شما 3% بایاس دارد، می‌توانید یک لایه کالیبراسیون اضافه کنید که میانگین پیش‌بینی را تا 3% کاهش دهد. با این حال، اضافه کردن یک لایه کالیبراسیون به دلایل زیر ایده بدی است:

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

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

سطل و سوگیری پیش بینی

رگرسیون لجستیک مقداری بین 0 و 1 را پیش‌بینی می‌کند. با این حال، همه نمونه‌های برچسب‌گذاری‌شده یا دقیقاً 0 هستند (به‌عنوان مثال، "نه هرزنامه") یا دقیقاً 1 (معنی، برای مثال، "هرزنامه"). بنابراین، هنگام بررسی سوگیری پیش‌بینی، تنها بر اساس یک مثال نمی‌توانید سوگیری پیش‌بینی را دقیقاً تعیین کنید. شما باید سوگیری پیش بینی را در یک "سطل" از مثال ها بررسی کنید. یعنی سوگیری پیش‌بینی برای رگرسیون لجستیک تنها زمانی معنا پیدا می‌کند که نمونه‌های کافی را با هم گروه‌بندی کنیم تا بتوانیم یک مقدار پیش‌بینی‌شده (مثلاً 0.392) را با مقادیر مشاهده شده (مثلاً 0.394) مقایسه کنیم.

شما می توانید سطل ها را به روش های زیر تشکیل دهید:

  • شکستن خطی پیش بینی های هدف.
  • تشکیل چندک.

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

  • محور x نشان دهنده میانگین مقادیر پیش بینی شده مدل برای آن سطل است.
  • محور y میانگین واقعی مقادیر در مجموعه داده آن سطل را نشان می دهد.

هر دو محور مقیاس های لگاریتمی هستند.

محور X پیش بینی است. محور y برچسب است. برای مقادیر متوسط ​​و بالای پیش‌بینی، سوگیری پیش‌بینی ناچیز است. برای مقادیر پایین پیش‌بینی، سوگیری پیش‌بینی نسبتاً زیاد است.

شکل 8. منحنی سوگیری پیش بینی (مقیاس های لگاریتمی)

چرا پیش‌بینی‌ها فقط برای بخشی از مدل بسیار ضعیف هستند؟ در اینجا چند احتمال وجود دارد:

  • مجموعه آموزشی به اندازه کافی زیر مجموعه های خاصی از فضای داده را نشان نمی دهد.
  • برخی از زیرمجموعه های مجموعه داده نویزتر از سایرین هستند.
  • مدل بیش از حد منظم شده است. (کاهش ارزش لامبدا را در نظر بگیرید.)