سؤال

افترض مجموعة من نقاط البيانات ، مثل واحدة تم رسمها هنا (هذا الرسم البياني ليس خاصًا بمشكلتي ، ولكنه يستخدم فقط كمثال مناسب):

عند فحص الرسم البياني المبعثر بصريًا ، من الواضح إلى حد ما أن نقاط البيانات تشكل "مجموعتين" ، مع بعض النقاط العشوائية التي لا تنتمي بوضوح إلى أي منهما.

أنا أبحث عن خوارزمية ، من شأنها أن تسمح لي بما يلي:

  • ابدأ بمجموعة بيانات من بعدين أو أكثر.
  • اكتشف مثل هذه المجموعات من مجموعة البيانات دون معرفة مسبقة حول عدد (أو إن وجدت)
  • بمجرد اكتشاف المجموعات ، اسأل "نموذج المجموعات ، إذا كان يبدو أن نقطة عينة جديدة تتناسب مع أي من المجموعات
هل كانت مفيدة؟

المحلول

هناك العديد من الخيارات ، ولكن إذا كنت مهتمًا باحتمال أن تكون نقطة بيانات جديدة تنتمي إلى خليط معين ، فسأستخدم نهجًا احتماليًا مثل نمذجة الخليط الغوسية إما المقدرة بأقصى احتمال أو بايز.

أقصى تقدير احتمال لـ يتم تنفيذ نماذج الخلطات في MATLAB.

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

هناك العديد من تنفيذ نماذج نماذج خليط DP ، لكنها قد لا تكون مريحة. على سبيل المثال ، إليك ملف تنفيذ MATLAB.

يشير الرسم البياني الخاص بك إلى أنك مستخدم R. في هذه الحالة ، إذا كنت تبحث عن حلول معبأة مسبقًا ، فإن الإجابة على سؤالك تكمن في هذا عرض المهمة لتحليل الكتلة.

نصائح أخرى

أعتقد أنك تبحث عن شيء على غرار أ خوارزمية التجميع K-Mean.

يجب أن تكون قادرًا على العثور على تطبيقات كافية في معظم لغات الأغراض العامة.

تحتاج إلى واحدة من خوارزميات التجميع. كلهم يمكن أن ينكروا في مجموعتين:

  1. يمكنك تحديد عدد المجموعات (المجموعات) - مجموعتين في مثالك
  2. تحاول الخوارزمية تخمين العدد الصحيح من المجموعات في حد ذاته

إذا كنت تريد خوارزمية من النوع الأول ، فإن K-means هو ما تحتاجه حقًا.

إذا كنت تريد خوارزمية من النوع الثاني ، فربما تحتاج إلى واحدة من خوارزميات التجميع الهرمية. لم أقم بتنفيذ أي منهم. لكنني أرى طريقة سهلة لتحسين K-Means بهذه الطريقة لن يكون من الضروري تحديد عدد المجموعات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top