قِس هامشًا، وراقبه يتّسع كلّما خفّفتَ C، وتحقّق من أيّ النقاط متجهات داعمة، ثم دَع نواةً تفصل حلقةً في المِنصّة — وتوقَّع، قبل أن تقرأ من اللوحات، عرضَ الهامش 2 / ||w|| لمجموعة النقطتين المدرسية، وقيمته عند C صغيرة، وهل نقطةٌ داخلية عميقة متجهٌ داعم، والدقة التي تبلغها نواة RBF على حلقات متمركزة.
تختار آلة المتجهات الداعمة، من بين الخطوط اللانهائية التي تفصل فئتين، الخطَّ الذي يترك أوسع ممرّ فارغ — وعرضه 2 / ||w||، فتعظيم الهامش يعني تصغير ||w||. ولا تُشكّل الحدَّ إلا النقاط الملامِسة لحافة الممرّ، وهي المتجهات الداعمة؛ وكلُّ ما هو أعمق داخلها له متغيّر ثنوي alpha = 0. ويقايض المعامل C عرضَ الهامش بأخطاء التدريب، وحيلة النواة تجعل ذلك الممرّ ينحني — فنواة RBF تلفّ حلقةً لا يفصلها خطٌّ مستقيم أبدًا.
افتح المِنصّة. الخطوات 1–3 حساباتٌ يدوية على مجموعات نقاطٍ مدرسية يؤكّدها حلّال العرض نفسه — قراءةُ الهامش والمتجهات الداعمة المُبرَزة. أمّا الخطوة 4 فتضبطها مباشرةً: اجعل مجموعة البيانات circle وقارِن نواتَي linear وRBF في لوحة الدقة.
Dataset -> linear Kernel -> linear C -> 1
For step 4 -> Dataset: circle then flip Kernel: linear vs RBF
تعرض اللوحة عرضَ الهامش 2 / ||w||، وتُحيط المتجهات الداعمة بدوائر، وتُظهر accuracy التدريب. أمّا الحدُّ نفسه فيُرسَم بتقييم دالة القرار على شبكة، لا بالملاءمة بالنظر.
خذ الزوج المدرسي: (-1, 0) في فئة و(1, 0) في الأخرى. أوسع ممرٍّ هو الخطّ الرأسي x = 0، فيكون w = (1, 0)، ومن ثمّ الهامش 2 / ||w||. توقَّع عرض الهامش، ثم تأكّد منه في قراءة العرض.
margin = 2 / ||w|| = 2 / 1 = 2. النقطتان على بُعد وحدةٍ من كلِّ جانب من الحدّ، فيمتدّ الممرّ الفارغ عبر الوحدتين كاملتين بينهما — أكبر فجوة يمكن لأيّ خطٍّ فاصل أن يتركها.
الآن اخفِض C إلى 0.1 على النقطتين نفسيهما. C الصغيرة تكفّ عن دفع الكثير مقابل انتهاكات الهامش، فتُحدَّد الأوزان الثنوية عند C ويصير ||w|| = 2C، ممّا يجعل الهامش 1 / C. توقَّع الهامش عند C = 0.1، ثم اسحب المِزلاق للأسفل وراقبه ينمو.
margin = 1 / C = 1 / 0.1 = 10 — خمسة أضعاف عرض الهامش الصلب البالغ 2. C الأصغر تشتري ممرًّا أوسع وأكثر تسامحًا؛ تلك هي مقايضة الهامش المرن كلُّها في مِزلاقٍ واحد.
أضِف نقطةً ثالثة عميقًا داخل فئتها، عند (5, 0) في فئة +1، إلى مجموعة النقطتين. لا تُشكّل الحدَّ إلا النقاط على حافة الممرّ، فينبغي ألّا تحمل هذه أيَّ وزن. توقَّع متغيّرها الثنوي alpha، ثم انظر أيّ النقاط يُحيطها العرض كمتجهات داعمة.
alpha = 0 (حتى الدقة العددية). النقطة عند (5, 0) بعيدةٌ عن الممرّ، فتحريكها لا يزحزح الحدَّ إطلاقًا — والنقطتان على الهامش وحدهما متجهان داعمان.
اجعل مجموعة البيانات circle — فئةٌ داخل حلقةٍ من الأخرى — ولائم نواة linear أولًا: لا خطَّ مستقيمًا يُحيط بالكتلة الداخلية، فتتوقّف الدقة قرب 0.66. الآن بدِّل النواة إلى RBF. توقَّع دقة تدريبها، ثم اقرأ اللوحة.
تبلغ نواة RBF دقة تدريبٍ قدرها 1 — تفصل الحلقة فصلًا تامًّا، حيث علقت النواة الخطية قرب 0.66. تلك الفجوة هي حيلة النواة: التعيين إلى فضاء ميزاتٍ منحنٍ يجعل الفئتين قابلتين للفصل خطيًّا هناك، دون هندسة ميزةٍ واحدة جديدة يدويًّا.
كل ما سبق ينتظرك في المِنصّة. اسحب C عبر مداه وراقب الهامش يتنفّس، وحرِّك نقطةً داخل الممرّ وخارجه لترى المتجهات الداعمة تظهر وتختفي، وبدِّل مجموعات البيانات والنوى لتجد أين يفشل الخطّ المستقيم وتُنقذه نواة RBF.
- قِستَ هامش النقطتين 2 / ||w|| = 2، أوسع ممرٍّ يتركه خطّ
- خفّضتَ C إلى 0.1 وراقبتَ الهامش يتّسع إلى 1 / C = 10 — مقايضة الهامش المرن
- أكّدتَ أنّ نقطةً داخلية عميقة لها alpha = 0 — ليست متجهًا داعمًا
- رأيتَ نواة RBF تبلغ دقة 1 على حلقةٍ لم يستطع الخطّ الخطّي فصلها — حيلة النواة
- كل قيمة توقّعتها هي حساب الهامش والنواة الخاص بالعرض نفسه، لا صورة تقريبية