التعلم بلا تسميات
جميع الخوارزميات التي درسناها في الوحدات السابقة — الانحدار الخطي، وأشجار القرار، وآلات المتجهات الداعمة — تعلّمت من أمثلة مُسمَّاة. كان شخص ما يُخبر النموذج بأن هذا البريد الإلكتروني رسالة مزعجة أو أن هذا الورم خبيث. غير أن معظم البيانات في العالم تصل بلا تسميات. التعلم غير الخاضع للإشراف هو فرع التعلم الآلي الذي يكتشف البنية في البيانات غير المُسمَّاة.
التجميع هو المهمة الأساسية في هذا الفرع: تقسيم مجموعة البيانات إلى مجموعات بحيث تكون النقاط ضمن المجموعة الواحدة أكثر تشابهًا فيما بينها مقارنةً بنقاط المجموعات الأخرى. يُطبَّق التجميع على تقسيم العملاء، وتنظيم المستندات، وكشف الشذوذ، وضغط الصور، والتصنيف البيولوجي. التحدي الجوهري أن تعريف “التشابه” يجب أن يكون رياضيًا دقيقًا، وقد لا يُعرَف عدد المجموعات مسبقًا.
خوارزمية K-Means
K-Means هي أبسط خوارزميات التجميع وأكثرها استخدامًا. تُعطى مجموعة بيانات من n نقطة وعدد مستهدف K من المجموعات، فتُقسِّم البيانات بالتناوب بين خطوتين حتى التقاطع:
الخطوة 1 — التخصيص: تُعيَّن كل نقطة إلى أقرب مركز تجمّع. تُقاس المسافة بالمسافة الإقليدية. تنتمي كل نقطة إلى مجموعة واحدة بالضبط.
الخطوة 2 — التحديث: يُعاد حساب كل مركز تجمّع باعتباره متوسط جميع النقاط المعيّنة إليه. ينتقل المركز إلى وسط مجموعته.
تتكرر العملية حتى تتوقف التخصيصات عن التغيير. يُضمن التقاطع لأن كل خطوة تُقلّص دالة الهدف — مجموع مربعات المسافات داخل المجموعات — وعدد التخصيصات الممكنة منتهٍ.
يتقاطع K-Means عند حد أدنى محلي وليس بالضرورة الحد الأدنى العالمي. تعتمد النتيجة النهائية اعتمادًا كبيرًا على مواضع مراكز التجمّع الأولية، ومن هنا تأتي أهمية التهيئة.
اختيار K
K هو فائق-معامل يجب تحديده قبل التدريب. تُساعد طريقتان شائعتان على اختيار K المناسب:
طريقة المِرفَق: شغّل K-Means لـ K = 1، 2، 3، … وارسم القصور الذاتي (التباين الكلي داخل المجموعات) مقابل K. كلما زاد K، تناقص القصور الذاتي دائمًا — حتى يصل إلى الصفر عندما K = n. “المِرفَق” — النقطة التي يُعطي عندها إضافة مجموعات إضافية عائدًا ضئيلًا — يُرشد إلى K طبيعي. عمليًا يكون هذا الانعطاف ناعمًا وذاتيًا في الغالب.
درجة الصورة الظلية: لكل نقطة i، احسب متوسط المسافة إلى جميع النقاط الأخرى في مجموعتها (a(i)) ومتوسط المسافة إلى جميع النقاط في أقرب مجموعة أخرى (b(i)). درجة الصورة الظلية هي:
لا طريقة المِرفَق ولا درجة الصورة الظلية قاطعة. كلتاهما مجرد إرشادات. عمليًا، المعرفة المجالية — كمعرفة أن لديك خمس فئات منتجات أو ثلاثة مستويات عملاء — هي الدليل الأكثر موثوقية لاختيار K. استخدم المقاييس للتحقق من اختيارك لا لاتخاذه بشكل أعمى.
التهيئة وخوارزمية K-Means++
يُهيّئ K-Means القياسي المراكز باختيار K نقاط عشوائيًا من مجموعة البيانات. هذا سريع لكن هش: قد تقود تهيئة سيئة إلى حدود دنيا محلية رديئة حيث تبدو المجموعات غير طبيعية. حل شائع هو تشغيل K-Means عدة مرات ببذور عشوائية مختلفة والإبقاء على أفضل نتيجة (أدنى قصور ذاتي). يفعل scikit-learn ذلك بـ n_init=10 افتراضيًا.
النهج الأفضل بكثير هو K-Means++، استراتيجية تهيئة أذكى قدّمها آرثر وفاسيليفيتسكي عام 2007. بدلًا من وضع جميع المراكز عشوائيًا، تنشرها:
1. اختر أول مركز بشكل عشوائي موحّد.
2. لكل مركز لاحق، اختر نقطة باحتمال يتناسب مع مربع مسافتها من أقرب مركز تم اختياره مسبقًا.
3. كرّر حتى يتم وضع K مراكز.
تهيئة K-Means++ مضمونة احتماليًا بإنتاج حل ضمن O(log K) من الحد الأدنى الأمثل. عمليًا تتقاطع أسرع وتُنتج مجموعات أفضل بكثير من التهيئة العشوائية. هي الآن الافتراضية في معظم التطبيقات بما فيها scikit-learn.
قيود K-Means
K-Means سريع وقابل للتوسع لكنه يحمل افتراضات بنيوية تُحدّ من تطبيقه:
المجموعات الكروية: يُعيّن K-Means كل نقطة إلى أقرب مركز باستخدام المسافة الإقليدية، ما يفترض ضمنيًا أن المجموعات محدبة وإقليدية — كتلية الشكل في فضاء الميزات. لا يستطيع اكتشاف مجموعات ممدودة أو منحنية أو غير منتظمة الشكل.
أحجام متساوية: مراكز K-Means هي متوسطات، تنجذب نحو المناطق الكثيفة. عندما تتفاوت المجموعات في الحجم أو الكثافة، تميل الخوارزمية إلى تقسيم المجموعات الكبيرة ودمج الصغيرة.
الحساسية للقيم الشاذة: المتوسطات ليست متينة أمام القيم المتطرفة. قيمة شاذة واحدة يمكنها سحب مركز تجمّع بعيدًا عن الكتلة الرئيسية لمجموعته.
يتطلب K مسبقًا: خلافًا للأساليب الهرمية، يحتاج K-Means إلى K مُحدَّد قبل التدريب. إن كان العدد الحقيقي للمجموعات مجهولًا، يجب تشغيل الخوارزمية مرات عدة واستخدام معيار انتقاء.
يفترض المسافة الإقليدية: لا تنطبق المسافة الإقليدية على جميع أنواع البيانات. الميزات الفئوية والنصوص والبيانات ذات البنية الرسمية تتطلب دوال مسافة مختلفة وخوارزميات متخصصة.
K-Means بالدُفعات الصغيرة
يتطلب K-Means القياسي تحميل جميع البيانات في الذاكرة ومعالجة مجموعة البيانات بالكامل في كل تكرار. لمجموعات البيانات الضخمة جدًا — الملايين من النقاط — يصبح هذا بطيئًا بشكل حظري. يعالج K-Means بالدُفعات الصغيرة هذا بتحديث المراكز باستخدام دُفعة صغيرة عشوائية من البيانات في كل خطوة، بالتماثل مع النزول التدرجي العشوائي في التعلم الخاضع للإشراف.
في كل تكرار، يُسحب نموذج عشوائي صغير (عادةً 100–10,000 نقطة) من مجموعة البيانات. تُعيَّن كل نقطة إلى أقرب مركز، وتُحدَّث مواضع المراكز باستخدام متوسط متحرك بمعدل تعلّم يتناقص مع الوقت. هذا يُقلّص الحساب بشكل كبير مع الوصول إلى حل جيد.
المقايضة: يتقاطع K-Means بالدُفعات الصغيرة أسرع بالوقت الفعلي لكنه يُنتج قصورًا ذاتيًا أعلى قليلًا من K-Means الكامل. لمعظم التطبيقات العملية ذات البيانات الكبيرة، تتفوق مكاسب السرعة على خسارة الجودة الطفيفة. يُوفّر scikit-learn خوارزمية MiniBatchKMeans بنفس واجهة KMeans القياسية.
كآلات المتجهات الداعمة، K-Means حساس لمقياس الميزات لأنه يستخدم المسافة الإقليدية. ميزة بقيم في الآلاف (كالدخل السنوي) ستهيمن على حسابات المسافة مقارنة بميزة بقيم في الوحدات (عدد المشتريات). احرص دائمًا على تطبيع الميزات إلى متوسط صفري وتباين وحدوي قبل التجميع. هذا من أكثر أخطاء التعلم غير الخاضع للإشراف شيوعًا.
- التجميع يُقسِّم البيانات غير المُسمَّاة إلى مجموعات من النقاط المتشابهة دون الحاجة إلى تسميات.
- يتناوب K-Means بين تعيين النقاط إلى أقرب المراكز وتحديث المراكز كمتوسطات المجموعات حتى التقاطع.
- الهدف هو تصغير القصور الذاتي: إجمالي مجموع مربعات المسافات من كل نقطة إلى مركزها.
- يتقاطع K-Means عند حد أدنى محلي — التهيئة مهمة. K-Means++ يُبذر المراكز بذكاء وهو الافتراضي الآن.
- اختر K بطريقة المِرفَق (منحنى القصور الذاتي) أو درجة الصورة الظلية؛ المعرفة المجالية غالبًا الأكثر موثوقية.
- K-Means يفترض مجموعات كروية متشابهة الحجم وهو حساس للقيم الشاذة ومقياس الميزات.
- K-Means بالدُفعات الصغيرة يتوسع لمجموعات البيانات الكبيرة بتحديث المراكز على عينات عشوائية في كل تكرار.