التعلم الآلي “تقويم المجيء” اليوم الثاني: مصنف k-NN في Excel

k-NN Regressor وفكرة التنبؤ على أساس المسافة، ننظر الآن إلى k-NN Classifier.
المبدأ هو نفسه، لكن التصنيف يسمح لنا بتقديم العديد من المتغيرات المفيدة، مثل نصف القطر الأقرب للجيران، وأقرب مركز مركزي، والتنبؤ متعدد الفئات، ونماذج المسافة الاحتمالية.
لذلك، سنقوم أولاً بتنفيذ مصنف k-NN، ثم نناقش كيفية تحسينه.
يمكنك استخدام ورقة Excel/Google هذه أثناء قراءة هذه المقالة لمتابعة جميع الشروحات بشكل أفضل.
مجموعة بيانات بقاء تيتانيك
سوف نستخدم مجموعة بيانات بقاء تيتانيك، وهي مثال كلاسيكي حيث يصف كل صف راكبًا بميزات مثل الطبقة والجنس والعمر والأجرة، والهدف هو التنبؤ بما إذا كان الراكب قد نجا أم لا.

مبدأ k-NN للتصنيف
يشبه مُصنف k-NN مُصنف k-NN لدرجة أنني أستطيع كتابة مقال واحد تقريبًا لشرحهما معًا.
في الواقع، عندما نبحث عن ك أقرب الجيران، ونحن لا نستخدم القيمة ذ على الاطلاق، ناهيك عن ذلك طبيعته.
ولكن، لا تزال هناك بعض الحقائق المثيرة للاهتمام حول كيفية إنشاء المصنفات (ثنائية أو متعددة الفئات)، وكيف يمكن التعامل مع الميزات بشكل مختلف.
نبدأ بمهمة التصنيف الثنائي، ومن ثم التصنيف متعدد الفئات.
ميزة واحدة مستمرة للتصنيف الثنائي
لذلك، بسرعة كبيرة، يمكننا القيام بنفس التمرين لميزة واحدة مستمرة، باستخدام مجموعة البيانات هذه.
بالنسبة لقيمة y، نستخدم عادةً 0 و1 للتمييز بين الفئتين. ولكن يمكنك أن تلاحظ، أو ستلاحظ أنه يمكن أن يكون مصدرًا للارتباك.

الآن، فكر في الأمر: 0 و1 هما رقمان أيضًا، أليس كذلك؟ لذلك، يمكننا القيام بنفس العملية تمامًا كما لو كنا نقوم بالانحدار.
هذا صحيح. لا شيء يتغير في الحساب، كما ترون في الصورة التالية. ويمكنك بالطبع محاولة تعديل قيمة الملاحظة الجديدة بنفسك.

والفرق الوحيد هو كيف نفسر النتيجة. عندما نأخذ “متوسط” الجيران ذ القيم، يُفهم هذا الرقم على أنه احتمال أن تنتمي الملاحظة الجديدة إلى الفئة 1.
لذا، في الواقع، القيمة “المتوسطة” ليست التفسير الجيد، ولكنها بالأحرى نسبة الفئة 1.
يمكننا أيضًا إنشاء هذا المخطط يدويًا لإظهار كيف يتغير الاحتمال المتوقع على مدى نطاق من س قيم.
تقليديًا، لتجنب أن ينتهي الأمر باحتمال 50 بالمائة، نختار قيمة فردية لـ ك، حتى نتمكن دائمًا من اتخاذ القرار بتصويت الأغلبية.

ميزتان للتصنيف الثنائي
إذا كان لدينا ميزتان، فإن العملية تكون تقريبًا نفسها كما في مُتراجع k-NN.

ميزة واحدة لتصنيف متعدد الطبقات
الآن، لنأخذ مثالاً على ثلاث فئات للمتغير الهدف y.
ومن ثم يمكننا أن نرى أننا لا نستطيع استخدام مفهوم “المتوسط” بعد الآن، لأن الرقم الذي يمثل الفئة ليس رقمًا في الواقع. ومن الأفضل أن نطلق عليها “الفئة 0″ و”الفئة 1″ و”الفئة 2”.

