اكتشف كيف تُبسِّط K-Nearest Neighbours (KNN) التعلُّم الآلي من خلال نهجها البديهي غير البارامترى لمهام التصنيف والانحدار.
K-Nearest Neighbours (KNN) هي خوارزمية أساسية في التعلم الآلي (ML)، تُستخدم في مهام التصنيف والانحدار. وهي تتميز ببساطتها ونهجها البديهي، مما يجعلها نقطة انطلاق رائعة لفهم التعلم القائم على المثيل. تُصنف KNN كطريقة غير بارامترية لأنها لا تضع افتراضات حول توزيع البيانات الأساسي. تُعرف أيضًا باسم خوارزمية"التعلّم الكسول" لأنها لا تبني نموذجًا عامًا أثناء مرحلة تدريب البيانات، وبدلاً من ذلك، فإنها تخزن مجموعة البيانات بأكملها وتقوم بإجراء الحسابات فقط عند الحاجة إلى التنبؤ.
تعتمد الفكرة الأساسية وراء KNN على التشابه، وغالبًا ما يتم تعريفها باستخدام مقاييس المسافة مثل المسافة الإقليدية. عند التنبؤ بنقطة بيانات جديدة غير مرئية، تحدد الخوارزمية أقرب نقاط البيانات "K" (الجيران) إليها من مجموعة بيانات التدريب المخزنة. والقيمة "K" هي عدد صحيح يحدده المستخدم ويمثل عدد الجيران الذين تم أخذهم في الاعتبار.
بالنسبة للتصنيف، يتم تعيين النقطة الجديدة إلى الفئة الأكثر شيوعًا بين جيرانها K (تصويت الأغلبية). بالنسبة للانحدار، عادةً ما يكون التنبؤ هو متوسط قيمة "ك" المجاورة. ويُعد اختيار مقياس المسافة (مثل مانهاتن ومينكوفسكي) وقيمة "K" من المعلمات الفائقة الحاسمة التي تؤثر بشكل كبير على أداء النموذج. غالبًا ما يعتمد التنفيذ الفعال على هياكل البيانات مثل أشجار KD-trees أو أشجار الكرة لتسريع عمليات البحث عن الجيران، خاصةً مع مجموعات البيانات الأكبر حجمًا.
يعد اختيار "K" الأمثل أمرًا بالغ الأهمية. فقيمة "K" الصغيرة (على سبيل المثال، K=1) تجعل النموذج شديد الحساسية للضوضاء والقيم المتطرفة في البيانات، مما قد يؤدي إلى الإفراط في التركيب، حيث يكون أداء النموذج جيدًا على بيانات التدريب ولكن أداءه ضعيفًا على البيانات غير المرئية. وعلى العكس من ذلك، يمكن أن تؤدي قيمة "K" الكبيرة إلى زيادة سلاسة حدود القرار، مما يجعل النموذج أقل حساسية للأنماط المحلية وقد يؤدي إلى عدم ملاءمة النموذج وتكلفة حسابية عالية أثناء التنبؤ. غالبًا ما يتم استخدام تقنيات مثل التحقق التبادلي (انظر دليل التحقق التبادلي ل Scikit-learn) للعثور على "K" المناسب الذي يوازن بين التحيز والتباين. توفر مكتبة Scikit-learn أدوات لتنفيذ KNN وإجراء عمليات البحث عن المعرفات الفائقة، ويمكنك العثور على نصائح عامة في دليل ضبط المعرفات الفائقة فيUltralytics .
تتناسب بساطة شبكة KNN مع العديد من التطبيقات، خاصةً عندما تكون قابلية التفسير ذات قيمة:
تقدم شبكة KNN العديد من المزايا ولكنها تأتي أيضًا مع قيود:
المزايا:
العيوب:
من المهم التمييز بين KNN والخوارزميات الأخرى:
في حين أن شبكة KNN ذات قيمة في بعض المهام وفهم المفاهيم الأساسية للتعلم الآلي، فإن المشاكل المعقدة مثل اكتشاف الأجسام في الوقت الحقيقي غالباً ما تستفيد من نماذج أكثر تقدماً مثل Ultralytics YOLOالتي توفر سرعة وأداءً فائقين، خاصةً على مجموعات بيانات الرؤية الحاسوبية واسعة النطاق. يمكنك تدريب ونشر مثل هذه النماذج باستخدام منصات مثل Ultralytics HUB.