کالیبراسیون احتمال

کالیبراسیون یک مدل را با نمودار اطمینان، ECE و امتیاز Brier بسنجی و آن را با Temperature Scaling اصلاح کنی.

14 دقیقه مطالعه · 5 سؤال تمرینی · یادگیری ماشین میانی و پیشرفته

کالیبراسیون چیست؟

مدلی کالیبره است که وقتی می‌گوید «۸۰٪»، در حدود ۸۰٪ همین موارد واقعاً درست باشد:

P(Y=1∣p^=p)=pبرای همه‌ی pP\big(Y = 1 \mid \hat p = p\big) = p \quad \text{برای همه‌ی } p

نمودار اطمینان (Reliability Diagram): پیش‌بینی‌ها را بر حسب اطمینان در چند بازه (bin) دسته می‌کنیم و در هر بازه، میانگین اطمینان را با دقت واقعی مقایسه می‌کنیم. مدل کالیبره روی قطر قرار می‌گیرد؛ (محور افقی: اطمینان، محور عمودی: دقت) نقاط زیر قطر یعنی بیش‌اطمینانی.

خطای کالیبراسیون مورد انتظار (ECE) با MM بازه و nn نمونه:

ECE=∑m=1M∣Bm∣n ∣acc⁡(Bm)−conf⁡(Bm)∣\text{ECE} = \sum_{m=1}^{M} \frac{|B_m|}{n}\,\big|\operatorname{acc}(B_m) - \operatorname{conf}(B_m)\big|

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

قواعد امتیازدهی سره: Brier و Log Loss

یک قاعده‌ی امتیازدهی سره (proper scoring rule) طوری است که امید ریاضی امتیاز وقتی بهینه می‌شود که مدل احتمال واقعی را گزارش کند. پس مدل نمی‌تواند با اغراق یا محافظه‌کاری امتیازش را بهتر کند.

امتیاز Brier برای دسته‌بندی دودویی:

BS=1n∑i=1n(p^i−yi)2\text{BS} = \frac1n \sum_{i=1}^n (\hat p_i - y_i)^2

Log Loss (آنتروپی متقاطع): −1n∑i[yiln⁡p^i+(1−yi)ln⁡(1−p^i)]-\frac1n \sum_i \big[y_i \ln \hat p_i + (1-y_i)\ln(1-\hat p_i)\big].

هر دو سره‌اند و هم کالیبراسیون و هم تفکیک‌پذیری را با هم می‌سنجند. Log Loss پیش‌بینی‌های مطمئن و غلط را بسیار شدیدتر جریمه می‌کند و با p^→0\hat p \to 0 برای یک مثبت واقعی به بی‌نهایت می‌رود. ECE قاعده‌ی امتیازدهی سره نیست: مدلی که برای همه نرخ شیوع را پیش‌بینی کند، ECE نزدیک صفر دارد ولی بی‌فایده است.

کالیبراسیون پس از آموزش: Temperature Scaling

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

  • Temperature Scaling: همه‌ی لاجیت‌ها را بر یک عدد T>0T > 0 تقسیم می‌کنیم: p^=softmax⁡(z/T)\hat p = \operatorname{softmax}(z / T). پارامتر TT با کمینه کردن Log Loss روی داده‌ی اعتبارسنجی پیدا می‌شود. T>1T > 1 توزیع را نرم‌تر (کم‌اطمینان‌تر) و T<1T < 1 تیزتر می‌کند.
  • Platt Scaling: برای دودویی، p^=σ(az+b)\hat p = \sigma(a z + b) با دو پارامتر.
  • رگرسیون ایزوتونیک: یک نگاشت یکنوای ناپارامتری؛ انعطاف بیشتری دارد ولی داده‌ی بیشتری می‌خواهد و با داده‌ی کم بیش‌برازش می‌کند.

تقسیم بر TT ترتیب لاجیت‌ها را عوض نمی‌کند، پس Temperature Scaling کلاس پیش‌بینی‌شده و دقت را تغییر نمی‌دهد.

نکته: بیش‌نمونه‌گیری یا وزن‌دهی کلاس‌ها نرخ پایه را عوض می‌کند و احتمال‌های خروجی را از کالیبراسیون خارج می‌کند؛ بعد از آن کالیبره کردن دوباره لازم است.

تمرین‌های این درس را حل کن (رایگان)