الأخبار

ما هي آلة متجه الدعم (SVM)؟

آلة المتجه الداعمة (SVM) support vector machine هي نوع من خوارزمية التعلم الآلي (machine learning algorithm) التي يمكن استخدامها لمهام التصنيف والانحدار. يعتمدون على خوارزميات ML الأساسية ويضيفون ميزات تجعلهم أكثر كفاءة في المهام المختلفة.

يمكن استخدام آلات المتجهات الداعمة في مجموعة متنوعة من المهام، بما في ذلك الكشف عن الانحرافات والتعرف على خط اليد وتصنيف النص. نظرًا لمرونتها وأدائها العالي وكفاءتها الحوسبية، فقد أصبحت SVM الدعامة الأساسية للتعلم الآلي وإضافة مهمة إلى مجموعة أدوات مهندس ML.

متجهات الدعم (Support vectors)
تعد آلات متجهات الدعم من بين خوارزميات التعلم الآلي الخاضعة للإشراف، مما يعني أنها بحاجة إلى التدريب على البيانات المصنفة. لفهم آلات المتجهات الداعمة، ضع في اعتبارك مجموعة البيانات التالية، المكونة من مجموعة من النقاط من فئتين مختلفتين (الأصفر والأزرق).
يمكن أن يتعلم نموذج التعلم الآلي كيفية تصنيف النقاط إلى فئتين من خلال الفصل الخطي. ومع ذلك، يمكنك إنشاء العديد من نماذج ML المختلفة للفصل بين الفئتين، وليست جميعها ذات قيمة متساوية.
على سبيل المثال، إذا قمت برسم الخط قريبًا جدًا من إحدى الفئات، فسيصبح نموذجك حساسًا للانحرافات الصغيرة عن القاعدة في تلك الفئة. لذلك، إذا كانت نقطة جديدة بعيدة قليلاً عن الكتلة المستخدمة أثناء التدريب، فإن نموذج ML سوف يخطئ في تصنيفها.
تستخدم SVMs "متجهات الدعم" لإيجاد الحلول المثلى لمشاكل التصنيف. نواقل الدعم (الخطوط المتقطعة في الشكل أدناه) على مسافة متساوية من خط التصنيف الرئيسي (الخط الصلب). من خلال وضع متجهات الدعم على مثيلات الحافة لكل فئة، يقوم SVM بإنشاء نموذج ML يكون قويًا للبيانات غير المرئية التي لا تتناسب بشكل وثيق مع أمثلة التدريب.
هوامش صلبة ومرنة
يمكن أن تحتوي SVMs على هوامش صلبة ومرنة. إذا كنت تفكر كمتجهات دعم وخط التصنيف الرئيسي كشارع، فإن الهامش الثابت SVM سيحاول وضع جميع الأمثلة خارج أو على حافة الشارع. هذه ليست استراتيجية سيئة إذا تم تقسيم حالات كل الفئات إلى مجموعات مرتبة.

ولكن إذا كانت البيانات تحتوي على قيم متطرفة، فسيقوم جهاز SVM برسم حدود سيئة. وإذا كان هناك تداخل بين الفئات، فلن يعمل SVM بهامش كبير على الإطلاق.
لمعالجة هذه المشاكل، تدعم SVMs "الهوامش المرنة"، وهي معلمة تشعبية يمكن ضبطها قبل تدريب النموذج. تسمح الهوامش المرنة لعدد من المثيلات بانتهاك حدود متجه الدعم لاختيار خط تصنيف أفضل. كلما انخفض رقم الهامش الناعم (عادةً ما يتم تحديده بالحرف اليوناني zeta أو "C" في مكتبات البرمجة)، زادت انتهاكات الحدود التي يسمح بها النموذج وأصبح شارع SVM أوسع. سيضمن اختيار قيمة الهامش الناعم الصحيحة أن يكون لـ SVM التوازن الصحيح بين الحدود النظيفة وقابلية التعميم. في المثال أدناه، على الرغم من سوء تصنيف أحد العناصر الخارجة في بيانات التدريب، إلا أن الهامش الناعم أدى إلى سطر تصنيف أفضل.
Kernel tricks

