k -means++

في مجالي استخراج البيانات والتعلم الآلي ، تُعدّ خوارزمية k -means++ [ 1 ] [ 2 ] خوارزمية لاختيار القيم الأولية/المراكز (أو "البذور") لخوارزمية التجميع k -means . وقد اقترحها ديفيد آرثر وسيرجي فاسيلفيتسكي عام 2007 كخوارزمية تقريبية لمسألة k - means الصعبة حسابيًا (NP-hard) ، وذلك لتجنب نتائج التجميع الضعيفة التي قد تنتجها خوارزمية k -means القياسية. وهي مشابهة لأولى طرق تحديد البذور الثلاث التي اقترحها رافائيل أوستروفسكي ويوفال رباني وليونارد شولمان وشايتانيا سوامي في عمل مستقل عام 2006 [ 3 ] . ( يختلف توزيع البذرة الأولى).

خلفية

تتمثل مشكلة خوارزمية k -means في إيجاد مراكز التجميع التي تُقلل التباين داخل الفئة، أي مجموع مربعات المسافات من كل نقطة بيانات يتم تجميعها إلى مركز مجموعتها (المركز الأقرب إليها). على الرغم من أن إيجاد حل دقيق لمشكلة k -means لأي مدخلات يُعدّ مسألة صعبة حسابيًا (NP-hard)، [ 4 ] فإنّ الأسلوب القياسي لإيجاد حل تقريبي (يُسمى غالبًا خوارزمية لويد أو خوارزمية k -means) يُستخدم على نطاق واسع، وغالبًا ما يُسفر عن حلول معقولة بسرعة.

ومع ذلك، فإن خوارزمية k -means تعاني من عيبين نظريين رئيسيين على الأقل:

  • أولاً، لقد ثبت أن أسوأ وقت تشغيل للخوارزمية هو وقت متعدد الحدود فائق بالنسبة لحجم المدخلات. [ 5 ]
  • ثانيًا، يمكن أن يكون التقريب الذي تم التوصل إليه سيئًا بشكل تعسفي فيما يتعلق بدالة الهدف مقارنة بالتجميع الأمثل.

تعالج خوارزمية k -means++ العقبة الثانية من خلال تحديد إجراء لتهيئة مراكز المجموعات قبل المضي قدمًا في تكرارات تحسين k -means القياسية. مع تهيئة k -means++، تضمن الخوارزمية إيجاد حلٍّ يُنافس حل k -means الأمثل من حيث زمن التهيئة O(log k ) . 

مثال على التجميع غير الأمثل

تكتل غير مناسب للمستطيل
هذا تجميع سيئ حيث تقع النقطتان A و D في المجموعة الحمراء ذات المركز E وتقع النقطتان B و C في المجموعة الزرقاء ذات المركز F، لأن المسافة داخل المجموعة ليست في حدها الأدنى

لتوضيح إمكانية أداء خوارزمية k -means بشكل سيئ للغاية فيما يتعلق بدالة الهدف المتمثلة في تقليل مجموع مربعات المسافات بين نقاط المجموعة ومركز ثقل مجموعاتها المخصصة، لنأخذ مثالًا لأربع نقاط فيR2{\displaystyle \mathbb {R} ^{2}}التي تشكل مستطيلاً محاذياً للمحاور يكون عرضه أكبر من ارتفاعه.

التجميع الأمثل للمشكلة.

لوك=2{\displaystyle k=2}وبما أن مركزي التجميع الأوليين يقعان في منتصفي القطعتين المستقيمتين العلوية والسفلية للمستطيل المُشكّل من نقاط البيانات الأربع، فإن خوارزمية k -means تتقارب فورًا دون تحريك هذين المركزين. ونتيجةً لذلك، تتجمع نقطتا البيانات السفليتان معًا، وتتجمع نقطتا البيانات اللتان تُشكّلان الجزء العلوي من المستطيل معًا أيضًا - وهو تجميع غير مثالي لأن عرض المستطيل أكبر من ارتفاعه.

لنفترض الآن أننا نريد تمديد المستطيل أفقيًا إلى أي عرض مطلوب. ستستمر خوارزمية k -means القياسية في تجميع النقاط بشكل غير مثالي، وبزيادة المسافة الأفقية بين نقطتي البيانات في كل مجموعة، يمكننا جعل أداء الخوارزمية ضعيفًا للغاية مقارنةً بدالة هدف k -means.

خوارزمية تهيئة محسّنة

يكمن الحدس وراء هذا النهج في أن توزيع مراكز التجميع الأولية k هو أمر جيد: يتم اختيار مركز التجميع الأول بشكل عشوائي ومنتظم من نقاط البيانات التي يتم تجميعها، وبعد ذلك يتم اختيار كل مركز تجميع لاحق من نقاط البيانات المتبقية باحتمالية تتناسب مع مربع المسافة من أقرب مركز تجميع موجود للنقطة.

