تعلم الآلة متوسط · Intermediate 12 دقيقة

التجميع بـ K-Means

K-Means Clustering

تقسيم البيانات إلى K مجموعات بتكرار خطوتي الإسناد وتحديث المراكز.

تقدّمك في المسار0%

الخوارزمية

  1. اختر \(K\) مراكز أولية.
  2. أسند كل نقطة إلى أقرب مركز.
  3. حدّث كل مركز ليكون متوسط نقاطه.
  4. كرر الخطوتين 2 و3 حتى تستقر المراكز.

الهدف:

$$\min_{C_1,\dots,C_K} \sum_{k=1}^{K} \sum_{\mathbf{x} \in C_k} \|\mathbf{x} – \boldsymbol{\mu}_k\|^2$$

مثال

from sklearn.datasets import make_blobs
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score

X, _ = make_blobs(n_samples=500, centers=4, random_state=0)
X = StandardScaler().fit_transform(X)
for k in range(2, 8):
    km = KMeans(n_clusters=k, n_init=10, random_state=0).fit(X)
    print(k, round(km.inertia_, 1), round(silhouette_score(X, km.labels_), 3))

اختيار K

  • طريقة المرفق (Elbow): ارسم inertia مقابل K وابحث عن نقطة يتباطأ بعدها الانخفاض.
  • معامل الظل: اختر K الذي يعطي متوسطاً أعلى.
  • معرفة المجال: عدد الشرائح المفيد عملياً.

القيود

  • تفترض مجموعات محدبة متقاربة الحجم؛ تفشل مع الأشكال الهلالية أو المتداخلة (جرّب DBSCAN أو Gaussian Mixture).
  • حساسة لمقياس السمات وللقيم الشاذة.
  • يجب تحديد K مسبقاً.

مصطلحات الدرس

القصور الذاتي Inertia
مجموع مربعات المسافات بين النقاط ومراكز مجموعاتها، وهو ما تقلله K-Means.
مركز المجموعة Centroid
متوسط نقاط المجموعة، ويمثلها في خوارزمية K-Means.
معامل الظل Silhouette Coefficient
مقياس بين -1 و1 يقارن قرب النقطة من مجموعتها بقربها من أقرب مجموعة أخرى.

الملخص

خوارزمية K-Means تقسم البيانات إلى K مجموعات بتقليل مجموع مربعات المسافات بين النقاط ومراكز مجموعاتها (inertia). تتكرر خطوتان: إسناد كل نقطة إلى أقرب مركز، ثم تحديث كل مركز ليكون متوسط نقاطه. تعتمد النتيجة على التهيئة (k-means++ تحسنها) وعلى اختيار K، وتفترض مجموعات كروية متقاربة الحجم تقريباً.

أسئلة مراجعة

  1. ما الخطوتان المتكررتان في K-Means؟

    إسناد كل نقطة إلى أقرب مركز، ثم إعادة حساب كل مركز كمتوسط نقاطه.

  2. لماذا لا نختار K بتقليل inertia فقط؟

    لأن inertia تنخفض دائماً بزيادة K حتى تصل إلى الصفر عندما يساوي K عدد النقاط.

المصادر والمراجع

  1. scikit-learn — Clustering: K-means
  2. Lloyd (1982) Least squares quantization in PCM — IEEE Trans. Information Theory
  3. Arthur & Vassilvitskii (2007) k-means++: The advantages of careful seeding — SODA

إكمال الدرس