رفتن به محتوای اصلی
بازگشت به وبلاگ

راهنماهای هوش مصنوعی

Kernel Trick چیست؟ نگاشتِ ویژگی و ضربِ داخلیِ معادل

نگاشتِ چندجمله‌ایِ دوورودی و Gram را حساب کنید؛ مقیاسِ جملهٔ میانی، مثبت‌نیمه‌معین‌بودن و شباهتِ یک query با دو روش کنترل می‌شوند.

Kernel Trick اجازه می‌دهد یک ضربِ داخلی در فضایِ ویژگیِ تبدیل‌شده را با تابعی از ورودی‌هایِ اصلی حساب کنیم. برایِ فهمِ رابطه، اینجا عمداً نگاشتِ کوچک را هم صریح می‌سازیم و خانه‌به‌خانه با کرنل مقایسه می‌کنیم. مثال، آموزشِ SVMیا برازشِ مدل نیست؛ قراردادِ ریاضیِ مقایسهٔ ویژگی‌ها را کنترل می‌کند.

کرنلِ دقیقِ این صفحه کدام است؟

ورودی دو مختصات دارد و k(x,z)=(xᵀz)²است: درجهٔ۲، ضریبِγبرابرِ۱و جملهٔ ثابتِصفر. نامِ «کرنلِچندجمله‌ای» بدونِاین پارامترها کافی نیست. درAPIممکن است پیش‌فرضِمقیاس متفاوت باشد؛ ما scikit-learnرا اجرا نکرده‌ایم و ازپارامترهایِپیش‌فرضِآن نتیجه نمی‌گیریم.

برایِ x=(a,b)، نگاشتِ دقیقِچهارمولفه‌ایِ φ₄(x)=(a²،ab،ba،b²)را می‌گیریم. دو جملهٔ میانی عددِ یکسان دارند، اما هر دو در ضربِ داخلی سهم دارند؛ این نگاشتِبیش‌کامل را برایِحفظِحسابِکسری انتخاب کرده‌ایم. ضربِدو نگاشت برابرِa²c²+۲abcd+b²d²=(ac+bd)²است.

سه ورودی و یک ماتریسِ Gram

سه ورودیِ آموزشی x₁=(۱،۲)، x₂=(۳،−۱) وx₃=(۰،۱)هستند. نگاشت‌هایِچهارمولفه‌ای به‌ترتیب[۱،۲،۲،۴]، [۹،−۳،−۳،۱] و[۰،۰،۰،۱]می‌شوند. Gramمقایسهٔتمامِجفتِورودی‌هاست؛ سطر و ستون هر دو به همان ترتیبِنمونه‌ها اشاره دارند.

نمونهx₁x₂x₃
x₁۲۵۱۴
x₂۱۱۰۰۱
x₃۴۱۱

برایِخانهٔ x₁باx₂، ضربِورودی‌هایِاصلی۱×۳+۲×(−۱)=۱و مربعش۱است. درفضایِتبدیل‌شده هم۱×۹+۲×(−۳)+۲×(−۳)+۴×۱=۱می‌شود. برنامه تمامِنه خانه را به دو روش می‌سازد و برابریِدقیق را بررسی می‌کند؛ جدول ازیک مسیرِمحاسبه کپی نشده است.

جملهٔ برهم‌کنش را بی‌مقیاس حذف نکنیم

می‌توان ازنگاشتِسه‌مولفه‌ایِ φ₃(x)=(a²،√۲ab،b²)هم استفاده کرد. ضریبِ√۲ باعث می‌شود سهمِمیانی درضربِدو نگاشت،۲abcdباشد. کد این نسخه را باfloatو آستانهٔ۱۰به‌توانِ−۱۲کنترل می‌کند؛ ولی محاسبهٔاصلیِچهارمولفه‌ای همچنان Fractionدقیق است.

