تخمین عدم‌قطعیت

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

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

دو نوع عدم‌قطعیت

عدم‌قطعیت تصادفی (Aleatoric): از ذات داده می‌آید؛ نویز اندازه‌گیری، برچسب‌گذاری مبهم، یا اینکه ورودی واقعاً برای تعیین خروجی کافی نیست. با جمع‌آوری داده‌ی بیشتر از همان نوع کم نمی‌شود. می‌تواند به ورودی وابسته باشد (ناهمسان‌واریانس)، و مدل می‌تواند آن را مستقیماً یاد بگیرد، مثلاً با پیش‌بینی میانگین و واریانس.

عدم‌قطعیت معرفتی (Epistemic): از ناآگاهی مدل می‌آید؛ داده‌ی کم، یا ورودی‌ای دور از توزیع آموزش. با داده‌ی بیشتر در آن ناحیه کاهش می‌یابد. در دیدگاه بیزی، این همان پخش بودن توزیع پسین روی پارامترها، p(θ∣D)p(\theta \mid \mathcal D)، است.

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

گروه مدل‌ها، MC Dropout و تجزیه‌ی آنتروپی

برای تخمین عدم‌قطعیت معرفتی چند پیش‌بینی متفاوت ولی معقول لازم داریم:

  • گروه عمیق (Deep Ensembles): MM شبکه با مقداردهی اولیه‌ی تصادفی متفاوت آموزش می‌دهیم.
  • MC Dropout: Dropout را در زمان آزمون روشن نگه می‌داریم و چند گذر رو به جلو انجام می‌دهیم.

اگر عضو mm توزیع pm(y∣x)p_m(y \mid x) را بدهد و pˉ=1M∑mpm\bar p = \frac1M \sum_m p_m باشد، آنتروپی کل تجزیه می‌شود:

H[pˉ]⏟کل=1M∑mH[pm]⏟تصادفی+H[pˉ]−1M∑mH[pm]⏟معرفتی (اطلاعات متقابل)\underbrace{H[\bar p]}_{\text{کل}} = \underbrace{\frac1M \sum_m H[p_m]}_{\text{تصادفی}} + \underbrace{H[\bar p] - \frac1M \sum_m H[p_m]}_{\text{معرفتی (اطلاعات متقابل)}}

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

پیش‌بینی همدیس (Conformal Prediction)

روش‌های بالا تخمین می‌دهند، ولی تضمین پوشش ندارند. پیش‌بینی همدیس تفکیکی (Split Conformal) روی هر مدل آموزش‌دیده‌ای یک مجموعه یا بازه‌ی پیش‌بینی با تضمین پوشش می‌سازد:

  1. یک تابع امتیاز ناهمخوانی تعریف کن، مثلاً si=∣yi−f^(xi)∣s_i = |y_i - \hat f(x_i)| در رگرسیون یا 1−p^yi(xi)1 - \hat p_{y_i}(x_i) در دسته‌بندی.
  2. امتیازها را روی nn نمونه‌ی کالیبراسیون (جدا از آموزش) حساب و مرتب کن.
  3. q^\hat q را برابر ⌈(n+1)(1−α)⌉\lceil (n+1)(1-\alpha) \rceil‌اُمین امتیاز کوچک‌تر بگذار.
  4. برای ورودی جدید، همه‌ی برچسب‌هایی را که امتیازشان ≤q^\le \hat q است در مجموعه بگذار؛ در رگرسیون بازه f^(x)±q^\hat f(x) \pm \hat q است.

اگر داده‌ها تعویض‌پذیر (exchangeable) باشند، P(ynew∈C(xnew))≥1−αP(y_{\text{new}} \in C(x_{\text{new}})) \ge 1 - \alpha. این تضمین حاشیه‌ای است، یعنی به‌طور میانگین روی همه‌ی ورودی‌ها، نه برای هر xx مشخص.

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