مقدمة
تُعتبر خوارزمية KNN واحدة من أبسط خوارزميات تعلم الآلة وأكثرها سهولة في الفهم، حيث تعتمد على فكرة مباشرة جدًا: "الأقرب إليك يحدد هويتك".
ورغم بساطتها، إلا أنها فعالة جدًا في العديد من التطبيقات الواقعية، خاصة في مشاكل التصنيف البسيطة والمتوسطة.
ما هي خوارزمية KNN؟
KNN هي خوارزمية تعلم آلة تعتمد على إيجاد أقرب K نقاط (جيران) إلى نقطة جديدة، ثم اتخاذ القرار بناءً على أغلبية هذه الجيران أو متوسطهم.
تستخدم في:
- التصنيف Classification
- الانحدار Regression
الفكرة الأساسية
الفكرة بسيطة جدًا: إذا أردت معرفة تصنيف نقطة جديدة، انظر إلى أقرب النقاط لها، ثم اختر التصنيف الأكثر شيوعًا بينهم.
كيف تعمل KNN؟
تمر الخوارزمية بعدة خطوات:
- تحديد نقطة جديدة
- حساب المسافة بينها وبين جميع النقاط
- اختيار أقرب K نقاط
- اتخاذ القرار بناءً على الأغلبية
حساب المسافات
أهم جزء في KNN هو حساب المسافة بين النقاط.
أشهر أنواع المسافات
- المسافة الإقليدية
- المسافة المانهاتنية
- مسافة Minkowski
اختيار قيمة K
قيمة K هي عدد الجيران الذين يتم الاعتماد عليهم.
- K صغيرة: حساسة للضوضاء
- K كبيرة: أقل دقة أحيانًا
اختيار K المناسب يعتمد على البيانات.
التصنيف
في التصنيف، يتم اختيار الفئة الأكثر تكرارًا بين الجيران.
مثال: إذا كان 3 من 5 جيران ينتمون لفئة معينة، يتم اختيارها.
الانحدار باستخدام KNN
في الانحدار، يتم حساب متوسط قيم الجيران بدل التصويت.
أهمية تطبيع البيانات
KNN يعتمد على المسافات، لذلك يجب توحيد المقاييس.
- Min-Max Scaling
- Standardization
بدون التطبيع، قد تسيطر بعض الميزات على القرار.
التعقيد الحسابي
KNN لا يقوم بالتدريب الحقيقي، لكنه بطيء في مرحلة التنبؤ لأنه يحسب المسافات لكل نقطة.
المميزات
- بسيطة وسهلة الفهم
- لا تحتاج تدريب معقد
- فعالة في البيانات الصغيرة
- مرنة
العيوب
- بطيئة مع البيانات الكبيرة
- حساسة للضوضاء
- تحتاج ذاكرة كبيرة
- تتأثر بالميزات غير المهمة
أمثلة عملية
مثال 1: تصنيف الفواكه
تصنيف فاكهة جديدة بناءً على أقرب الفواكه في الحجم واللون.
مثال 2: توصيات الأفلام
اقتراح أفلام بناءً على المستخدمين المشابهين.
مثال 3: التشخيص الطبي
تحديد المرض بناءً على أقرب الحالات السابقة.
التطبيقات
- أنظمة التوصية
- الطب
- التصنيف النصي
- التعرف على الأنماط
مقارنة مع الخوارزميات الأخرى
KNN أبسط من معظم الخوارزميات، لكنه أقل كفاءة مع البيانات الضخمة مقارنة بالشبكات العصبية أو الغابات العشوائية.