اگر اشتباهاً[a²،ab،b²]را نگه داریم، درهمان جفتِ x₁وx₂عدد۷می‌گیریم، نه۱. برنامه این اختلاف را واقعاً حساب می‌کند. «تعدادِستون کمتر شد» مجوزِتغییرِمقیاس ونامیدنِآن به‌عنوانِهمان کرنل نیست. نگاشت‌هایِدیگر می‌توانند معتبر باشند، اما باید رابطهٔخودشان را دقیق تعریف کنند.

مثبت‌نیمه‌معین یعنی چه؟

اگر ماتریسِ Φسطرهایِنگاشت‌شده را داشته باشد، K=ΦΦᵀاست. برایِهر بردارِضرایبِc، داریم cᵀKc=(Φᵀc)ᵀ(Φᵀc)=‖Φᵀc‖²≥۰. این رابطه دلیلِمثبت‌نیمه‌معین‌بودنِGramِاین نگاشت برایِهر مجموعهٔورودی است؛ فقط آزمودنِچند cچنین اثباتی نمی‌ساخت.

برایِیک کنترلِعدددار، c=(۱،−۱،۲)را می‌گذاریم. ترکیبِویژگی‌ها[−۸،۵،۵،۵]و مجموعِمربعش۱۳۹است؛ محاسبهٔ cᵀKcهم۱۳۹می‌شود. مثبت‌نیمه‌معین را با مثبت‌معین یا وارون‌پذیریِهمهٔGramها یکی نگیرید؛ ورودی‌هایِتکراری یا وابستگیِویژگی می‌تواند دستگاه را تکین کند.

پرسشِ تازه را با نمونه‌هایِ آموزش مقایسه کنیم

برایِ q=(۲،۱)، کرنل با سه ورودی به‌ترتیب۱۶،۲۵،۱می‌شود. همان سه مقدار با φ₄(q)و سطرهایِΦنیز به دست می‌آیند. این‌ها شباهتِکرنلی‌اند، نه احتمالِکلاس؛ مقدارِ۲۵نباید به۲۵درصدِاطمینان تبدیل شود. هیچ برچسبِکلاس یا وزنِمدلی دراین فایل نداریم.

درکارِواقعی، انتخابِکرنل و پارامتر به داده و ارزیابیِمستقل نیاز دارد. محاسبهٔکرنل ممکن است نیاز به نوشتنِویژگیِتبدیل‌شده را حذف کند، اما ماتریسِجفت‌ها هم می‌تواند بزرگ شود؛ «هیچ حافظه‌ای لازم نیست» نتیجهٔدرستی نیست. این تمرین سرعت، حافظه یا دقتِمدل را اندازه نگرفته است.

پیش‌نیاز و مسیرِادامه

مثالِ SVMو حاشیه هندسهٔمرزِخطی را دارد؛ اینجا نگاشت و ضربِداخلیِمعادل موضوع بود. رگرسیونِچندجمله‌ای ضرایبِیک پایه را برازش می‌دهد؛ این صفحه آن برازش را تکرار نکرده است. کدِحاضر فقط دو مختصاتِکسری می‌پذیرد و بعدِغلط وboolرا واقعاً رد می‌کند. برایِنیازِپاسخ‌گوییِمشتری، خروجی وشاهدِپذیرش را در راهکارهایِاپرا روشن کنید؛ این مثال فناوریِداخلیِمحصول را اعلام نمی‌کند.

فایل تمرین و منبع

نگاشتِ صریح، Gram، جملهٔ برهم‌کنش و query؛ Python · دو Gramِ برابر و خطایِ واقعیِ مقیاسِ جملهٔ میانی

منابع در 2026-11-04 خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثال‌ها و فایل‌های این راهنما آموزشی و ساختهٔ تحریریه‌اند.

برای این نیاز، کدام خدمت مناسب‌تر است؟

تماس و منشی، چت سایت و تحلیل مکالمه سه مسیر متفاوت‌اند. ابتدا خدمت متناسب نیازتان را انتخاب کنید.

انتخاب میان سه خدمتراهنمای شروع با تیم اپرا

برآورد هزینه