يجمع Kernel Ridge بين تنظيم L2 وحيلة النواة؛ يستخدم خطأً تربيعيًا، فيتعلم دالة في الفضاء الذي تحدده النواة. [1]
الخلاصة السريعة
يعتمد التنبؤ في مثالنا على حاصل ضرب صف نواة الحالة الجديدة بأوزان أمثلة التدريب. الأرقام الصحيحة لا تكفي إذا بدّلنا هوية الأعمدة أثناء القراءة.
- أوزان هذا التمثيل مرتبطة بأمثلة التدريب، لا معاملات الخصائص الأصلية؛ هدف Kernel Ridge خطأ تربيعي مع تنظيم L2. [1] [2]
- في المصفوفة المفترضة ومع alpha=0.5 وبلا أوزان عينات إضافية، نحصل على الوزنين 0.75 و 1.75 بحل المعادلتين، لا بتشغيل نموذج.
- صف النواة [0.75، 0.25] يعطي التنبؤ 1 مع ثبات ترتيب مثالي التدريب؛ عكس ارتباط العمودين يعطي 1.5 في حساب مختلف.
- التنبؤان التدريبيان 1.625 و 2.125 لا يساويان الهدفين 2 و 3 في هذا المثال المنتظم؛ لا نستنتج جودة الحالات الجديدة.
الأوزان مرتبطة بالأمثلة داخل النواة
حين نقدم نواة محسوبة مسبقًا، يتوقع KernelRidge عند التنبؤ مصفوفة بأعمدة تقابل أمثلة الملاءمة، وينفذ حاصل ضربها في dual_coef_. [2]
هذا يختلف عن تفسير كل وزن بوصفه معامل خاصية أصلية. هنا سنسمي الوزن الأول وزن المثال الأول، والثاني وزن المثال الثاني. وقد يكون كل مثال قد دخل حساب النواة بخصائص عديدة لا نعرضها في جدولنا.
نختار مصفوفة صغيرة صالحة للحساب، ولا ندعي أنها خرجت من تطبيق على بيانات فعلية. نتتبع علاقة الأرقام بالأمثلة لنرى أين يمكن أن يخطئ تفسير صف صحيح الشكل.
حل حالتين مع تنظيم معلوم
نفترض K بصفين [1، 0.5] و[0.5، 1]، والهدفين y=[2، 3]، وalpha=0.5، بلا أوزان عينات إضافية. في الحل تضيف الخوارزمية alpha إلى قطر K ثم تحل النظام مقابل y. [3]
إذن النظام هو 1.5a₁+0.5a₂=2، و 0.5a₁+1.5a₂=3. حله a₁=0.75 وa₂=1.75: المعادلة الأولى تعطي 1.125+0.875=2، والثانية 0.375+2.625=3.
تحقق التعويض يثبت حل هاتين المعادلتين. لم ننفذ الملاءمة برمجيًا، ولم نختبر اختيار النواة أو قيمة التنظيم؛ كلاهما مثبت لتوضيح حساب الأوزان فقط.
صف جديد: أرقام قليلة وهويات لازمة
نعطي الحالة الجديدة صف نواة [0.75، 0.25] بهذا الترتيب: القيمة الأولى علاقتها بالمثال الأول، والثانية علاقتها بالمثال الثاني. التنبؤ الحسابي 0.75×0.75+0.25×1.75=1.
إذا قرأ شخص العمود الأول بوصفه المثال الثاني والثاني بوصفه الأول، فسوف يحسب 0.25×0.75+0.75×1.75=1.5. الفرق هنا نتيجة تبديل ارتباط القيم بالأوزان، لا فشل ضرب الأعداد نفسه.
أما إذا أعدنا ترتيب المثالين وأوزانهما وأعمدة النواة معًا بصورة متسقة، فلن يتغير المجموع. المطلوب حفظ الارتباط، لا تقديس موضع العمود. نسجل لذلك اسم أو رقم مثال التدريب مع كل عمود في هذا المثال المصغر.
هل ينسخ النموذج هدفي التدريب؟
نضرب صف التدريب الأول [1، 0.5] في الوزنين، فنحصل على 0.75+0.875=1.625. والصف الثاني [0.5، 1] يعطي 0.375+1.75=2.125.
هذان الناتجان لا يساويان 2 و 3 اللذين حللنا النظام على أساسهما. ليس تناقضًا في الحساب: حللنا نظام K بعد إضافة 0.5 إلى قطرها، بينما التنبؤ يستعمل صفوف K الأصلية.
لا نحول عدم التطابق في هذا المثال إلى حكم أن التنظيم جيد أو سيئ. لا توجد حالات اختبار هنا. قيمة الحساب أنه يفصل هدف التدريب، ومعادلة إيجاد الأوزان، وصف النواة المستخدم للتنبؤ، ويكشف خطأ ترتيب الأعمدة قبل نسبته إلى أداء النموذج.
المصادر ومتابعة القراءة
- scikit-learn: KernelRidge (يفتح في نافذة جديدة)scikit-learn.org
- scikit-learn: تنفيذ KernelRidge (يفتح في نافذة جديدة)raw.githubusercontent.com
- scikit-learn: حل النواة في _ridge (يفتح في نافذة جديدة)raw.githubusercontent.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
