فرایندهای گاوسی

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

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

توزیع روی توابع

تا اینجا روی پارامترها پیشین می‌گذاشتیم. فرایند گاوسی (GP) مستقیماً روی توابع پیشین می‌گذارد:

f∼GP(m(x), k(x,x′))f \sim \mathcal{GP}\big(m(x),\ k(x, x')\big)

تعریف: برای هر مجموعه‌ی متناهی از نقاط x1,…,xnx_1, \dots, x_n، بردار (f(x1),…,f(xn))\big(f(x_1), \dots, f(x_n)\big) توزیع گاوسی چندمتغیره دارد با میانگین m(xi)m(x_i) و کوواریانس Kij=k(xi,xj)K_{ij} = k(x_i, x_j).

کرنل تعیین می‌کند مقدار تابع در دو نقطه چقدر به هم وابسته است. رایج‌ترین انتخاب کرنل گاوسی (RBF) است:

k(x,x′)=σf2exp⁡ ⁣(−(x−x′)22ℓ2)k(x, x') = \sigma_f^2 \exp\!\left(-\frac{(x - x')^2}{2\ell^2}\right)
  • σf2\sigma_f^2: دامنه‌ی تغییرات عمودی تابع.
  • طول مقیاس ℓ\ell: در چه فاصله‌ای مقدارهای تابع عملاً مستقل می‌شوند. ℓ\ell کوچک توابع پرنوسان می‌دهد و ℓ\ell بزرگ توابع هموار.

معمولاً m(x)=0m(x) = 0 فرض می‌شود.

پیش‌بینی با شرطی‌سازی

فرض کنید مشاهده‌ها نویزی‌اند: yi=f(xi)+εiy_i = f(x_i) + \varepsilon_i با εi∼N(0,σn2)\varepsilon_i \sim \mathcal N(0, \sigma_n^2). چون yy و f(x∗)f(x_*) با هم گاوسی‌اند، پسین هم گاوسی است و با فرمول‌های شرطی‌سازی گاوسی به دست می‌آید. با Ky=K+σn2IK_y = K + \sigma_n^2 I و k∗=(k(x1,x∗),…,k(xn,x∗))⊤k_* = \big(k(x_1, x_*), \dots, k(x_n, x_*)\big)^\top:

μ∗=k∗⊤Ky−1 y\mu_* = k_*^\top K_y^{-1}\, y σ∗2=k(x∗,x∗)−k∗⊤Ky−1 k∗\sigma_*^2 = k(x_*, x_*) - k_*^\top K_y^{-1}\, k_*

چند نکته:

  • واریانس پسین به مقدار yy بستگی ندارد، فقط به محل نقاط آموزشی وابسته است.
  • دور از داده‌ها k∗→0k_* \to 0 است، پس پیش‌بینی به پیشین برمی‌گردد: μ∗→0\mu_* \to 0 و σ∗2→k(x∗,x∗)\sigma_*^2 \to k(x_*, x_*).
  • μ∗\mu_* دقیقاً همان پیش‌بینی رگرسیون ریج کرنلی با λ=σn2\lambda = \sigma_n^2 است. تفاوت GP این است که عدم‌قطعیت را هم می‌دهد.

ابرپارامترها و هزینه‌ی محاسباتی

ابرپارامترها (ℓ\ell، σf\sigma_f، σn\sigma_n) را معمولاً با بیشینه کردن لگ‌درست‌نمایی حاشیه‌ای تنظیم می‌کنیم:

log⁡p(y∣X)=−12 y⊤Ky−1y  −  12log⁡∣Ky∣  −  n2log⁡2π\log p(y \mid X) = -\tfrac12\, y^\top K_y^{-1} y\; -\; \tfrac12 \log |K_y|\; -\; \tfrac n2 \log 2\pi
  • جمله‌ی اول برازش داده را می‌سنجد.
  • جمله‌ی دوم پیچیدگی مدل را جریمه می‌کند.

این دو جمله با هم یک «تیغ اوکام» خودکار می‌سازند و جلوی انتخاب ℓ\ell خیلی کوچک را می‌گیرند.

هزینه: وارون کردن (در عمل تجزیه‌ی چولسکی) ماتریس n×nn \times n زمان O(n3)O(n^3) و حافظه‌ی O(n2)O(n^2) می‌خواهد. برای همین GP دقیق برای چند ده هزار نقطه به بالا سنگین است و از تقریب‌هایی مثل نقاط القایی (Inducing Points) استفاده می‌شود.

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