مرحبا جميعا! اليوم أود أن أتحدث عن خوارزمية K-Nearest Neighbors (أو KNN). خوارزمية KNN هي واحدة من أبسط خوارزميات التصنيف وهي واحدة من أكثر خوارزميات التعلم استخدامًا. إذن ما هي خوارزمية KNN؟ أنا سعيد لأنك سألت! KNN هو خوارزمية التعلم غير parametric ، البطيئة. الغرض منه هو استخدام قاعدة بيانات يتم فيها فصل نقاط البيانات إلى عدة فئات للتنبؤ بتصنيف نقطة عينة جديدة.
فقط للإشارة ، هذا هو “أين” يتم وضع KNN في قائمة خوارزمية من scikit تعلم. راجع للشغل ، وثائق scikit- تعلم (رابط النقر) مدهش! تستحق القراءة إذا كنت مهتمًا بالتعلم الآلي
عندما نقول أن التقنية غير بارامترية ، فهذا يعني أنها لا تقدم أي افتراضات حول توزيع البيانات الأساسي. بمعنى آخر ، يتم تحديد بنية النموذج من البيانات. إذا كنت تفكر في ذلك ، فإنه أمر مفيد للغاية ، لأنه في “العالم الحقيقي” ، فإن معظم البيانات لا تطيع الافتراضات النظرية النموذجية (كما في نماذج الخطي ، على سبيل المثال). لذلك ، يمكن أن يكون KNN وربما من بين الخيارات الأولى لدراسة التصنيف عندما تكون المعرفة السابقة قليلة أو معدومة حول بيانات التوزيع.
KNN هو أيضا خوارزمية كسول (على العكس من خوارزمية نشيطة ). هل يعني ذلك أن KNN لا تفعل شيئًا ، ؟؟؟ ليس تماما ما يعنيه هذا هو أنها لا تستخدم نقاط بيانات التدريب للقيام بأي تعميم. وبعبارة أخرى ، لا توجد مرحلة تدريب أنها بسيطة للغاية. هذا يعني أيضًا أن مرحلة التدريب سريعة جدًا. نقص التعميم يعني أن KNN تحتفظ بجميع بيانات التدريب. ليكون أكثر دقة ، كل بيانات التدريب مطلوب أثناء مرحلة الاختبار.
تعتمد خوارزمية KNN على التشابه في الميزات: يحدد مدى الاختلاف بين ميزات عينة خارج النموذج ومجموعة التدريب لدينا كيفية تصنيف نقطة بيانات معينة:
مثال لتصنيف k-NN. يجب أن تصنف عينة الاختبار (داخل الدائرة) إما إلى الدرجة الأولى من المربعات الزرقاء أو إلى الدرجة الثانية من المثلثات الحمراء. إذا كانت k = 3 (خارج الدائرة) يتم تعيينها للفئة الثانية لأنه يوجد مثلثان ومربع واحد فقط داخل الدائرة الداخلية. إذا ، على سبيل المثال ، ك = 5 ، يتم تعيينه للفئة الأولى (3 مربعات مقابل 2 مثلث خارج الدائرة الخارجية).
يمكن استخدام KNN للتصنيف – الإخراج هو عضوية فئة (يتنبأ فئة – قيمة منفصلة). يتم تصنيف الكائن بأغلبية أصوات جيرانه ، مع تخصيص الكائن للفئة الأكثر شيوعًا بين الجيران الأقرب. ويمكن أيضا أن تستخدم للانحدار – الناتج هو قيمة الكائن (القيم المسند المستمر). هذه القيمة هي متوسط (أو وسيط) قيم k الجوار الأقرب.
بعض التطبيقات وأمثلة KNN
تصنيفات الائتمان – جمع الخصائص المالية مقابل. مقارنة الأشخاص بميزات مالية مشابهة لقاعدة بيانات. وبطبيعة طبيعة التصنيف الائتماني ، فإن الأشخاص الذين لديهم تفاصيل مالية مماثلة كانوا سيعطون تصنيفات ائتمانية مماثلة. ولذلك ، يرغبون في أن يكونوا قادرين على استخدام قاعدة البيانات الحالية للتنبؤ بتصنيف ائتماني جديد للعميل ، دون الاضطرار إلى إجراء جميع الحسابات.
هل يجب على البنك تقديم قرض للفرد؟ هل الفرد الافتراضي على قرضه؟ هل هذا الشخص متقارب في الخصائص للأشخاص الذين تخلفوا أو لم يتخلفوا عن سداد قروضهم؟
في العلوم السياسية – تصنيف ناخب محتمل إلى “سوف يصوت” أو “لن يصوت” ، أو “التصويت ديمقراطيًا” أو “التصويت للجمهوري”.
يمكن أن تتضمن أمثلة أكثر تقدمًا اكتشاف الكتابة اليدوية (مثل OCR) ، والتعرف على الصور وحتى التعرف على الفيديو.
بعض إيجابيات وسلبيات KNN
الايجابيات:
لا توجد افتراضات حول البيانات – مفيدة ، على سبيل المثال ، للبيانات غير الخطية
خوارزمية بسيطة – لشرح وفهم / تفسير
دقة عالية (نسبيًا) – إنها عالية جدًا ولكنها غير تنافسية بالمقارنة مع نماذج التعلم الأفضل تحت الإشراف
متعددة الاستخدامات – مفيدة للتصنيف أو الانحدار
سلبيات:
مكلفة حسابيا – لأن خوارزمية يخزن كل بيانات التدريب
متطلبات الذاكرة عالية
يخزن جميع (أو كلها تقريبا) من بيانات التدريب
قد تكون مرحلة التنبؤ بطيئة (مع N الكبيرة)
حساسة للميزات غير ذات الصلة وحجم البيانات
ملخص سريع من KNN
يمكن تلخيص الخوارزمية كما يلي:
يتم تحديد عدد صحيح موجب k ، بالإضافة إلى نموذج جديد
نختار إدخالات k في قاعدة بياناتنا الأقرب إلى العينة الجديدة
نجد التصنيف الأكثر شيوعًا لهذه الإدخالات
هذا هو التصنيف الذي نعطيه للعينة الجديدة
بعض الميزات الأخرى من KNN:
تخزن KNN مجموعة البيانات التدريبية بالكامل التي تستخدمها كتمثيل لها.
KNN لا تعلم أي نموذج.
تقوم KNN بعمل التنبؤات في الوقت المناسب من خلال حساب التشابه بين عينة المدخلات وكل مثيل التدريب.
آمل أن يساعد هذا قليلاً في فهم خوارزمية K-Nearest Neighithm. كما هو الحال دائمًا ، أرحب بالأسئلة والملاحظات والاقتراحات وما إلى ذلك. أراك في المرة القادمة!
0 responses on "خوارزميات الجيران - K-Nearest Neighbors Algorithm"