من k-NN إلى أقرب النقط الوسطى
عندما يصبح k كبيرًا جدًا
الآن، دعونا نجعل k كبيرًا. كيف كبيرة؟ كبيرة قدر الإمكان.
تذكر أننا قمنا أيضًا بهذا التمرين مع مُرجع k-NN، وكان الاستنتاج هو أنه إذا كانت k تساوي العدد الإجمالي للملاحظات في مجموعة بيانات التدريب، فإن مُرجع k-NN هو المُقدِّر البسيط لمتوسط القيمة.
بالنسبة للمصنف k-NN، فهو نفسه تقريبًا. إذا كان k يساوي العدد الإجمالي للملاحظات، فسنحصل على النسبة الإجمالية لكل فئة داخل مجموعة بيانات التدريب بأكملها.
بعض الناس، من وجهة نظر بايزي، يسمون هذه النسب بالسابقة!
لكن هذا لا يساعدنا كثيرًا في تصنيف ملاحظة جديدة، لأن هذه المقدمات هي نفسها بالنسبة لكل نقطة.
خلق النقط الوسطى
لذلك دعونا نتخذ خطوة أخرى.
بالنسبة لكل فئة، يمكننا أيضًا تجميع كل قيم الميزات معًا س التي تنتمي إلى تلك الفئة، واحسب متوسطها.
هذه المتجهات المميزة المتوسطة هي ما نسميه النقط الوسطى.
ماذا يمكننا أن نفعل مع هذه النقط الوسطى؟
يمكننا استخدامها لتصنيف ملاحظة جديدة.
بدلاً من إعادة حساب المسافات إلى مجموعة البيانات بأكملها لكل نقطة جديدة، نقوم ببساطة بقياس المسافة إلى كل فئة مركزية وتعيين فئة أقرب نقطة.
مع مجموعة بيانات بقاء تايتانيك، يمكننا أن نبدأ بميزة واحدة، عمر، وحساب النقط الوسطى للفئتين: الركاب الذين نجوا والركاب الذين لم ينجوا.

الآن، من الممكن أيضًا استخدام العديد من الميزات المستمرة.
على سبيل المثال، يمكننا استخدام الميزتين العمر والأجرة.

ويمكننا مناقشة بعض الخصائص المهمة لهذا النموذج:
- المقياس مهم، كما ناقشنا من قبل بالنسبة لمتراجع k-NN.
- القيم المفقودة ليست مشكلة هنا: عندما نحسب النقط الوسطى لكل فئة، يتم حساب كل منها بالقيم المتاحة (غير الفارغة)
- لقد انتقلنا من النموذج الأكثر “تعقيدًا” و”الأكبر” (بمعنى أن النموذج الفعلي هو مجموعة بيانات التدريب بأكملها، لذلك يتعين علينا تخزين مجموعة البيانات بأكملها) إلى النموذج الأبسط (نستخدم قيمة واحدة فقط لكل ميزة، ونقوم فقط بتخزين هذه القيم كنموذج لدينا)
من غير الخطية للغاية إلى الخطية الساذجة
لكن الآن، هل يمكنك التفكير في عيب رئيسي واحد؟
في حين أن المصنف الأساسي k-NN غير خطي إلى حد كبير، فإن طريقة أقرب نقطة مركزية خطية للغاية.
في هذا المثال ثنائي الأبعاد، النقطتان المركزيتان هما ببساطة متوسط قيم x للفئة 0 والفئة 1. نظرًا لأن هذين المتوسطين قريبان، تصبح حدود القرار مجرد نقطة المنتصف بينهما.
لذلك بدلاً من الحدود المتعرجة والمجزأة التي تعتمد على الموقع الدقيق للعديد من نقاط التدريب (كما هو الحال في k-NN)، نحصل على قطع مستقيم يعتمد فقط على رقمين.
يوضح هذا كيف تقوم أقرب النقط الوسطى بضغط مجموعة البيانات بأكملها في قاعدة بسيطة وخطية للغاية.

