ML 101
M5 · تجربة
تجربة عملية
قيِّم تجميعًا، ثم دَع الكثافة تجد مجموعاتها بنفسها

قِس تجميعًا بطريقتين، وجِد الكوع، ثم دَع الكثافة تُصنِّف الشواذّ في المِنصّة — وتوقَّع، قبل أن تقرأ من اللوحات، inertia وsilhouette لعنقودَين متباعدَين عند k = 2، وأنّ inertia لا تفعل إلا أن تهبط كلّما ارتفع k، وأيُّ نقاط DBSCAN تعود جوهرية وأيُّها ضوضاء.

القصور الذاتي، والـ silhouette
J = \sum_i \lVert \mathbf{x}_i - \boldsymbol{\mu}_{c(i)} \rVert^2 \qquad s_i = \dfrac{b_i - a_i}{\max(a_i,\,b_i)}

تقسم K-Means البيانات إلى k مجموعات بتصغير inertia (القصور الذاتي) — أي مجموع مربّعات المسافات داخل العنقود إلى النقطة المرجعية لكل مجموعة. ثم يُقيّم silhouette النتيجة في [-1, 1] بمقارنة مدى تماسك النقطة داخل عنقودها بمدى بُعدها عن أقرب عنقود آخر. أمّا DBSCAN فينظر نظرةً مختلفة تمامًا: يُنمّي العناقيد من نوًى كثيفة — فالنقطة جوهرية حين يضمّ جوارها بنصف قطر ε ما لا يقلّ عن minPts نقطة — ويترك الشواذّ ضوضاء، فلا يحتاج أن يُخبَر بـk إطلاقًا.

1 / 9
ML 101
M5 · تجربة
جهّز التجربة
لوحتان

افتح المِنصّة. الخطوات 1–3 تُشغّل K-Means على مجموعة blobs — اتركها هناك واقرأ لوحات inertia وsilhouette ومسح k. أمّا الخطوتان 4–5 فتبدّلان الخوارزمية إلى DBSCAN: اضبط ε وminPts وراقب تلوين النقاط الجوهرية والحدودية والضوضاء.

اضبط هذه القيم
Algorithm -> K-Means Dataset -> blobs k -> 2 Seed -> 7 For steps 4-5 -> Algorithm: DBSCAN eps -> 0.35 minPts -> 4

تُظهر اللوحات J = ∑ ||x - μ||² (inertia)، ومتوسّط silhouette s(i)، ومسحًا لـk يرسم كليهما مقابل k فيُرسَم الكوع لا يُدَّعى. وتحت DBSCAN تُلوّن اللوحة كل نقطة جوهريةً أو حدوديةً أو ضوضاء.

2 / 9
ML 101
M5 · تجربة
الخطوة 1 من 5
inertia لعنقودَين متباعدَين

خذ المجموعة المدرسية — خمس نقاط مكدّسة عند (0, 0) وخمس عند (10, 0) — وشغّل K-Means عند k = 2. يجمع inertia مربّع المسافة من كل نقطة إلى نقطتها المرجعية، وتحطّ كل نقطة مرجعية تمامًا على كومتها. توقَّع inertia، ثم اقرأ اللوحة.

المتوقّع

inertia = 0. كل نقطة تنطبق على نقطتها المرجعية، فمجموع المربعات داخل العنقود صفرٌ تمامًا — أدنى ما يبلغه أيُّ تجميع. وعلى عناقيد حقيقية منتشرة يكون صغيرًا لكن غير صفري؛ الصفر هو الحدّ الأدنى المثالي.

3 / 9
ML 101
M5 · تجربة
الخطوة 2 من 5
درجة silhouette لها

قيِّم الملاءمة نفسها عند k = 2 بـsilhouette، s_i = (b_i - a_i) / max(a_i, b_i)، حيث a متوسّط المسافة داخل عنقود النقطة وb متوسّط المسافة إلى أقرب عنقود آخر. هنا a = 0 وb = 10. توقَّع متوسّط silhouette، ثم اقرأ اللوحة.

المتوقّع

silhouette = (10 - 0) / max(0, 10) = 1 — القيمة القصوى. التماسك تامٌّ والفصل واسع. تحفّظٌ صادق: يكافئ silhouette العناقيد المستديرة جيّدة الفصل، فالدرجة العالية تؤكّد التماسك لا الصواب — وقد يُجمَّع شكلٌ غير محدَّب تجميعًا صحيحًا ومع ذلك ينال درجةً منخفضة.

4 / 9
ML 101
M5 · تجربة
الخطوة 3 من 5
الكوع: inertia لا تفعل إلا أن تهبط مع ارتفاع k

امسح k من 1 إلى 6 على blobs وراقب لوحة المسح. إضافة نقطة مرجعية لا تفعل إلا أن تُقصّر مسافة نقطةٍ ما إلى أقرب نقطة مرجعية، ولا تُطيلها أبدًا، فـinertia غير متزايدة في k. توقَّع كم مرّة ترتفع inertia لأعلى عبر المسح، ثم اقرأ المنحنى.

المتوقّع

0 — inertia لا ترتفع أبدًا؛ بل تهبط بحدّة حتى يبلغ k العددَ الحقيقي للعناقيد (ثلاثة هنا)، ثم تستوي. تلك الثنية هي الكوع الذي تختار عنده k. لاحِظ أنّ inertia وحدها تفضّل دائمًا عناقيدَ أكثر — ولذا تقرأ الكوع لا الحدّ الأدنى.

5 / 9
ML 101
M5 · تجربة
الخطوة 4 من 5
DBSCAN: النقطة المعزولة ضوضاء

بدِّل إلى DBSCAN بـε = 0.35 وminPts = 4. خذ شبكةً كثيفة 5×5 من النقاط مع شاذّةٍ واحدة بعيدة. يُنمّي DBSCAN العناقيد من المناطق الكثيفة ويأبى أن يحشر الشواذّ فيها. توقَّع تسمية عنقود الشاذّة، ثم اقرأ تلوين الجوهرية والحدودية والضوضاء.

المتوقّع

تسمية الشاذّة -1 — ضوضاء. لا يقع في جوارها بنصف قطر ε إلا هي، أي دون minPts بكثير، ولا يمكن الوصول إليها من أيّ نقطة جوهرية، فيتركها DBSCAN خارجًا. أمّا نقاط الشبكة الداخلية فتعود جميعها نقاطًا جوهرية في عنقودٍ واحد. وهذا ما تعجِز عنه K-Means — إذ تسحب الشاذّة إلى عنقود وتجرّ نقطةً مرجعية عن موضعها الصحيح.

6 / 9
ML 101
M5 · تجربة
الخطوة 5 من 5
حدّ minPts بالضبط

والآن الاختبار الأحدّ. خذ أربع نقاط محشورة داخل كرةٍ واحدة نصف قطرها ε وانظر إلى إحداها: يضمّ جوارها بنصف قطر ε نفسها إضافةً إلى الثلاث الأخريات — أربع نقاط بالضبط. النقطة جوهرية حين |Nε(p)| ≥ minPts. عند minPts = 4، توقَّع أهي نقطة جوهرية (1 = نعم، 0 = لا)، ثم ارفع minPts إلى 5 وراقب.

المتوقّع

core = 1 — إذ 4 ≥ minPts = 4 فهي تقع تمامًا على الحدّ وتُعَدّ جوهرية. ارفع minPts إلى 5 فتهبط النقطة نفسها إلى غير جوهرية (4 < 5)، لأنّ DBSCAN يَعُدّ النقطة نفسها: الاختبار ≥ لا >. وهذه الزيادة بواحد هي سبب أن اصطلاح sklearn وهذا العرض كليهما يُدرِجان النقطة في جوارها.

7 / 9
ML 101
M5 · تجربة
دورك الآن
افتح المِنصّة

كل ما سبق ينتظرك في المِنصّة. اسحب k وراقب لوحتَي inertia وsilhouette تتحرّكان، وامسح لوحة k لتجد الكوع، ثم بدِّل إلى DBSCAN وأدِر ε وminPts لترى العناقيد تنمو من نوًى كثيفة بينما تسقط الشواذّ ضوضاء — وجرّب moons وcircles، حيث يتبع DBSCAN الشكل ولا تستطيعه K-Means.

8 / 9
ML 101
M5 · تجربة
خلاصة
ما أنجزتَه
  • قِستَ inertia = 0 وsilhouette = 1 لعنقودَين متباعدَين — أفضل حالٍ مثالي
  • رأيتَ inertia تهبط هبوطًا رتيبًا كلّما ارتفع k (صفر ارتفاعات عبر المسح) — الكوع الذي تختار عنده k
  • راقبتَ DBSCAN يُسمّي نقطةً معزولة ضوضاء (-1) بدل أن يحشرها في عنقود
  • وجدتَ أنّ نقطةً لها minPts جارًا بالضبط جوهرية — حدُّ ≥ الذي ينقلب عند minPts + 1
  • كل قيمة توقّعتها هي حساب K-Means وDBSCAN الخاص بالعرض نفسه، لا صورة تقريبية
9 / 9