الذكاء الاصطناعي 101

ما هو KNN (K-Nearest Neighbors)؟

mm

ما هو K-Nearest Neighbors (KNN)؟

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

نظرة عامة على K-Nearest Neighbors (KNN)

صورة: Antti Ajanki AnAj via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:KnnClassification.svg)

دعونا نتصور مجموعة بيانات على مستوى سطح二 boyut. تخيل مجموعة من نقاط البيانات على الرسم البياني ، موزعة على الرسم البياني في مجموعات صغيرة. KNN يفحص توزيع نقاط البيانات ، واعتمادا على الحجج المعطاة إلى النموذج ، فإنه يفصل نقاط البيانات إلى مجموعات. يتم تعيين تسمية لهذه المجموعات. الفرض الرئيسي الذي يفترضه نموذج KNN هو أن نقاط البيانات / الحالات التي توجد في قربة من بعضها البعض هي متشابهة جدا ، بينما إذا كانت نقطة البيانات بعيدة عن مجموعة أخرى فهي غير متشابهة لتلك النقاط.

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

KNN هو خوارزمية تعلم آلي خاضعة للإشراف ، مما يعني أن الأمثلة في مجموعة البيانات يجب أن تكون لها تسميات معينة لها / يجب أن تكون فئاتها معروفة. هناك أمران مهمان آخران يجب معرفتهما عن KNN. أولا ، KNN هو خوارزمية غير 매개 ، مما يعني أن افتراضات لا تُطرح على مجموعة البيانات عند استخدام النموذج. بل يتم بناء النموذج كليا من البيانات المقدمة. ثانيا ، لا يوجد تقسيم لمجموعة البيانات إلى مجموعات تدريب واختبار عند استخدام KNN. KNN لا يعمم بين مجموعة تدريب واختبار ، لذلك يتم استخدام جميع بيانات التدريب عند طلب النموذج لتقديم تنبؤات.

كيف تعمل خوارزمية KNN

خوارزمية KNN تمر بثلاث مراحل رئيسية أثناء تنفيذها:

  1. تعيين K إلى عدد الجيران المختار.
  2. حساب المسافة بين مثال معين / مثال اختبار ومثيلات مجموعة البيانات.
  3. ترتيب المسافات المحسوبة.
  4. حصول تسميات مدخلات K الأعلى.
  5. إرجاع تنبؤ عن مثال الاختبار.

في المرحلة الأولى ، يُختار K بواسطة المستخدم ، ويخبر الخوارزمية بعدد الجيران (عدد نقاط البيانات المحيطة) التي يجب مراعاتها عند إصدار حكم عن المجموعة التي ينتمي إليها مثال الهدف. في المرحلة الثانية ، يلاحظ أن النموذج يتحقق من المسافة بين مثال الهدف ومثال كل مجموعة البيانات. يتم إضافة المسافات إلى قائمة وترتيبها. بعد ذلك ، يتم فحص القائمة المرتبة وترجع تسميات العناصر K الأعلى. بعبارة أخرى ، إذا تم تعيين K إلى 5 ، يتحقق النموذج من تسميات النقاط الخمس الأقرب إلى نقطة البيانات الهدف. عند إصدار تنبؤ عن نقطة البيانات الهدف ، يهم إذا كانت المهمة هي انحدار أو تصنيف مهمة.对于 مهمة الانحدار ، يتم استخدام متوسط تسميات K الأعلى ، بينما يتم استخدام وضع تسميات K الأعلى في حالة التصنيف.

التعاملات الرياضية الدقيقة المستخدمة في تنفيذ KNN تختلف حسب مقياس المسافة المحدد. إذا كنت ترغب في معرفة المزيد حول كيفية حساب هذه المقاييس ، يمكنك قراءة بعض مقاييس المسافة الأكثر شيوعا ، مثل المسافة الأوربية و مانهاتن و مينكوفسكي.

لماذا يهم قيمة K

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

صورة: Agor153 via Wikimedia Commons, CC BY SA 3.0 (https://en.wikipedia.org/wiki/File:Map1NN.png)

القيم المنخفضة لـ K تعني أن التنبؤات التي يصدرها KNN أقل استقرارا وثباتا. لتكون على دراية لماذا هذا هو الحال ، ضع في اعتبارك حالة حيث لدينا 7 جيران حول نقطة بيانات هدف. لنفترض أن نموذج KNN يعمل مع قيمة K من 2 (نطلب منه النظر إلى الجيران الأقرب إلى نقطة البيانات الهدف لتقديم تنبؤ). إذا كانت الغالبية العظمى من الجيران (خمسة من سبعة) تنتمي إلى فئة الأزرق ، ولكن الجيران الأقرب يحدث أن يكونوا أحمر ، سوف يتنبأ النموذج بأن مثال الاستعلام هو أحمر. على الرغم من أن نموذج KNN يتنبأ بأن مثال الاستعلام هو أحمر ، في مثل هذه الحالة ، سيكون الأزرق أفضل تخمين.

إذا كان هذا هو الحال ، لماذا لا نختار أعلى قيمة لـ K يمكننا؟ هذا لأن إخبار النموذج بمراعاة عدد كبير من الجيران سوف يقلل من الدقة. مع زيادة نصف قطر النموذج KNN ، سوف يبدأ في مراعاة نقاط البيانات التي تكون أقرب إلى مجموعات أخرى منها إلى نقطة البيانات الهدف ، وسيبدأ حدوث سوء تصنيف. على سبيل المثال ، حتى لو كانت النقطة التي تم اختيارها في البداية في واحدة من المناطق الحمراء أعلاه ، إذا تم تعيين K إلى قيمة عالية جدا ، سوف يصل النموذج إلى مناطق أخرى لمراعاة النقاط. عند استخدام نموذج KNN ، يتم تجربة قيم مختلفة لـ K لمعرفة أي قيمة تعطي أفضل أداء للنموذج.

مميزات و عيوب KNN

دعونا ننظر إلى بعض مميزات وعيوب نموذج KNN.

المميزات:

KNN يمكن استخدامه لمهام الانحدار والتصنيف.

KNN دقيق جدا وسهل الاستخدام. من السهل تفسيره وفهمه وتنفيذه.

KNN لا يفترض أي شيء عن البيانات ، مما يعني أنه يمكن استخدامه لمجموعة واسعة من المشاكل.

العيوب:

KNN يخزن معظم أو جميع البيانات ، مما يعني أن النموذج يتطلب الكثير من الذاكرة ويتطلب حسابات مكلفة. يمكن أن تسبب مجموعات البيانات الكبيرة أيضا أن تكون التنبؤات بطيئة.

KNN يثبت أنه حساس جدا لمقياس مجموعة البيانات ويمكن أن يتعرض للاضطراب بسهولة بواسطة ميزات غير ذات صلة بالمقارنة مع نماذج أخرى.

ملخص K-Nearest Neighbors (KNN)

K-Nearest Neighbors هو واحد من أبسط خوارزميات التعلم الآلي. على الرغم من بساطة KNN من الناحية المفاهيمية ، إلا أنه خوارزمية قوية تعطي دقة عالية على معظم المشاكل. عند استخدام KNN ، تأكد من تجربة قيم مختلفة لـ K لتحديد الرقم الذي يعطي أعلى دقة.

مدون وبرمجي متخصص في مواضيع Machine Learning و Deep Learning. يأمل دانيال في مساعدة الآخرين على استخدام قوة الذكاء الاصطناعي من أجل الخير الاجتماعي.