Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

خوارزمية أقرب جار K (KNN)

اكتشف كيف يبسط خوارزمية أقرب جار (KNN) التعلم الآلي من خلال نهجه البديهي وغير البارامترى لمهام التصنيف والانحدار.

K-Nearest Neighbours (KNN) هي خوارزمية غير بارامترية, خوارزمية تعلم تحت الإشراف تستخدم على نطاق واسع في لكل من مهام التصنيف والانحدار. غالباً ما يشار إليها "بالمتعلّم الكسول" أو طريقة التعلّم القائمة على المثيل، لا تولّد KNN دالة تمييزية من من بيانات التدريب أثناء مرحلة التدريب. بدلاً من ذلك, فهي تحفظ مجموعة البيانات بأكملها وتقوم بإجراء العمليات الحسابية فقط عند إجراء تنبؤات على مثيلات جديدة. هذا النهج يفترض أن نقاط البيانات المتشابهة تحتل نقاط بيانات متقاربة داخل مساحة الميزة، مما يسمح للخوارزمية classify المدخلات الجديدة بناءً على فئة الأغلبية أو متوسط قيمة أقرب جيرانها.

كيفية عمل شبكة KNN

تعتمد الآلية التشغيلية ل K-Nearest Neighbours على مقاييس المسافة لقياس التشابه بين البيانات البيانات. المقياس الأكثر شيوعًا هو المسافة الإقليدية على الرغم من أن مقاييس أخرى مثل مسافة مانهاتن أو مسافة مينكوفسكي يمكن استخدامها اعتمادًا على مجال المشكلة. تتضمن عملية التنبؤ عدة خطوات مختلفة:

  1. تحديد K: يحدد المستخدم عدد الجيران، ويُشار إليه بـ "K". هذه خطوة حاسمة في في ضبط المعامل الفائق، حيث تؤثر قيمة K تؤثر مباشرةً على مفاضلة المفاضلة بين التحيز والتباين. يمكن أن تؤدي قيمة K الصغيرة إلى إلى حساسية للضوضاء، بينما قد تؤدي قيمة K الكبيرة إلى تخفيف الحدود المميزة.
  2. حساب المسافات: عندما يتم تقديم نقطة استعلام جديدة، تحسب الخوارزمية المسافة بين هذه النقطة وكل مثال في مجموعة البيانات المخزنة.
  3. تحديد الجيران: تقوم الخوارزمية بفرز المسافات واختيار أعلى الإدخالات K ذات أصغر القيم.
  4. المخرجات المجمعة:
    • التصنيف: تقوم الخوارزمية بتعيين تسمية الفئة التي تظهر بشكل متكرر أكثر من بين K (تصويت الأغلبية).
    • الانحدار: يتم حساب التنبؤ كمتوسط القيم المستهدفة لـ K الجيران.

إن بساطة شبكة KNN تجعلها خط أساس فعال للعديد من مشاكل التعلم الآلي. فيما يلي مثال موجز مثال موجز باستخدام مكتبة Scikit-learn الشهيرة ل لتوضيح سير عمل التصنيف الأساسي.

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# distinct classes: 0 and 1
X_train = np.array([[1, 1], [1, 2], [2, 2], [5, 5], [5, 6], [6, 5]])
y_train = np.array([0, 0, 0, 1, 1, 1])

# Initialize KNN with 3 neighbors
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# Predict class for a new point [4, 4]
prediction = knn.predict([[4, 4]])
print(f"Predicted Class: {prediction[0]}")
# Output: 1 (Closer to the cluster at [5,5])

تطبيقات واقعية

على الرغم من بساطته، يتم استخدام K-Neest-Nearest Neighbours في العديد من المجالات المعقدة حيث تكون قابلية التفسير و والاستدلال المستند إلى المثيل ذات قيمة.

  • محركات التوصيات: يسهل KNN التصفية التعاونية في أنظمة التوصيات. البث تستخدمه منصات البث لاقتراح المحتوى من خلال العثور على المستخدمين الذين لديهم تاريخ مشاهدة متشابه (الجيران) والتوصية بالعناصر التي أعجبوا بها. هذه الطريقة فعالة في تخصيص تجارب المستخدمين.
  • التشخيص الطبي: في تحليل الصور الطبية، يمكن أن تساعد شبكة KNN في في تشخيص الحالات المرضية من خلال مقارنة مقاييس المريض أو ميزات الصورة مع قاعدة بيانات للحالات التاريخية. على سبيل المثال على سبيل المثال، يمكن أن يساعد في classify أورام سرطان الثدي على أنها خبيثة أو حميدة بناءً على تشابه سمات الخلايا مع الحالات المؤكدة.
  • اكتشاف الحالات الشاذة: تستخدم المؤسسات المالية شبكة KNN للكشف عن الحالات الشاذة لتحديد الاحتيال. من خلال تحليل أنماط المعاملات، يمكن للنظام تحديد الأنشطة التي تحيد بشكل كبير عن أي النقاط البعيدة عن "أقرب الجيران".

التمييز بين KNN والخوارزميات ذات الصلة

يعد فهم الاختلافات بين KNN والخوارزميات الأخرى أمرًا حيويًا لاختيار الأداة المناسبة لمشروع الرؤية الحاسوبية أو مشروع تحليل البيانات.

  • K-Means Clusterering: من السهل الخلط بين KNN و K-Means Clusterering بسبب تشابه الاسمين. ومع ذلك، فإن K-Means هي تقنية تعلم غير خاضعة للإشراف تقنية تعلم غير خاضعة للإشراف تقوم بتجميع البيانات غير الموسومة في مجموعات، في حين أن KNN هي تقنية خاضعة للإشراف تتطلب بيانات موسومة للتنبؤ.
  • آلة دعم المتجهات الداعمة (SVM): بينما يستخدم كلاهما للتصنيف، فإن تركز آلة دعم المتجهات (SVM) على على إيجاد حد قرار عالمي (المستوى الفائق) يزيد الهامش بين الفئات إلى أقصى حد. على العكس من ذلك، تتخذ KNN القرارات بناءً على كثافة البيانات المحلية دون إنشاء نموذج عالمي. تعرف على المزيد حول هذه الاختلافات في وثائق SVM.
  • أشجار القرار: A تصنّف شجرة القرار البيانات عن طريق تعلّم قواعد صريحة قواعد هرمية صريحة تقسم مساحة الميزة. تعتمد KNN فقط على مقاييس المسافة في مساحة الميزة مما يجعلها أكثر مرونة في حدود القرار غير المنتظمة ولكنها أثقل من الناحية الحسابية أثناء الاستدلال.

في حين أن شبكة KNN قوية بالنسبة لمجموعات البيانات الأصغر، إلا أنها تواجه تحديات قابلية التوسع مع البيانات الضخمة بسبب التكلفة الحسابية لحساب المسافات المسافات لكل استعلام. من أجل الأداء العالي في الوقت الحقيقي في مهام مثل اكتشاف الأجسام، فإن البنى الحديثة للتعلم العميق الحديثة مثل YOLO11 مفضلة عمومًا بسبب سرعتها ودقتها الفائقة.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن