K-Means Clustering
استكشف تجميع K-Means للتعلم غير الخاضع للإشراف. اكتشف كيف تقسم هذه الخوارزمية البيانات، وتعزز تطبيقات الذكاء الاصطناعي، وتُعلم نماذج مثل Ultralytics YOLO26.
يعد تجميع K-Means خوارزمية أساسية ومستخدمة على نطاق واسع في مجال التعلم غير السيّر المصمم لکشف الهياكل الخفية ضمن البيانات غير المسماة. يتمثل هدفها الأساسي في تقسيم مجموعة بيانات إلى مجموعات فرعية متميزة، تُعرف بالمجموعات (المجموعات العنقودية)، بحيث تكون نقاط البيانات في نفس المجموعة متشابهة قدر الإمكان، بينما تكون النقاط في المجموعات المختلفة متميزة. وباعتباره ركيزة أساسية للتعدين البيانات والتحليل الاستكشافي، يمكّن K-Means علماء البيانات من تنظيم المعلومات المعقدة تلقائيًا في فئات قابلة للإدارة دون الحاجة إلى تسميات محددة مسبقًا أو إشراف بشري.
كيفية عمل الخوارزمية#
عملية K-Means تكرارية وتعتمد على مقاييس المسافة لتحديد التجميع الأمثل لبيانات التدريب. تعمل الخوارزمية عن طريق تنظيم العناصر في K مجموعات، حيث ينتمي كل عنصر إلى المجموعة ذات المتوسط الأقرب، أو النقطة المركزية. تقلل هذه العملية من التباين داخل كل مجموعة. يتبع سير العمل عمومًا هذه الخطوات:
-
التهيئة: تختار الخوارزمية K نقاط أولية كنقاط مركزية. يمكن اختيار هذه النقاط عشوائيًا أو عبر طرق محسنة مثل k-means++ لتسريع التقارب.
-
التخصيص: يتم تعيين كل نقطة بيانات في مجموعة البيانات إلى النقطة المركزية الأقرب بناءً على مقياس مسافة معين، وأكثرها شيوعًا هو المسافة الاقليدية.
-
التحديث: يتم إعادة حساب المراكز عن طريق أخذ المتوسط (mean) لجميع نقاط البيانات المعينة لهذا العنقود.
-
التكرار: يتم تكرار الخطوتين 2 و3 حتى تتوقف المراكز عن التحرك بشكل ملحوظ أو يتم الوصول إلى الحد الأقصى من التكرارات.
يعد تحديد العدد الصحيح للمجموعات (K) جانبًا حاسمًا لاستخدام هذه الخوارزمية. غالبًا ما يستخدم الممارسون تقنيات مثل طريقة الكوع أو يحللون نتيجة الصورة الظلية لتقييم مدى فصل المجموعات الناتجة.
تطبيقات العالم الحقيقي في الذكاء الاصطناعي#
تجميع K-Means متعدد الاستخدامات بشكل كبير ويجد فائدة عبر مختلف الصناعات للتبسيط ومعالجة البيانات المسبقة.
- ضغط الصور وكمية الألوان: في رؤية الكمبيوتر (CV)، يساعد K-Means في تقليل حجم ملف الصور عن طريق تجميع ألوان البكسل. من خلال تجميع آلاف الألوان في مجموعة أصغر من الألوان المهيمنة، تؤدي الخوارزمية بفعالية تقليل الأبعاد مع الحفاظ على الهيكل البصري للصورة. غالبًا ما تُستخدم هذه التقنية قبل تدريب نماذج كشف الكائنات المتقدمة لتطبيع بيانات الإدخال.
- تجزئة العملاء: تستفيد الشركات من التجميع لتجميع العملاء بناءً على تاريخ الشراء، أو التركيبة السكانية، أو سلوك موقع الويب. يتيح ذلك استراتيجيات تسويق مستهدفة، وهي عنصر رئيسي في حلول الذكاء الاصطناعي في قطاع التجزئة. من خلال تحديد المتسوقين ذوي القيمة العالية أو مخاطر المغادرة، يمكن للشركات تصميم رسائلها بشكل فعال.
- الكشف عن الشذوذ: من خلال تعلم هيكل مجموعات البيانات "العادية"، يمكن للأنظمة تحديد القيم المتطرفة التي تقع بعيدًا عن أي نقطة مركزية. هذا قيّم للكشف عن الاحتيال في التمويل والكشف عن الشذوذ في أمن الشبكات، مما يساعد في الإبلاغ عن الأنشطة المشبوهة التي تنحرف عن الأنماط القياسية.
- إنشاء مربعات الإرساء: تاريخياً، استخدمت كواشف الكائنات مثل إصدارات YOLO القديمة K-Means لحساب مربعات الإرساء المثلى من مجموعات بيانات التدريب. بينما تستخدم النماذج الحديثة مثل YOLO26 طرق متقدمة خالية من المراسي، يظل فهم K-Means ذو صلة بتطور معماريات الكشف.
مثال على التنفيذ#
بينما تتعامل أطر التعلم العميق مثل منصة Ultralytics مع خطوط أنابيب التدريب المعقدة، غالبًا ما يُستخدم K-Means لتحليل إحصاءات مجموعة البيانات. يوضح مقتطف Python التالي كيفية تجميع إحداثيات ثنائية الأبعاد - محاكاة نقاط مركز الكائنات - باستخدام مكتبة Scikit-learn الشهيرة.
import numpy as np
from sklearn.cluster import KMeans
# Simulated coordinates of detected objects (e.g., from YOLO26 inference)
points = np.array([[10, 10], [12, 11], [100, 100], [102, 101], [10, 12], [101, 102]])
# Initialize K-Means to find 2 distinct groups (clusters)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto").fit(points)
# Output the cluster labels (0 or 1) for each point
print(f"Cluster Labels: {kmeans.labels_}")
# Output: [1 1 0 0 1 0] -> Points near (10,10) are Cluster 1, near (100,100) are Cluster 0المقارنة مع الخوارزميات ذات الصلة#
من المهم التمييز بين K-Means والخوارزميات الأخرى ذات الأسماء أو الوظائف المتشابهة لضمان اختيار الأداة الصحيحة للمشروع.
- K-Means مقابل K-Nearest Neighbors (KNN): غالبًا ما يتم الخلط بين هذه العناصر بسبب حرف "K" في أسمائها. K-Means هي خوارزمية غير خاضعة للإشراف تُستخدم لتجميع البيانات غير المسماة. في المقابل، K-Nearest Neighbors (KNN) هي خوارزمية تعلم خاضعة للإشراف تُستخدم لتصنيف الصور والانحدار، وتعتمد على البيانات المسماة لعمل التنبؤات بناءً على فئة الأغلبية للجيران.
- K-Means مقابل DBSCAN: بينما تقوم كلتاهما بتجميع البيانات، يفترض K-Means أن المجموعات كروية ويتطلب تحديد عدد المجموعات مسبقًا. يقوم DBSCAN بتجميع البيانات بناءً على الكثافة، ويمكنه العثور على مجموعات بأشكال عشوائية، ويتعامل مع الضوضاء بشكل أفضل. هذا يجعل DBSCAN متفوقًا للبيانات المكانية المعقدة الموجودة في مجموعات البيانات ذات الهياكل غير المنتظمة حيث يكون عدد المجموعات غير معروف.