ملاحظة حول الانحدار: لماذا لا تنطبق النقط الوسطى
الآن، هذا النوع من التحسين غير ممكن بالنسبة للتراجع k-NN. لماذا؟
في التصنيف، تشكل كل فئة مجموعة من الملاحظات، لذا فإن حساب متوسط متجه الميزات لكل فئة أمر منطقي، وهذا يعطينا النقط الوسطى للفئة.
ولكن في الانحدار، الهدف ذ مستمر. لا توجد مجموعات منفصلة، ولا حدود طبقية، وبالتالي لا توجد طريقة ذات معنى لحساب “النقطه الوسطى للفئة”.
يحتوي الهدف المستمر على عدد لا نهائي من القيم المحتملة، لذلك لا يمكننا تجميع الملاحظات حسب قيمها ذ قيمة لتشكيل النقط الوسطى.
سيكون “النقطه الوسطى” الوحيدة الممكنة في الانحدار هي المتوسط العالمي، والذي يتوافق مع الحالة k = N في k-NN regressor.
وهذا المقدر بسيط للغاية بحيث لا يكون مفيدًا.
باختصار، يعتبر مُصنف أقرب النقط الوسطى بمثابة تحسين طبيعي للتصنيف، ولكن ليس له معادل مباشر في الانحدار.
مزيد من التحسينات الإحصائية
ماذا يمكننا أن نفعل مع المصنف الأساسي k-NN؟
المتوسط والتباين
مع أقرب مصنف النقط الوسطى، استخدمنا أبسط إحصائية وهي متوسط. رد الفعل الطبيعي في الإحصائيات هو إضافة التباين أيضًا.
إذًا، الآن، لم تعد المسافة إقليدية، بل ماهالانوبيس مسافة. باستخدام هذه المسافة، نحصل على الاحتمال بناءً على التوزيع الذي يتميز بمتوسط وتباين كل فئة.
التعامل مع الميزات الفئوية
بالنسبة للميزات الفئوية، لا يمكننا حساب المتوسطات أو التباينات. وبالنسبة لـ k-NN regressor، رأينا أنه من الممكن إجراء ترميز واحد ساخن أو ترميز ترتيبي/تسمية. لكن المقياس مهم وليس من السهل تحديده.
هنا، يمكننا أن نفعل شيئًا له نفس القدر من الأهمية، من حيث الاحتمالات: نحن نستطيع حساب نسب كل فئة داخل الفصل.
تعمل هذه النسب تمامًا مثل الاحتمالات، حيث تصف مدى احتمالية وجود كل فئة داخل كل فئة.
ترتبط هذه الفكرة ارتباطًا مباشرًا بنماذج مثل قاطع ساذج بايزحيث تتميز الطبقات توزيعات التردد على الفئات.
المسافة المرجحة
الاتجاه الآخر هو إدخال الأوزان، بحيث يكون عدد الجيران الأقرب أكثر من عدد الجيران البعيدين. في scikit-learn، هناك حجة “الأوزان” التي تسمح لنا بالقيام بذلك.
يمكننا أيضًا التبديل من “الجيران k” إلى نصف قطر ثابت حول الملاحظة الجديدة، مما يؤدي إلى مصنفات تعتمد على نصف القطر.
نصف القطر أقرب الجيران
في بعض الأحيان، يمكننا أن نجد هذا الرسم التالي لشرح المصنف k-NN. لكن في الواقع، مع نصف قطر مثل هذا، فإنه يعكس فكرة نصف القطر الأقرب للجيران.
إحدى المزايا هي السيطرة على الحي. ومن المثير للاهتمام بشكل خاص عندما نعرف المعنى الملموس للمسافة، مثل المسافة الجغرافية.

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

خاتمة
في هذه المقالة، استكشفنا مصنف k-NN من شكله الأساسي إلى عدة امتدادات.
الفكرة المركزية لم تتغير حقًا: يتم تصنيف الملاحظة الجديدة من خلال النظر في مدى تشابهها مع بيانات التدريب.
لكن هذه الفكرة البسيطة يمكن أن تتخذ أشكالًا مختلفة.
مع السمات المستمرة، يعتمد التشابه على المسافة الهندسية.
باستخدام الميزات الفئوية، ننظر بدلاً من ذلك إلى عدد المرات التي تظهر فيها كل فئة بين الجيران.
عندما تصبح k كبيرة جدًا، تنهار مجموعة البيانات بأكملها إلى عدد قليل من الإحصائيات الموجزة، مما يؤدي بشكل طبيعي إلى أقرب مصنف النقط الوسطى.
إن فهم هذه المجموعة من الأفكار القائمة على المسافة والاحتمالية يساعدنا على رؤية أن العديد من نماذج التعلم الآلي هي ببساطة طرق مختلفة للإجابة على نفس السؤال:
ما هي الفئة التي تشبهها هذه الملاحظة الجديدة أكثر؟
في المقالات التالية، سنواصل استكشاف النماذج القائمة على الكثافة، والتي يمكن فهمها على أنها مقاييس عالمية للتشابه بين الملاحظات والفئات.