مقدمة عن خوارزمية آلة المتّجه الداعم Support Vector Machine

Support Vector Machine
SVM

المقدمة 

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

نقطة ضعف خوارزمية التصنيف الثنائي Binary Classification 

بفرض لدينا الشكل البياني التالي:

الشكل 1: خط قرار يفصل البيانات بشكل جيد.

نلاحظ أن خط القرار الذي أوجدته خوارزمية  التصنيف الثنائي   جيد في عملية التصنيف بين النقاط الخضراء والحمراء ولكنه غير مثالي ولتوضيح ذلك سنأخذ الشكل التالي يوضح ما سبق:

الشكل 2: خط قرار جيد ولكنه غير مثالي  في عملية فصل البيانات.

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

تم اقتراح العديد من خوارزميات تعلّم الآلة  لإيجاد خط قرار مثالي في عملية فصل البيانات من أهمها خوارزمية آلة المتجه الداعم SVM.

 

أنواع تعلّم الآلة

التَعلم بإشراف  Supervised Learning

يقصد به تدريب الخوارزمية على بيانات معنونة Labeled أي بيانات الدخل والخرج معاً ومن خلال هذه العملية تبني الخوارزمية علاقة ما بين المدخلات والمخرجات بحيث تُمكّنها من التنبّؤ بمخرجات بيانات جديدة.

التَعلّم  دون إشراف  Unsupervised Learning

يقصد به تدريب الخوارزمية على بيانات غير معنونة Unlabeled أي بيانات الدخل فقط ومن خلال هذه العملية تبني الخوارزمية علاقة ما بين المدخلات بحيث تُمكّنها.

التعلّم المعزز Reinforcement Learning

ويقصد به أن الخوارزمية تتعلّم من تلقاء نفسها ومن أخطائها.

خوارزمية آلة المتجه الداعم   Support Vector Machine

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

ملاحظة : عزيزي القارئ سيتم توضيح ما هو المقصود بأفضل مستوي فائق في الأسفل من التنبؤ بمخرجات لهذه البيانات.

المستوي الفائق Hyperplane

من الممكن أن يكون  المستوي الفائق مُمثل في فضاء ثنائي البعد كما هو مبين في الشكل (3) أي عبارة عن خط مستقيم إذا كان عدد المزايا features  المدخلة 2، أو  في فضاء  ثلاثي البعد (مستوي) كما هو مبين في الشكل (4) إذا كان عدد المزايا المُدخلة 3، أو في فضاء مكون من n  بعد إذا كان عدد المزايا المُدخلة n.

الشكل 3: المستوي الفائق في فضاء ثنائي البعد.
الشكل 4: المستوي الفائق في فضاء ثلاثي البعد.

متجهات الدعم Support Vectors

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

الشكل 5: متجهات الدعم.

الهامش Margin

هو عبارة عن المسافة بين المستوي الفائق وأقرب نقطة من نقاط مجموعة البيانات كما هو موضح بالشكل (6)  بحيث كلما كانت هذه المسافة كبيرة كلما زادت احتمالية تصنيف بيانات جديدة بشكلٍ صحيح  كما هو واضح في الشكل (7)، فنلاحظ أن المستوى الفائق B هو أفضل من المستوي الفائق A  وذلك لأن المسافة بينه وبين أي نقطة من نقاط متجهات الدعم أكبر ما يمكن وهذا مايتيح إمكانية تصنيف أكبر عدد من النقاط بشكل صحيح.  بالتالي تكمن اهمية الهامش في الحصول على الموضع الأفضل للمستوي الفائق، وهذا ماكُنا نقصده في الأعلى بعبارة المستوي الفائق الأفضل .أصبحت الأمور أكثر وضوحاً !

الشكل 6 : الهوامش.
الشكل 7 : تقييم واختيار المستوى الفائق الأفضل.

الفرق بين الهامش  المرن Soft Margin  والهامش الصلب  Hard Margin

في الهامش الصلب تكون مجموعة البيانات قابلة للفصل خطياً أي نقاط البيانات غير متداخلة مع بعضها البعض كما في الشكل (8) أما في الهامش المرن تحتوي مجموعة البيانات على بعض النقاط  القليلة التي تمنع عملية الفصل الخطي . في هذه الحالة يتم السماح لهذه النقاط أن يتم تصنيفها بشكل خاطئ سواء كانت ضمن منطقة الهامش أو خارجه بالتالي يتم اضافة معامل يعبر عن نسبة الخطأ في كل نقطة من نقاط التدريب سواء كانت مُصنفة بشكل صحيح أم خاطئ .

الشكل 8: هامش صلب.
الشكل 9 : هامش مرن.

أنواع متجهات دعم الآلة

آلة المتجه الداعم الخطي Linear SVM

عبارة عن مصنف classifier  يتم إستخدامه لفصل البيانات التي تتميز أنها قابلة للفصل خطياً   كما في الشكل (10 ) بواسطة مستوي   فائق   يعبر عن مستقيم  مهمته فصل مجموعة البيانات إلى مجموعتين.

الشكل 10 :مجموعة بيانات قابلة للفصل الخَطي.

 يدعى هذا المُصنف ب  Linear SVM Classifier أي مصنف  آلة المتجه الداعم الخطي .ومبدأ عمله ينص على إيجاد القيم المثالية لمعادلة الخط المستقيم التي تفصل هذه البيانات بأفضل شكل ممكن كما في الشكل (11)  أي بأكبر مسافة للهامش  ما بين أي نقطة من نقاط متجهات الدعم والمستوي الفائق.

