You are on page 1of 26

‫‪Data Mining‬‬

‫طرق وخوارزمٌات التجمٌع‬


‫‪Cluster Algorithm‬‬
‫المحاضرة الحادٌة عشر‬
‫محسن عبد اللطٌف مصطفى‬
‫‪ 19‬كانون األول ‪2012‬‬
‫انطريقة انمبنية عهى انتجسئة‬
‫‪k1*Partitioning methods‬‬
‫• ٌتم تحدٌد عدد المجموعات (‪ )cluster‬التً نرٌد أن نجزأ‬
‫البٌانات فٌها‪ ،‬مثلا ‪ k‬وكل مجموعة تحوي عنصر واحد على‬
‫األقل‪ .‬هذه الطرٌقة تعتمد على تابع المسافة لقٌاس التشابه‪،‬‬
‫وقد تقوم بنقل عنصر من مجموعة إلى أخرى لتحسٌن‬
‫النتٌجة‪ .‬كما أنها تعطً مجموعات منفصلة تماما ا (العنصر‬
‫ٌنتمً إلى مجموعة واحدة)‪ .‬وٌمكن تحسٌن هذه الطرٌقة‬
‫لتعمل على فضاء جزئً بدالا من الفضاء الكامل‪.‬‬
‫المجموعات الناتجة لها شكل كروي (مركز فً الفضاء‬
‫وجمٌع نقط المجموعة تبعد أقل من نصف القطر عن‬
‫المركز)‪.‬‬
‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪2‬‬
‫انطريقة انمبنية عهى انتقسيم انهرمي‬
‫‪k2*Hierarchical methods‬‬
‫‪ Bottom_up‬وهنا نعتبر كل عنصر مجموعة (‪ ،)cluster‬ثم نقوم بتجمٌع العناصر‬ ‫•‬
‫المتقاربة لنشكل مجموعات أكبر‪ ،‬وهكذا نكرر العمل حتى ندمج كل العناصر فً‬
‫مجموعة واحدة أو ٌتحقق شرط توقف (عدد المجموعات أقل من قٌمة معٌن مثلا)‪.‬‬
‫‪ Top_down‬هنا نعتبر كل العناصر مجموعة واحدة‪ ،‬ونقوم فً كل دورة بتقسٌم كل‬ ‫•‬
‫مجموعة إلى مجموعات أصغر‪ ،‬إلى أن ٌصبح كل عنصر فً مجموعة مستقلة أو ٌتحقق‬
‫شرط توقف‪.‬‬
‫مشكلة هذه الطرٌقة أنه بعد دمج محموعتٌن (أو تقسٌم مجموعة) ال ٌمكن التراجع‪.‬‬ ‫•‬
‫هناك تحسنات لهذه الطرٌقة لتعمل على فضاء جزئً‪.‬‬ ‫•‬
‫تستخدم هذه الطرٌقة مقٌاس المسافة أو الكثافة لمقارنة العناصر‪.‬‬ ‫•‬
‫الشركة تتكون من مئات الموظفٌن‪ٌ ،‬مكن أن نجمع الموظفٌن فً مجموعات صغٌرة‪ ،‬ثم‬ ‫•‬
‫نجمع تلك المجموعات فً مجموعات أكبر‪ ،‬حتى نصل إلى كامل الشركة‪ٌ .‬مكن أن نعمل‬
‫بالعكس من الشركة إلى الموظفٌن‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪3‬‬
‫انطريقة انمبنية عهى انكثافة‬
‫‪k3*Density-based methods‬‬
‫• معظم خوارزمٌات التجمٌع تعتمد على تابع المسافة لقٌاس‬
‫التشابه بٌن العناصر‪ .‬فً هذه الطرٌقة نعتمد على الكثافة‪،‬‬
‫حٌث أنه فً جوار أٌة نقطة من المجموعة وضمن مسافة‬
‫نختارها ٌجب أن ٌكون لدٌنا عدد من العناصر ٌزٌد عن قٌمة‬
‫نختارها‪.‬‬
‫• هذه الطرٌقة تعطً مجموعات منفصلة تماماا‪ ،‬ولها أشكال‬
‫غٌر كروٌة‪ ،‬كما ٌمكن تطبٌقها على فضاءات جزئٌة‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪4‬‬
‫طريقة انشبكة‬
‫‪k4*Grid-based methods‬‬
‫• مثلا فً المستوي نرسم شبكة مربعات‪ ،‬ثم ندرس النقط فً‬
‫كل مربع‪ .‬هذه الطرٌقة فاشلة إذا استخدمت لوحدها‪ ،‬لذلك‬
‫فإننا نستخدمها مع طرٌقة أخرى مثل الطرٌقة الهرمٌة أو‬
‫المبنٌة على الكثافة‪ ،‬حٌث نحسب التشابه بٌن النقط الواقعة‬
‫فً نفس المربع أو فً مربعات متجاورة بدالا من حسابه بٌن‬
‫كل نقطتٌن من كامل المجموعة‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪5‬‬
‫انصفات انعامة نطرق انتجميع‬
‫‪Method General Characteristics‬‬
‫الصفات العامة ‪General Characteristics‬‬ ‫الطريقة ‪Method‬‬
‫تبحث عن مجموعات شكلها كروي‪ ،‬ومنفصلة تماما ا‪.‬‬ ‫‪⁻‬‬ ‫الطرق المبنٌة على التجزئة‬
‫مبنٌة على تابع المسافة‪.‬‬ ‫‪⁻‬‬ ‫‪Methods Partitioning‬‬
‫تستخدم المتوسط لتمثٌل مركز ‪.cluster‬‬ ‫‪⁻‬‬
‫جٌدة فً حالة مجموعة البٌانات الصغٌرة أو المتوسطة‪.‬‬ ‫‪⁻‬‬
‫الطرق المبنٌة على التقسٌم الهرمً ‪ٌ ⁻‬تم تشكٌل المجموعات على مراحل وبشكل هرمً‬
‫‪ ⁻‬ال تستطٌع تصحٌح أي عملٌة دمج (أوفصل) خاطئة‬ ‫‪Hierarchical methods‬‬
‫‪ٌ ⁻‬مكن أن تستخدم تقنٌات أخرى مثل ‪linkages ،micro clustering‬‬
‫ٌمكن أن تكشف مجموعات غٌر منتظمة الشكل‪.‬‬ ‫‪⁻‬‬ ‫الطرق المبنٌة على الكثافة‬
‫المجموعات (‪ )cluster‬هً المناطق العالٌة الكثافة‪ ،‬وتفصل بٌن‬ ‫‪⁻‬‬ ‫‪Density-based methods‬‬
‫المجموعات مناطق منخفضة الكثافة‪.‬‬
‫ٌجب أن ٌكون عدد النقط المجاورة لكل نقطة أكبر من حد معٌن‪.‬‬ ‫‪⁻‬‬
‫تستطٌع أن تعزل النقط الشاذة‪.‬‬ ‫‪⁻‬‬
‫‪ ⁻‬تستخدم هٌكلة شبكة البٌانات متعددة الحلول‬ ‫الطرق المبنٌة على الشبكة‬
‫‪ ⁻‬سرٌعة وال تتأثر بعدد النقط‪ ،‬بل تتأثر بعدد خلٌا الشبكة‬ ‫‪Grid-based methods‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪6‬‬
‫طرق انتجميع انمبنية عهى انتجسئة‬
‫‪Partitioning Methods‬‬
‫وهً من أبسط الطرق‪ ،‬ولها الشكل العام التالً‪:‬‬
‫ـ نحدد عدداألجزاء (‪k )cluster‬‬
‫ـ نختار ‪ k‬عنصر بشكل عشوائً ونعتبرهم مراكز لألجزاء‪.‬‬
‫ـ نضٌف كل عنصر من العناصر الباقٌة إلى الجزء الذي مركزه‬
‫قرٌب من العنصر‪ ،‬ونستخدم تابع المسافة اإلقلٌدٌة لقٌاس البعد‪.‬‬
‫ـ نختار مراكز جدٌدة لألجزاء التً تم تشكٌلها‪.‬‬
‫ـ نعٌد تجمٌع العناصر حول المراكز الجدٌدة‪ ،‬ثم نحدد مراكز جدٌدة‪.‬‬
‫ـ نكرر العمل حتى ٌستقر التوزٌع‪ ،‬أي ال تتغٌر المراكز‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪7‬‬
‫طريقة ‪ k_means‬أو ‪ k‬متىسط‬
‫‪k-Means: A Centroid-Based Technique‬‬
‫فً هذه الطرٌقة نستخدم المتوسط لتحدٌد المركز الجدٌد‪ ،‬أي بعد‬ ‫•‬
‫اختٌار ‪ k‬عنصر عشوائً كنقطة بداٌة‪ ،‬ثم تجمٌع العناصر حول‬
‫هذه المراكز‪ ،‬نحسب بعدها متوسط كل جزء ونعتبره مركز‬
‫جدٌد‪ ،‬ونستخدمه فً الجولة التالٌة من التجمٌع‪.‬‬
‫إن جودة ‪ cluster‬تحسب من مجموع مربعات المسافة بٌن‬ ‫•‬
‫عناصر ‪ cluster‬والمركز‪ ،‬وهنا نستخدم المسافة اإلقلٌدٌة‪.‬‬
‫إن حساب مجموع مربعات المسافات بٌن العناصر والمركز‪،‬‬ ‫•‬
‫ٌهدف إلى جعل ‪ cluster‬مضغوط ومنفصل عن باقً ‪.cluster‬‬
‫ٌعنً كلما صغر مجموع المربعات كان ‪ cluster‬أفضل‪.‬‬ ‫•‬
‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪8‬‬
‫‪k-Means: A Centroid-Based Technique‬‬
‫• لنفرض مجموعة البٌانات ‪ D‬تحتوي ‪ n‬كائن فً الفضاء االقلٌدي‪،‬‬
‫ٌمكن تقسٌم ‪ D‬إلى ‪ k‬مجموعة ‪ ، C1,…, Ck‬حٌث ‪ ،Ci  D‬و ‪Ci‬‬
‫‪  Cj = ‬من أجل ‪.1 i,j  k‬‬
‫• ٌمكن تقسٌم البٌانات ضمن كتل مشابه لبعضها البعض ولكن‬
‫تختلف عن غٌرها من الكائنات فً المجموعات األخرى‪.‬‬
‫• النقطة المتوسط تحدد الفرق بٌن مجموعة من النقاط بحٌث ٌكون‬
‫البعد (البعد االقلٌدي) فٌما بٌنها صغٌر لتشكل مجموعة‪ ،‬وٌتم‬
‫حساب نقطة المتوسط‪.‬‬
‫𝑘‬ ‫‪2‬‬
‫=𝐸 •‬ ‫‪𝑖=1‬‬ ‫𝑖𝑐∈𝑝‬ ‫‪𝑑𝑖𝑠(𝑝,‬‬ ‫𝑐‬‫‪𝑖 , 10,1‬‬
‫)‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪9‬‬
‫كيف تعمم طريقة ‪ k_means‬؟‬
‫إنها تستخدم المتوسط لتحدٌد مركز ‪.cluster‬‬ ‫•‬
‫أوالا نحتار ‪k‬عنصر بشكل عشوائً‪ ،‬ونعتبرها مراكز‬ ‫•‬
‫للمجموعات (‪)cluster‬‬
‫من أجل كل عنصر من العناصر الباقٌة نبحث عن المركز‬ ‫•‬
‫األقرب (األكثر شبها ا بالعنصر)‪ ،‬ونضٌف العنصر إلى ‪cluster‬‬
‫الخاص بذلك المركز‪.‬‬
‫فً كل دورة تقوم الخوارزمٌة بحساب متوسط عناصر ‪،cluster‬‬ ‫•‬
‫وتعتبر هذا المتوسط مركزاا جدٌداا‪ ،‬ثم تعٌد توزٌع باقً العناصر‬
‫بحسب قربها (شبهها) من المراكز الجدٌدة‪.‬‬
‫تتوقف الخوارزمٌة عندما نحصل على نتٌجة مشابهة للنتٌجة التً‬ ‫•‬
‫حصلنا علٌها فً الدورة السابقة‪.‬‬
‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪10‬‬
Algorithm: k-means
Input:
– k: the number of clusters,
– D: a data set containing n objects.
Output: A set of k clusters.
Method:
.‫ واعتبرها المراكز البدائٌة‬،ً‫عنصر بشكل عشوائ‬k ‫اختر‬
(1) arbitrarily choose k objects from D as the initial cluster centers;
(2) Repeat
.‫ بحسب قربها من المراز‬cluster ‫أعد توزٌع العناصر على‬
(3) (re)assign each object to the cluster to which the object is the most similar,
based on the mean value of the objects in the cluster;
cluster ‫احسب المتوسط لعناصر كل‬
(4) update the cluster means, that is, calculate the mean value of the objects for
each cluster;
(5) until no change;
19 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 11
‫انخىارزمية ‪k-Means‬‬
‫إن هذه الخوارزمٌة ال تعطً الحل األفضل‪ ،‬وهً تتأثر‬ ‫•‬
‫بمجموعة المراكز البدائٌة‪.‬‬
‫عملٌاا‪ ،‬للحصول على نتائج أفضل‪ ،‬نقوم بتطٌق الخوارزمٌة‬ ‫•‬
‫عدة مرات انطلقا ا من مراكز بدائٌة مختلفة فً كل مرة‪ ،‬ثم‬
‫نختار النتٌجة األفضل‪.‬‬
‫سؤال‪ :‬كٌف نعرف النتٌجة األفضل؟‬ ‫•‬
‫النتٌجة األفضل هً التً ٌكون فٌها مجموع مربعات‬ ‫•‬
‫المسافات أصغر ما ٌمكن‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪12‬‬
19 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 13
‫هناك عدة أشكال لخوارزمٌة ‪ k_means‬وهً تختلف عن‬ ‫•‬
‫بعضها بطرٌقة اختٌار المراكز البدائٌة‪ ،‬وقٌاس التشابه‪ ،‬وحساب‬
‫المتوسط‪.‬‬
‫ال ٌمكن استخدام هذه الخوارزمٌة فً حال البٌانات الرمزٌة‪،‬‬ ‫•‬
‫لماذا؟‬
‫ألننا ال نستطٌع حساب المتوسط‪.‬‬ ‫•‬
‫لذلك نستخدم خوارزمٌة ‪ k_mods‬التً تستخدم المنوال بدالا من‬ ‫•‬
‫المتوسط‪.‬‬
‫ٌمكن أن نستخدم ‪ k_means and k_mods‬معا ا فً حالة‬ ‫•‬
‫البٌانات الرمزٌة والعددٌة معا ا‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪14‬‬
‫إن تحدٌد قٌمة ‪ k‬سلفا ا هو أحد سلبٌات هذه الطرٌقة‪ ،‬وللتغلب على‬ ‫•‬
‫هذه السلبٌة نطبق الخوارزمٌة من أجل عدة قٌم ل ‪ k‬ثم نختار ‪k‬‬
‫التً تعطً نتٌجة أفضل‪.‬‬
‫إن هذه الخوارزمٌة ال تستطٌع اكتشاف ‪ cluster‬غٌر الكروي‪،‬‬ ‫•‬
‫كما أنها تتأثر بالقٌم الشاذة التً تدخل فً حساب المتوسط‪.‬‬
‫لتحسٌن هذه الخوارزمٌة فً حالة مجموعة البٌانات الكبٌرة هناك‬ ‫•‬
‫عدة اقتراحات‪ :‬األول هو أخذ عٌنة بحجم مناسب وتطبٌق‬
‫الخوارزمٌة علٌها‪.‬‬
‫الثانً هو استخدام ‪ index‬لترتٌب البٌانات‪ ،‬وتسرٌع حساب‬ ‫•‬
‫المتوسط‪.‬‬
‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪15‬‬
k-Means ‫مثال‬
‫ بالنظر‬25 ،10 ،9 ،8 ،3 ،2 ،1 ‫• بفرض لدٌنا النقاط السبع‬
:‫سوف ٌتم التقسٌم إلى‬
• {{1, 2, 3}, {8, 9, 10}, {25} }; k=3
• {{1, 2, 3}, {8, 9, 10, 25}}; k=2
• (1-2)2 + (2-2)2+(3-2)2+(8-13)2+(9-13)2+(10-
13)2+(25-13)2= 196,