في بعض مجموعات البيانات، لا تكون الفئات "قابلة للفصل خطيًا linearly separable"، مما يعني أنه لا يمكن فصلها بخط مستقيم. في مثل هذه الحالات، يستخدم مهندسو التعلم الآلي "Kernel tricks"، وهي تحويلات رياضية يمكن أن تجعل البيانات قابلة للفصل خطيًا.

في Kernel tricks الشائعة، توجد "نواة متعددة الحدود polynomial kernel"، والتي تضيف المزيد من الأبعاد إلى مجموعة البيانات لجعلها قابلة للفصل خطيًا. على سبيل المثال، في الشكل الأيسر أدناه، تتخلل الفئات في مجموعة البيانات في خط مستقيم. من خلال إضافة بُعد إضافي إلى مجموعة البيانات (على سبيل المثال، x ^ 2)، يمكننا إعادة ترتيب نقاط البيانات بطريقة تجعلها قابلة للفصل خطيًا (الشكل الأيمن).
وبالمثل، يمكن تطبيق نواة متعددة الحدود على مجموعات البيانات الأخرى حيث تكون الحدود بين الفئات أكثر تعقيدًا. على سبيل المثال، تم إنشاء مجموعة البيانات أدناه باستخدام وظيفة make_moons () الخاصة بمكتبة التعلم الآلي في Python's Scikit-Learn. من الواضح أن الفئتين لا يمكن فصلهما خطيًا. ولكن يمكن لـ SVM مع نواة متعددة الحدود من الدرجة الثالثة أن تفصل بوضوح بين الفئتين بحدود مرنة (الشكل الأيمن).
نواة شائعة أخرى هي نواة Gaussian RBF، والتي تستخدم وظيفة الأساس الشعاعي لقياس المسافة بين نقاط البيانات المختلفة وجعل الفئات قابلة للفصل خطيًا. يأتي SVM مع العديد من Kernel tricks الأخرى التي يمكن استخدامها لتطبيقات مختلفة.
تطبيقات آلات متجهات الدعم

على الرغم من ظهور خوارزميات التعلم الآلي الأكثر تقدمًا مثل الشبكات العصبية العميقة، إلا أن آلات متجهات الدعم تظل شائعة بسبب وقت التدريب السريع، ومتطلبات الحوسبة المنخفضة، والقدرة على التعلم بأمثلة تدريب أقل.

بالنسبة لبعض مهام رؤية الكمبيوتر، يمكن أن تعمل أجهزة SVM بدقة تنافس الشبكات العصبية بجزء بسيط من التكاليف الحسابية. أحد التطبيقات الشائعة هو اكتشاف الوجه، حيث يرسم نموذج SVM مربعًا محيطًا حول الوجوه في الصور أو خلاصات الفيديو. هذه النماذج خفيفة الوزن ويمكن غالبًا نشرها مباشرة على الكاميرات ذات سعة الحوسبة الصغيرة لتجنب إرسال البيانات ومعالجتها في السحابة. يمكن أيضًا استخدام SVMs لتصنيف الصور والتعرف على خط اليد.

يمكن أيضًا استخدام SVMs لبعض تطبيقات معالجة اللغة الطبيعية (NLP) natural language processing مثل تصنيف الموضوع والهدف واكتشاف البريد العشوائي وتحليل المشاعر. بعد تحويلها إلى قيم عددية من خلال تقنيات مثل حقيبة الكلمات، يمكن استخدام البيانات النصية لتدريب آلات متجهات الدعم للمهمة المستهدفة.

تعد آلات المتجهات الداعمة أداة قوية يجب على كل مهندس تعلم آلي وضعها في الاعتبار عند معالجة مشكلة جديدة.