الشكل 11 :فصل مجموعة البيانات بواسطة خط مستقيم.

آلة المتجه الداعم غير الخطي   Non Linear SVM  

   عبارة عن مصنف يتم استخدامه لفصل البيانات التي تتميز أنها غير قابلة للفصل خطياً بواسطة مستقيم كما في الشكل (12 ) ويدعى هذا المُصنف  Non Linear SVM Classifier أي مصنف آلة المتجه الداعم  غير الخطي. 

الشكل 12 : مجموعة بيانات غير قابلة للفصل الخَطي.

مبدأ عمله ينص على تحويل مجموعة البيانات التي لدينا من فضائها الحالي أي من الفضاء ثنائي البعد إلى فضاء أعلى، حيث يمكننا فصل البيانات وتمييزها. بالتالي  تبدأ الخوارزمية بشكل آلي بتجريب إضافة بعد ثالث للبيانات  وليكن Z كاحتمال أول وبعدها تختبر مجموعة البيانات الممثلة في فضاء ثلاثي الأبعاد X,Y,Z هل أصبحت قابلة للفصل أم لا ؟   إذا تحقق الشرط عندها تبحث الخوارزمية على المستوي الفائق المناسب أكثر لعملية الفصل ربما مستوي ثلاثي الأبعاد  أو مُجسم معين، وإذا لم  يتحقق الشرط يتم إضافة بعد رابع وليكن M كاحتمال ثاني وليكن M وبعدها تختبر مجموعة البيانات الممثلة في فضاء رباعي الأبعاد  X,Y,Z,M   هل أصبحت قابلة للفصل أم لا  وهكذا … تستمر الخوارزمية بإضافة أبعاد حتى تصل لمرحلة تُصبح بها البيانات قابلة للفصل  وهذه الطريقة تسمى طريقة النواة Kernel Method.

نبدأ بتجريب احتمال إضافة بعد ثالث، ولكن السؤال المهم ماهي معادلته؟ بالملاحظة  لدينا مجموعة البيانات  في الشكل (12) المستوي الفائق الأفضل لفصلها هو دائرة  بالتالي تكون معادلة البعد الثالث كالتالي:

توضيح بسيط :عزيزي القارئ عملية اضافة بعد ثالث يقصد بها إضافة ميزة ثالثة للبيانات  أي على سبيل المثال لو كان من الصعب التفريق بين الطلاب بإستخدام خاصية العمر والطول، عندها نضيف ميزة الوزن كصفة ثالثة للتفريق. بالتالي أصبحت مجموعة البيانات – بعد إضافة بعد ثالث – قابلة للفصل بواسطة مستوي فائق يُعبر عن مستوي ثلاثي البعد كما في الشكل (13 ).

الشكل 13 : فصل مجموعة البيانات بواسطة مستوي.

بالملاحظة لدينا المعادلة (1)  عندما تكون  Z=1   تمثل معادلة دائرة نصف قُطرها واحد بالتالي إذا قُمنا بتحويل مجموعة البيانات من فضاء ثلاثي البعد إلى فضاء ثنائي البعد أي التخلص من البعد الثالث Z من خلال إعطائه القيمة واحد سنحصل على دائرة جميع  نقاط البيانات المحتواة داخلها تنتمي إلى صنف النقاط الخضراء. و النقاط المتبقية الواقعة خارجها تنتمي إلى صنف النقاط الحمراء كما في الشكل ( 14).

الشكل 14 : فصل مجموعة البيانات بواسطة دائرة في فضاء ثنائي الأبعاد.

إيجابيات وسلبيات  خوارزمية آلة المتجه الداعم SVM

الإيجابيات

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

السلبيات

لا تعمل بشكل جيد للغاية عندما يكون لدينا مجموعة بيانات كبيرة لأن المُدة الزمنية  اللازمة لتدريبها عالية.
لا تعمل بشكل جيد للغاية عندما تكون مجموعة البيانات تحوي أخطاء كثيرة  , سواء كانت ضجيج noise أثناء جمع البيانات أو متداخلة بشكل كامل كما في الشكل (15 ).

الشكل 15 : مجموعة بيانات متداخلة بشكل كامل.

استخدامات خوارزمية آلة المتجه الداعم SVM 

تُستخدم هذه الخوارزمية في تطبيقات تصنيف وتجزئة الصور Image Classification and Segmentation، تصنيف النصوص Category Assignment، مُصنّف في تطبيقات معالجة اللغات الطبيعية NLP، تصنيف البريد الإلكتروني فيما إذا كان مزيف Spam Email  أو حقيقي Ham Email، كذلك تحليل الآراء Sentiment Analysis، وغيرها. كما تُستخدم في التطبيقات البيولوجية وغيرها من العلوم. والتطبيق الأشهر استخدامها في التعرف على الأرقام المكتوبة بخط اليد في نظام البريد Postal Automation Services.

الخاتمة

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

المصادر

1- Understanding Support Vector Machine

2- Support Vector Machines: A Simple Explanation

3- Support Vector Machine — Introduction to Machine Learning Algorithms

4- What is the Support Vector Machine Algorithm

5- advantages and disadvantages of Support Vector Machine or SVM

الكاتب

  • محمّد ذويب

    طالب بكالوريوس في الهندسة المعلوماتية في جامعة تشرين اختصاص ذكاء اصطناعي يهتم بمجالات تعلّم الآلة, التعلّم العميق, الرؤية الحاسوبيّة

0 Shares:
3 تعليقات
اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

You May Also Like