الخوارزمية الدقيقة هي كالتالي:

  1. اختر مركزًا واحدًا بشكل عشوائي ومنتظم من بين نقاط البيانات.
  2. لكل نقطة بيانات x لم يتم اختيارها بعد، احسب D( x )، المسافة بين x وأقرب مركز تم اختياره بالفعل.
  3. اختر نقطة بيانات جديدة عشوائيًا كمركز جديد، باستخدام توزيع احتمالي مرجح حيث يتم اختيار نقطة x باحتمالية تتناسب مع D( x ) ² . وهذا يضمن اختيار نقطة مختلفة تمامًا عن المركز المحدد سابقًا كمركز تالٍ.
  4. كرر الخطوتين 2 و 3 حتى يتم اختيار مراكز k .
  5. بعد اختيار المراكز الأولية، تابع باستخدام التجميع القياسي k -means .

الشفرة الزائفة

يوضح الكود الزائف أدناه تطبيقًا لخوارزمية k-means++. kmeans()تقوم الدالة بتنفيذ إجراء التجميع القياسي لخوارزمية k-means .

الدالة kmeans++ (k, points) هي // تهيئة قائمة مراكز الثقل بنقطة واحدة مختارة عشوائياً المراكز ← قائمة فارغة firstIndex ← عدد صحيح عشوائي من 0 إلى طول (النقاط) - 1 centroids. append (points[firstIndex]) // اختر المراكز المتبقية k - 1 طالما أن طول (مراكز الثقل) < k نفّذ المسافات المربعة ← قائمة فارغة // لكل نقطة، احسب المسافة التربيعية إلى أقرب مركز محدد for i ← 0 to length (points) - 1 do نقطة ← نقاط[i] minDistance ← distance (point, centroids[0]) for j ← 1 to length(centroids) - 1 do d ← distance(point, centroids[j]) إذا كانت المسافة d < minDistance، فـ المسافة الدنيا ← د distancesSquared. append (minDistance * minDistance) // اختر المركز التالي باحتمالية تتناسب مع D(x)^2 المجموع الكلي ← مجموع مربعات المسافات العتبة ← رقم عشوائي من 0 إلى الإجمالي التراكمي ← 0 for i ← 0 to length(points) - 1 do التراكمي ← التراكمي + مربع المسافات[i] إذا كان المجموع التراكمي أكبر من أو يساوي العتبة، فأضف النقاط[i] إلى قائمة المراكز. ثم توقف. // تشغيل خوارزمية k-means clusters ← kmeans(k, points, centroids) إرجاع المجموعات

تُحسّن هذه الطريقة في تحديد القيم الأولية بشكل ملحوظ من الخطأ النهائي لخوارزمية k -means. على الرغم من أن عملية الاختيار الأولي في الخوارزمية تستغرق وقتًا إضافيًا، إلا أن جزء k -means نفسه يتقارب بسرعة كبيرة بعد هذه العملية، وبالتالي تُقلل الخوارزمية وقت الحساب فعليًا. اختبر الباحثون طريقتهم باستخدام مجموعات بيانات حقيقية واصطناعية، وحصلوا على تحسينات في السرعة بمقدار الضعف في العادة، وفي بعض مجموعات البيانات، تحسينات في الخطأ تقارب 1000 ضعف. في هذه المحاكاة، كان أداء الطريقة الجديدة دائمًا على الأقل مماثلًا لأداء خوارزمية k -means التقليدية من حيث السرعة والخطأ.

بالإضافة إلى ذلك، يحسب المؤلفون نسبة تقريب لخوارزميتهم. تضمن خوارزمية k -means++ نسبة تقريب O(log k ) في المتوسط ​​(على أساس عشوائية الخوارزمية)، حيث ك{\displaystyle k}يمثل عدد المجموعات المستخدمة. وهذا يختلف عن خوارزمية k -means التقليدية، التي قد تُنتج مجموعات أسوأ من الأمثل. [ 6 ] يُقدم تعميم لأداء خوارزمية k-means++ فيما يتعلق بأي مسافة عشوائية في [ 7 ] .

التطبيقات

تم تطبيق خوارزمية k -means++ منذ اقتراحها الأولي. في مراجعة شيندلر [ 8 ] ، التي تشمل أنواعًا عديدة من خوارزميات التجميع، ذُكر أن هذه الطريقة تتغلب بنجاح على بعض المشكلات المرتبطة بطرق أخرى لتحديد مراكز التجميع الأولية لخوارزمية k -means. وقد أبلغ لي وآخرون [ 9 ] عن تطبيق لخوارزمية k -means++ لإنشاء مجموعات جغرافية من الصور الفوتوغرافية بناءً على معلومات خطوط الطول والعرض المرفقة بها. كما أبلغ هوارد وجوهانسن [ 10 ] عن تطبيق لها في مجال التنويع المالي . وتتوفر أيضًا أدلة أخرى تدعم هذه الطريقة ومناقشات جارية على الإنترنت [ 11 ] . ونظرًا لأن تهيئة خوارزمية k-means++ تتطلب k من المرور على البيانات، فإنها لا تتناسب جيدًا مع مجموعات البيانات الكبيرة. وقد اقترح بهماني وآخرون نسخة قابلة للتوسع من خوارزمية k-means++ تُسمى k-means|| (وتُقرأ "k-means parallel")، والتي توفر نفس الضمانات النظرية، ومع ذلك فهي قابلة للتوسع بدرجة كبيرة [ 12 ] .

برمجة

مراجع

  1. آرثر، د.؛ فاسيلفيتسكي، س. (2007). " خوارزمية k -means++: مزايا التهيئة الدقيقة" (ملف PDF) . وقائع الندوة السنوية الثامنة عشرة لجمعية ACM-SIAM حول الخوارزميات المنفصلة . جمعية الرياضيات الصناعية والتطبيقية، فيلادلفيا، بنسلفانيا، الولايات المتحدة الأمريكية. الصفحات 1027-1035 . 
  2. http://theory.stanford.edu/~sergei/slides/BATS-Means.pdf شرائح عرض طريقة آرثر، د. وفاسيلفيتسكي، س.
  3. أوستروفسكي، ر.؛ رباني، ي.؛ شولمان، ل. ج.؛ سوامي، س. (2006). "فعالية طرق لويد لحل مشكلة k-Means". وقائع الندوة السنوية السابعة والأربعين لمؤسسة مهندسي الكهرباء والإلكترونيات حول أسس علوم الحاسوب (FOCS'06) . معهد مهندسي الكهرباء والإلكترونيات. ص 165-174 . 
  4. درينياس، ب.؛ فريز، أ.؛ كانان، ر.؛ فيمبالا، س.؛ فيناي، ف. (2004). "تجميع الرسوم البيانية الكبيرة عبر تحليل القيم المفردة" . تعلم الآلة . 56 ( 1-3 ): 9-33 . doi : 10.1023/B:MACH.0000033113.59016.96 .
  5. آرثر، د.؛ فاسيلفيتسكي، س. (2006). "ما مدى بطء طريقة k -means؟". وقائع الندوة السنوية الثانية والعشرين حول الهندسة الحسابية . ACM نيويورك، نيويورك، الولايات المتحدة الأمريكية . ص 144-153 . 
  6. كانونغو، ت.؛ ماونت، د.؛ نتنياهو، ن.؛ بياتكو، س .؛ سيلفرمان، ر.؛ وو، أ. (2004)، "خوارزمية تقريب البحث المحلي لتجميع k -Means"، الهندسة الحسابية: النظرية والتطبيقات ، 28 ( 2-3 ): 89-112 ، doi : 10.1016/j.comgeo.2004.03.003.
  7. نيلسن، فرانك؛ نوك، ريتشارد (2013)، "تباعدات جنسن الكلية: التعريف والخصائص والتجميع"، المؤتمر الدولي لهندسة الصوت والكلام ومعالجة الإشارات (ICASSP) لعام 2015 ، الصفحات 2016-2020 ، arXiv : 1309.7109 ، Bibcode : 2013arXiv1309.7109N ، doi : 10.1109/ICASSP.2015.7178324 ، ISBN  978-1-4673-6997-8، S2CID 463728 .
  8. https://web.archive.org/web/20110927100642/http://www.cs.ucla.edu/~shindler/shindler-kMedian-survey.pdf خوارزميات تقريبية لمسألة الوسيط k المتري
  9. http://sir-lab.usc.edu/publications/2008-ICWSM2LEES.pdf مؤرشف بتاريخ 3 مارس 2016 في أرشيف الإنترنت (Wayback Machine) اكتشاف العلاقات بين الوسوم والوسوم الجغرافية، 2007
  10. http://www.cse.ohio-state.edu/~johansek/clustering.pdf تقنيات التجميع للتنويع المالي، مارس 2009
  11. عنوان المقال مدونة لينغبايب
  12. ب. بهماني، ب. موسلي، أ. فاتاني، ر. كومار، س. فاسيلفيتسكي "Scalable K-means++" وقائع 2012 لمؤسسة VLDB.