• {{1, 2, 3,8}, { 9, 10, 25}}; k=2


• (1-3.5)2 + (2-3.5)2+(3-3.5)2+(8-3.5)2+(9-
14.67)2+(10-14.67)2+(25-14.67)2= 189.67,

19 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 16


‫تقنية مبنية عهى انعنصر انممثم ‪k‬‬
‫‪k-Medoids: A Representative Object-Based Technique‬‬

‫نستخدم أحد عناصر لتمثٌل ‪ cluster‬ولٌس المتوسط الذي قد‬ ‫•‬


‫ال ٌنطبق على أي عنصر‪.‬‬
‫إن خوارزمٌة ‪ k_means‬حساسة للعناصر الشاذة‪ ،‬فإذا‬ ‫•‬
‫انتمى عنصر شاذ إلى حدى المجموعات فإنه ٌحرف‬
‫المتوسط بشكل كبٌر‪.‬‬
‫وبالتالً سٌؤثر على عملٌة توزٌع العناصر على المجموعات‬ ‫•‬
‫(‪.)cluster‬‬
‫ألن العناصر تنتمً إلى ‪ cluster‬الذي مركزه (المتوسط)‬ ‫•‬
‫قرٌب منها‪.‬‬
‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪17‬‬
‫انخىارزمية انمعدنة‬
‫‪modify the k-means algorithm‬‬
‫• بدل من أخذ المتوسط للكائنات كنقطة مرجعٌة‪ٌ ،‬مكننا اختٌار‬
‫الكائنات الفعلٌة لتمثٌل المجموعات‪ ،‬وذلك باستخدام كائن‬
‫واحد ممثل لكل كتلة‪ ،‬ثم ٌتم تعٌن كل الكائنات المتبقٌة لهذه‬
‫المجموعة معتمد على مبداء الفروق بٌن كل كائن والكائن ‪p‬‬
‫المناظر له‪.‬‬
‫𝑘‬
‫=𝐸 •‬ ‫‪𝑖=1‬‬ ‫‪𝑝∈𝑐𝑖 𝑑𝑖𝑠(𝑝, 𝑐𝑖 ), 10,2‬‬
‫• بفرض لدٌنا }‪ {o1,…, ok‬باختٌار عنصر عشوائً‬
‫}‪ {o1,…,oj-1, orandom,oj+1,…ok‬نحسب المسافة بٌن الكائن‬
‫‪ p‬وبقٌة الكائنات‪.‬‬
‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪18‬‬
‫انخىارزمية انمعدنة‬
modify the k-means algorithm
Input:
– k: the number of clusters,
– D: a data set containing n objects.
Output: A set of k clusters.
Method:
(1) arbitrarily choose k objects in D as the initial representative objects or seeds;
(2) repeat
(3) assign each remaining object to the cluster with the nearest representative
object;
(4) randomly select a non representative object, o random;
(5) compute the total cost, S, of swapping representative object, oj, with o random;
(6) f S < 0 then swap oj with o random to form the new set of k representative
objects;
(7) until no change;

19 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 19


‫انخىارزمية انمعدنة‬
‫‪modify the k-means algorithm‬‬
‫• تبدأ الخوارزمٌة باختٌار ‪k‬عنصراا بشكل عشوائً‪ ،‬ثم نوزع‬
‫باقً العناصر على ‪ clusters‬بحسب قربها (شبهها) من‬
‫ممثل ‪.cluster‬‬
‫• بعدها نختار ممثل آخر لكل ‪ cluster‬بحٌث تتحسن جودة‬
‫التجزئة‬
‫• ُتقاس جودة التجزئة بمتوسط المسافات بٌن العناصر‬
‫وممثلٌها‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪20‬‬
‫يىضح انشكم انحاالت األربعة عند تغيير انممثم‬

19 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 21


‫ٌجري حساب الجودة بعد كل عملٌة تبدٌل للممثل‪ ،‬فإذا تحسنت الجودة ٌتم‬ ‫•‬
‫التبدٌل‪ ،‬وإال نحتفظ بالممثل القدٌم‪.‬‬
‫فمن أجل قٌم كبٌرة ل ‪ n and k‬تصبح كلفة خوارزمٌة ‪k_medoids‬أكبر‬ ‫•‬
‫بكثٌر من ‪k_means‬‬
‫كل الخوارزمٌتن تتطلب تحدٌد قٌمة ‪ k‬من قبل المستخدم‪.‬‬ ‫•‬
‫إن الخوارزمٌة تعمل بشكل جٌد من أجل مجموعة بٌانات صغٌر‪ ،‬ولكنها ال‬ ‫•‬
‫تتكٌف بشكل مناسب مع مجموعة بٌانات كبٌرة ‪.‬‬
‫من أجل مجموعات البٌانات الكبٌر هناك خوارزمٌة مبنٌة على العٌنات تسمى‬ ‫•‬
‫‪clara‬‬
‫حٌث نأخذ عٌنة مناسبة ثم نطبق خوارزمٌة ‪ k_medoids‬علٌها‬ ‫•‬
‫تقوم ‪clara‬باختٌار عدة عٌنات عشوائٌة‪ ،‬ثم تطبق علٌها عملٌة التجمٌع‬ ‫•‬
‫باستخدام ‪k_medoids‬ثم تعطً النتٌجة األفضل كخرج لخوارزمٌة ‪clara‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪22‬‬
‫إن فعانية ‪clara‬تعتمد عهى حجم انعينة‬
‫‪The effectiveness of CLARA depends on the sample size‬‬

‫الفعالٌة تعنً الحصول على نتٌجة جٌدة‪.‬‬ ‫•‬


‫الحظ أنا خوارزمٌة التجزئة ‪ PMA‬تبحث عن ‪ k‬ممثل ضمن مجموعة‬ ‫•‬
‫البٌانات‪ ،‬بٌنما تبحث ‪clara‬عن ‪ k‬ممثل ضمن العٌنة المأخوذة من‬
‫مجموعة البٌانات‪.‬‬
‫إن ‪ clara‬ال تستطٌع أن تجد تجمٌعا ا جٌداا إذا كان الممثلون المأخوذون‬ ‫•‬
‫من العٌنة بعٌدٌن عن أفضل الممثلٌن لمجموعة البٌانات‪.‬‬
‫بٌنما تقوم ‪ clara‬بالبحث عن ممثلٌن لمجموعة البٌانات من ضمن العٌنة‬ ‫•‬
‫العشوائٌة‪.‬‬
‫تقدم خوارزمٌة ‪ clarans‬توازن (مقاٌضة) بٌن الكلفة والفاعالٌة‬ ‫•‬
‫الستخدام العٌنات فً عملٌة تجمٌع البٌانات ضمن كلسترات‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪23‬‬
‫أوالا نختار ‪ k‬عنصر من مجموعة البٌانات ونعتبرها ممثلٌن ‪.cluster‬‬ ‫•‬
‫ثم نختار بشكل عشوائً أحد الممثلٌن ولٌكن ‪ x‬ونختار عنصر من خارج‬ ‫•‬
‫مجموعة الممثلٌن بشكل عشوائً ولٌكن ‪.y‬‬
‫إذا كان التبدٌل بٌن ‪ x and y‬سٌحسن الحل نقبل ‪ y‬كممثل بدالا من ‪x‬‬ ‫•‬
‫تنفذ ‪ clarans‬عملٌة البحث العشوائً هذه ‪ L‬مرة‪ ،‬ونعتبر الممثلٌن الذٌن‬ ‫•‬
‫حصلنا علٌهم حلول مثلى محلٌة‪.‬‬
‫تكرر ‪clarans‬عملٌة الحصول على حلول مثلى محلٌة ‪ m‬مرة‪ ،‬ثم‬ ‫•‬
‫تختار أفضل النتائج كحل نهائً‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪24‬‬
‫‪K_medoids‬تبحث فً كل االحتماالت الممكنة لتبدٌل الممثلٌن‪.‬‬ ‫•‬
‫‪Clara‬تطبق ‪k_medoids‬على عٌنة عشوائٌة بدالا من كل البٌانات‪.‬‬ ‫•‬
‫‪Clarans‬ال تختبر كل الحتماالت كما فً ‪ k_medoids‬وال تأخذ عٌنة‬ ‫•‬
‫عشوائٌة كما فً ‪ clara‬بل تختار عنصر بشكل عشوائً ةتختبر إمكانٌة تبدٌلة‬
‫مع ممثل تختاره بشكل عشوائً أٌضا ا‪ .‬ةتكرر العملٌة عدة مرات على أمل‬
‫الحصول على حل جٌد‪.‬‬
‫حل أمثل محلً ٌعنً‪ :‬إذا كان لدٌنا تابع له عدة قمم‪ ،‬فإن أعلى قمة تسمى حل‬ ‫•‬
‫أمثل عام‪ ،‬بٌنما تسمى القمم األخرى حل أمثل محلً ألنها أعلى نقطة فً‬
‫جوارها‪ .‬فإذا بحثنا عن قمة بأخذ نقط عشوائٌة‪ ،‬ثم نختار أعلى نقطة‪ ،‬فل ٌوجد‬
‫ضمان أن أعلى نقطة هً حل أمثل عام‪ ،‬ولكنها على األقل حل أمثل محلً‪.‬‬
‫قارن بٌن خوارزمٌة ‪k_means‬المعتمدة على حساب المتوسط وخوارزمٌة‬ ‫•‬
‫‪k_medoids‬المعتمدة على الممثلٌن من حٌث السرعة والتعامل مع العناصر‬
‫الشاذة‪.‬‬

‫‪19 December 2012‬‬ ‫‪Data Mining - Mohsen A Mustafa - Winter 2012‬‬ ‫‪25‬‬
19 December 2012 Data Mining - Mohsen A Mustafa - Winter 2012 26

You might also like