K-Means من أشهر خوارزميات التعلم غير الخاضع للإشراف (Unsupervised Learning). لا تحتاج البيانات إلى تسميات مسبقة، بل تحاول الخوارزمية اكتشاف مجموعات طبيعية تسمى Clusters.
الفكرة الأساسية
إذا اخترنا K = 3 تبدأ الخوارزمية بثلاثة مراكز. يتم إسناد كل نقطة إلى أقرب مركز، ثم يحسب مركز كل مجموعة من جديد باستخدام متوسط نقاطها.
تتكرر العملية حتى تستقر المجموعات.
الخطوات
- اختيار K.
- تحديد K Centroids أولية.
- حساب المسافة بين كل نقطة وكل Centroid.
- إسناد النقطة إلى أقرب مجموعة.
- إعادة حساب Centroid.
- تكرار العملية حتى Convergence.
ما هو Centroid؟
Centroid هو متوسط موقع نقاط المجموعة. ليس من الضروري أن يكون نقطة حقيقية موجودة في البيانات.
Euclidean Distance
من المقاييس الشائعة:
d = sqrt((x2 - x1)^2 + (y2 - y1)^2)
وتنتمي كل نقطة إلى أقرب Centroid.
اختيار K
Elbow Method
تتم تجربة عدة قيم لـ K وقياس الخطأ داخل المجموعات. عند نقطة معينة يصبح تحسن الخطأ أقل بشكل واضح، ويمكن اعتبارها قيمة مناسبة لـ K.
Silhouette Score
يقيس مدى قرب العينة من مجموعتها ومدى ابتعادها عن المجموعات الأخرى.
أهمية Feature Scaling
لأن K-Means يعتمد على المسافة، يجب الحذر عندما تكون الخصائص على مقاييس مختلفة جداً. Standardization وMin-Max Scaling من الحلول الشائعة.
تهيئة Centroids
النتيجة قد تتأثر بالمراكز الأولية. لذلك تستخدم طرق مثل K-Means++ لاختيار بداية أفضل.
في تطبيق JavaScript الموجود في المشروع، يتم استخدام أول K نقاط كمراكز أولية. هذا مناسب للتعلم، بينما تستخدم التطبيقات العملية عادة تهيئة أكثر قوة أو عدة تشغيلات.
التطبيقات
- Customer Segmentation
- تقسيم مستخدمي المنتجات
- تحليل التسويق
- ضغط الصور
- Exploratory Data Analysis
المزايا
- بسيطة وسريعة نسبياً
- مناسبة لمسائل Segmentation
- تساعد في اكتشاف بنية أولية للبيانات
- قابلة للتطبيق على مجموعات بيانات كبيرة نسبياً
القيود
- يجب تحديد K مسبقاً
- حساسة للقيم الشاذة
- تتأثر بتهيئة Centroids
- تعمل بشكل أفضل مع مجموعات متماسكة نسبياً
- مصممة أساساً للبيانات العددية
منطق التنفيذ
choose K centroids
repeat:
assign every point to nearest centroid
recompute each centroid as cluster mean
until assignments stop changing
التطبيق المرفق يحسب مسافات النقاط إلى المراكز، يختار أقرب Cluster لكل نقطة، ثم يعيد حساب متوسط أبعاد أعضاء كل مجموعة حتى تستقر التخصيصات.
الفرق بين K-Means وKNN
KNN خوارزمية Supervised تستخدم بيانات تحمل Labels لتوقع فئة عينة جديدة.
أما K-Means فهي Unsupervised وتبحث عن Clusters بدون Labels.
الخلاصة
K-Means خوارزمية أساسية لفهم Clustering. ويعتمد نجاحها على اختيار K، وتقييس الخصائص، ومعالجة Outliers، وطريقة تهيئة Centroids وطبيعة شكل المجموعات.