حمود الدوسري
حمود الدوسري

@Dr_Hmood

10 تغريدة 239 قراءة Aug 27, 2019
أسفل هذه التغريدة سأتكلم عن واحدة من أهم خوارزميات الـ Machine Learning .. لها شهرة واسعة واستخدامات كثيرة .. إنها خوازمية Support Vector Machine
SVM إحدى خوارزميات الـ ML وتصنف على أنها Supervised وذلك لأنه يتم تعليمها بواسطة بيانات معنونة بواسطة المستخدمين (Labeling) ، وتستخدم للتصنيف (Classification) والإنحدار (Regression) وتستخدم في التصنيف أكثر
لابد من التأكيد على أن الفرق بين الـ Classification و الـ Regression في كون الأولى تتعامل مع بيانات من نوع Categorical Data وهي البيانات الفئوية كالمستوى التعليمي بينما الأخيرة تتعامل مع الـ Continuous Data وهي البيانات الرقمية كدرجات الحرارة
تعتمد فكرة خوارزمية SVM على البحث عن أفضل طريقة لتقسيم البيانات إلى مجموعتين بوضع سطح عازل بينهما (Hyperplane)و الـ Support Vectors هي النقاط الأقرب للسطح العازل وذلك كونها النقاط الحاسمة في قرار تصنيف النقاط من مجموعةإلى مجموعة أخرى، وكون إزالتها يتطلب تحديد السطح العازل من جديد
السطح العازل في أبسط صورة عبارة عن خط مستقيم ، نكون أكثر ثقة في التصنيف كلما كانت نقاط الـ Support Vectors بعيدة عن السطح.. لذا الهدف هو تحديد الموقع الذي تكون فيه نقاط الـSV بعيدة من السطح قدر المستطاع ..مثلاُ في الصورة سطح A أفضل من سطح B كون المسافة بينه وبين نقاط الـ SV أكبر
الواقع ليس بالصورة المثالية التي نصورها 😔 .. احياناً قد يكون من الصعوبة تحديد مكان بحيث يفصل السطح العازل بين البيانات بشكل خطي كما في الصورة ..
إذاً مالحل في هذه الحالة؟ 🤔
لحل مشكلة تداخل البيانات في البعدين نظيف بُعد ثالث أي ببساطة نقوم بإضافة خاصية ثالثة للخاصيتين ليتحول لنا الشكل من 2d إلى 3d كما في الشكل..على سبيل المثال لو كان من الصعوبة التفريق بين الطلاب باستخدام العمر والطول، نضيف خاصية ثالثة الوزن وهكذا إلى أن نجد مكان مناسب للـ Hyperplane
تم إستخدام خوارزمية SVM في تطبيقات كثيرة مثل تصنيف النصوص (category assignment) ، البريد المزعج (Spam email) و كذلك تحليل المشاعر (Sentiment Analysis) ، والتطبيق الأشهر استخدامها في التعرف على الأرقام المكتوبة بخط اليد في نظام البريد postal automation services
من مميزات الـ SVM دقتها العالية خصوصاً مع البيانات القليلة والنظيفة ، ولكن يصعب إستخدامها مع البيانات الضخمة وذلك كونها تاخذ وقت طويل في التدريب بحكم أنها تعتمد على إضافة خاصية كل مرة للبحث عن أفضل مكان للـ Hyperpalne، كذلك غير فعالة مع البيانات المتداخلة والغير نظيفة
تعلم خوارزمية Support Vector Machine من الصفر باستخدام لغة R goo.gl

جاري تحميل الاقتراحات...