راه
۶ کیو· متوسطمتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

کرنل‌های چندجمله‌ای و شعاعی

تابع kernels(X, Z, d, gamma) دو ماتریس کرنل بین ردیف‌های XX (شکل n×pn \times p) و ردیف‌های ZZ (شکل m×pm \times p) می‌سازد:

Kpoly(x,z)=(1+x⊤z)dKrbf(x,z)=exp⁡(−γ∥x−z∥2)K_{\text{poly}}(x, z) = \big(1 + x^\top z\big)^d \qquad K_{\text{rbf}}(x, z) = \exp\big(-\gamma\lVert x - z\rVert^2\big)

هر کدام ماتریسی n×mn \times m است که عضو (i,k)(i, k) آن کرنل ردیف ii از XX و ردیف kk از ZZ است. خروجی، هر دو با هم: [K_poly, K_rbf] (آرایه‌ای به شکل 2×n×m2 \times n \times m).

برای فاصله‌ها بدون حلقه، X[:, None, :] - Z[None, :, :] آرایه‌ای n×m×pn \times m \times p از تفاضل‌ها می‌دهد.

نمونه‌ها

ورودی نمونه ۱
[[[1.0, 0.0], [0.0, 1.0]], [[1.0, 1.0]], 2, 0.5]
خروجی نمونه ۱
[[[4.0], [4.0]], [[0.6065], [0.6065]]]
ورودی نمونه ۲
[[[1.0, 2.0], [0.5, -1.0], [2.0, 0.0]], [[0.0, 0.0], [1.0, 1.0]], 3, 1.0]
خروجی نمونه ۲
[[[1.0, 64.0], [1.0, 0.125], [1.0, 27.0]], [[0.0067, 0.3679], [0.2865, 0.0143], [0.0183, 0.1353]]]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود