المحتويات
- المقدمة
- نقطة ضعف خوارزمية التصنيف الثنائي Binary Classification
- أنواع تعلّم الآلة
- خوارزمية آلة المتجه الداعم Support Vector Machine
- المستوي الفائق Hyperplane
- متجهات الدعم Support Vectors
- الهامش Margin
- الفرق بين الهامش المرن Soft Margin والهامش الصلب Hard Margin
- أنواع متجهات دعم الآلة
- إيجابيات وسلبيات خوارزمية آلة المتجه الداعم SVM
- الإيجابيات
- السلبيات
- استخدامات خوارزمية آلة المتجه الداعم SVM
- الخاتمة
- المصادر
المقدمة
إتقان خوارزميات التعلم الآلي واستخدامها بشكل يتلائم مع طبيعة المشكلة التي لدينا، ليست خرافة على الإطلاق، فكر في خوارزميات التعلم الآلي على أنها مستودع معبأ بالفؤوس والسيوف والسكاكين وبعض الأدوات الأخرى، لكن يجب أن تتعلم كيفية استخدامها في الوقت المناسب مثلاً الإنحدار يُشبه السيف قادر على تشريح البيانات وتقسيمها بكفاءة ولكنه غير قادر على التعامل مع البيانات المُعقدة للغاية، على عكس من ذلك SVM يشبه السكين الحاد فهو يعمل على مجموعة بيانات أصغر، ولكن المُعقدة منها أيضاً في هذا المقال سنقوم بالتَعرف على إحدى الخوارزميات المهمة والمستخدمة بكثرة في السنوات الأخيرة وهي خوارزمية آلة المتجه الداعم Support Vector Machine، وهي إحدى خوارزميات التعلم الآلي المُستخدمة في مهام التصنيف والإنحدار، لكن في الغالب تُستخدم في مهام التصنيف فقط، وتعتمد على فكرة تحويل البيانات الأصلية إلى نمط جديد بشكل يميز البيانات في فضاء أعلى من فضائها الأصلي حيث يمكننا من خلاله فصل البيانات وتصنيفها.
نقطة ضعف خوارزمية التصنيف الثنائي Binary Classification
بفرض لدينا الشكل البياني التالي:
نلاحظ أن خط القرار الذي أوجدته خوارزمية التصنيف الثنائي جيد في عملية التصنيف بين النقاط الخضراء والحمراء ولكنه غير مثالي ولتوضيح ذلك سنأخذ الشكل التالي يوضح ما سبق:
اذا قُمنا سوياً بعملية تحليل للشكل البياني السابق نلاحظ أن النقطة الخضراء 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.
متجهات الدعم Support Vectors
تُعتبر متجهات الدعم هي مجموعة نقاط البيانات الأقرب على المستوي الفائق وهي بمثابة نقاط ذات أهمية كبيرة في عملية تصنيف البيانات لأن من خلالها يتم تحديد المستوي الفائق الأفضل في عملية فصل البيانات، بالتالي إزالتها أو تغيير موقعها يتطلب تحديد مستوى فائق آخر من جديد.
الهامش Margin
هو عبارة عن المسافة بين المستوي الفائق وأقرب نقطة من نقاط مجموعة البيانات كما هو موضح بالشكل (6) بحيث كلما كانت هذه المسافة كبيرة كلما زادت احتمالية تصنيف بيانات جديدة بشكلٍ صحيح كما هو واضح في الشكل (7)، فنلاحظ أن المستوى الفائق B هو أفضل من المستوي الفائق A وذلك لأن المسافة بينه وبين أي نقطة من نقاط متجهات الدعم أكبر ما يمكن وهذا مايتيح إمكانية تصنيف أكبر عدد من النقاط بشكل صحيح. بالتالي تكمن اهمية الهامش في الحصول على الموضع الأفضل للمستوي الفائق، وهذا ماكُنا نقصده في الأعلى بعبارة المستوي الفائق الأفضل .أصبحت الأمور أكثر وضوحاً !
الفرق بين الهامش المرن Soft Margin والهامش الصلب Hard Margin
في الهامش الصلب تكون مجموعة البيانات قابلة للفصل خطياً أي نقاط البيانات غير متداخلة مع بعضها البعض كما في الشكل (8) أما في الهامش المرن تحتوي مجموعة البيانات على بعض النقاط القليلة التي تمنع عملية الفصل الخطي . في هذه الحالة يتم السماح لهذه النقاط أن يتم تصنيفها بشكل خاطئ سواء كانت ضمن منطقة الهامش أو خارجه بالتالي يتم اضافة معامل يعبر عن نسبة الخطأ في كل نقطة من نقاط التدريب سواء كانت مُصنفة بشكل صحيح أم خاطئ .
أنواع متجهات دعم الآلة
آلة المتجه الداعم الخطي Linear SVM
عبارة عن مصنف classifier يتم إستخدامه لفصل البيانات التي تتميز أنها قابلة للفصل خطياً كما في الشكل (10 ) بواسطة مستوي فائق يعبر عن مستقيم مهمته فصل مجموعة البيانات إلى مجموعتين.
يدعى هذا المُصنف ب Linear SVM Classifier أي مصنف آلة المتجه الداعم الخطي .ومبدأ عمله ينص على إيجاد القيم المثالية لمعادلة الخط المستقيم التي تفصل هذه البيانات بأفضل شكل ممكن كما في الشكل (11) أي بأكبر مسافة للهامش ما بين أي نقطة من نقاط متجهات الدعم والمستوي الفائق.
آلة المتجه الداعم غير الخطي Non Linear SVM
عبارة عن مصنف يتم استخدامه لفصل البيانات التي تتميز أنها غير قابلة للفصل خطياً بواسطة مستقيم كما في الشكل (12 ) ويدعى هذا المُصنف Non Linear SVM Classifier أي مصنف آلة المتجه الداعم غير الخطي.
مبدأ عمله ينص على تحويل مجموعة البيانات التي لدينا من فضائها الحالي أي من الفضاء ثنائي البعد إلى فضاء أعلى، حيث يمكننا فصل البيانات وتمييزها. بالتالي تبدأ الخوارزمية بشكل آلي بتجريب إضافة بعد ثالث للبيانات وليكن Z كاحتمال أول وبعدها تختبر مجموعة البيانات الممثلة في فضاء ثلاثي الأبعاد X,Y,Z هل أصبحت قابلة للفصل أم لا ؟ إذا تحقق الشرط عندها تبحث الخوارزمية على المستوي الفائق المناسب أكثر لعملية الفصل ربما مستوي ثلاثي الأبعاد أو مُجسم معين، وإذا لم يتحقق الشرط يتم إضافة بعد رابع وليكن M كاحتمال ثاني وليكن M وبعدها تختبر مجموعة البيانات الممثلة في فضاء رباعي الأبعاد X,Y,Z,M هل أصبحت قابلة للفصل أم لا وهكذا … تستمر الخوارزمية بإضافة أبعاد حتى تصل لمرحلة تُصبح بها البيانات قابلة للفصل وهذه الطريقة تسمى طريقة النواة Kernel Method.
نبدأ بتجريب احتمال إضافة بعد ثالث، ولكن السؤال المهم ماهي معادلته؟ بالملاحظة لدينا مجموعة البيانات في الشكل (12) المستوي الفائق الأفضل لفصلها هو دائرة بالتالي تكون معادلة البعد الثالث كالتالي:
توضيح بسيط :عزيزي القارئ عملية اضافة بعد ثالث يقصد بها إضافة ميزة ثالثة للبيانات أي على سبيل المثال لو كان من الصعب التفريق بين الطلاب بإستخدام خاصية العمر والطول، عندها نضيف ميزة الوزن كصفة ثالثة للتفريق. بالتالي أصبحت مجموعة البيانات – بعد إضافة بعد ثالث – قابلة للفصل بواسطة مستوي فائق يُعبر عن مستوي ثلاثي البعد كما في الشكل (13 ).
بالملاحظة لدينا المعادلة (1) عندما تكون Z=1 تمثل معادلة دائرة نصف قُطرها واحد بالتالي إذا قُمنا بتحويل مجموعة البيانات من فضاء ثلاثي البعد إلى فضاء ثنائي البعد أي التخلص من البعد الثالث Z من خلال إعطائه القيمة واحد سنحصل على دائرة جميع نقاط البيانات المحتواة داخلها تنتمي إلى صنف النقاط الخضراء. و النقاط المتبقية الواقعة خارجها تنتمي إلى صنف النقاط الحمراء كما في الشكل ( 14).
إيجابيات وسلبيات خوارزمية آلة المتجه الداعم SVM
الإيجابيات
- تعمل بشكل فعال مع البيانات القابلة للفصل الخطي أي التي تملك هامش فصل واضح.
- تُعطي نتائج أكثر دقةً في حال كان عدد مزايا بيانات التدريب كبيرة.
- تُعطي نتائج أكثر دقةً في حال كان عدد مزايا بيانات التدريب أكبر من عدد أمثلة التدريب.
- كفائتها عالية لأنها تستخدم جزء من بيانات التدريب في اتخاذ القرار ويقصد بذلك يتم اختيار المستوي الفائق الأفضل اعتماداً على نقاط البيانات الواقعة على المتجهات الداعمة فقط وليس اعتماداً على كامل بيانات التدريب.
السلبيات
لا تعمل بشكل جيد للغاية عندما يكون لدينا مجموعة بيانات كبيرة لأن المُدة الزمنية اللازمة لتدريبها عالية.
لا تعمل بشكل جيد للغاية عندما تكون مجموعة البيانات تحوي أخطاء كثيرة , سواء كانت ضجيج noise أثناء جمع البيانات أو متداخلة بشكل كامل كما في الشكل (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
3 تعليقات
ohhh really , this makes me happy
شلون اكدر احصل عليه بشكل ملف؟
السلام عليكم ورحمة الله وبركاته…
كيف حالك استاذ محمد …
ممكن ترسلي كود برنامج R
لتحليل svm
مع جزيل الشكر..