سؤال

أنا نصف الإجابة عن سؤال حول العثور على مجموعات من كتلة في صورة نقطية.أقول نصف الإجابة لأنني تركته في حالة حيث كان كل نقطة في الصورة النقطية حسب كتلة ويترك للقارئ أن مرشح قائمة إزالة نقاط من نفس المجموعة.

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

[ (6, 2, 6.1580555555555554),
  (2, 1, 5.4861111111111107),
  (1, 1, 4.6736111111111107),
  (1, 4, 4.5938888888888885),
  (2, 0, 4.54),
  (1, 5, 4.4480555555555554),
  (4, 7, 4.4480555555555554),
  (5, 7, 4.4059637188208614),
  (4, 8, 4.3659637188208613),
  (1, 0, 4.3611111111111107),
  (5, 8, 4.3342191043083904),
  (5, 2, 4.119574829931973),
  ...
  (8, 8, 0.27611111111111108),
  (0, 8, 0.24138888888888888) ]

كل tuple هو من شكل:

(x, y, mass)

لاحظ أنه يتم فرز القائمة هنا.إذا الحل يفضل أن لا يكون لهم فرز أنها على ما يرام تماما.

التحدي ، إذا كنت تذكر, هو أن تجد مجموعات رئيسية الشامل.عدد من مجموعات غير معروفة.ولكن أنت تعرف أبعاد الصورة النقطية.في بعض الأحيان عدة نقاط ضمن المجموعة المزيد من كتلة من مركز التالي (حجم) المجموعة.إذا ما أريد القيام به هو الذهاب من أعلى النقاط الشامل وإزالة نقاط في نفس المجموعة (نقطة القريبة).

عندما حاولت هذا انتهى الأمر إلى المشي من خلال أجزاء من قائمة مرارا وتكرارا.لدي شعور أنا غبي عن ذلك.كيف يمكنك أن تفعل ذلك ؟ الزائفة رمز أو رمز حقيقي.بالطبع, إذا كنت يمكن أن تأخذ فقط من حيث تركت في هذا الجواب مع كود بايثون أنه من الأسهل بالنسبة لي أن التجربة معها.

الخطوة التالية هي معرفة كم عدد المجموعات هناك حقا في الصورة النقطية.أنا لا تزال تكافح مع تحديد تلك المشكلة لذلك قد يعود السؤال عن ذلك.

تحرير: يجب أن أوضح أنني أعرف أنه لا يوجد "الصحيح" الإجابة على هذا السؤال.واسم السؤال هو المفتاح.المرحلة الأولى من التجمع هو القيام به. Im البحث عن سريع ودقيق-"ما يكفي" طريقة تصفية بعيدا النقاط القريبة.

اسمحوا لي أن أعرف إذا كنت ترى كيف يمكن أن تجعل السؤال أكثر وضوحا.

هل كانت مفيدة؟

المحلول

فقط لكي تعرف أنت تطلب حل سوء المطروحة المشكلة:لا يوجد حل نهائي موجودا.لا بأس...هذا يجعل الأمر أكثر متعة.المشكلة هي سوء تشكل في الغالب لأنك لا تعرف كيف العديد من مجموعات تريد.المجموعات هي واحدة من المجالات الرئيسية آلة التعلم وهناك عدد غير قليل من المناهج التي تم تطويرها على مر السنين.

كما عنكب أشار ، k-يعني خوارزمية يميل إلى أن يكون فكرة جيدة وأنه من السهل جدا لتنفيذ.النتائج تعتمد بشكل كبير على تخمين الأولي التي أدلى على عدد من المطلوب المجموعات.للتغلب على تخمين الأولي المشكلة ، فإنه من الشائع أن تشغيل الخوارزمية عدة مرات مع عشوائية التهيئة واختيار أفضل نتيجة.سوف تحتاج إلى تحديد ما هو "أفضل" يعني.واحد والتدبير يعني تربيع المسافة من كل نقطة إلى مركز الكتلة.إذا كنت ترغب تلقائيا تخمين كيف العديد من المجموعات هناك ، يجب تشغيل الخوارزمية مع مجموعة كاملة من أرقام المجموعات.أي خير "أفضل" قياس أكثر المجموعات سوف ننظر دائما أفضل من أقل, لذلك عليك طريقة لمعاقبة وجود العديد من المجموعات.على MDL النقاش في ويكيبيديا هو نقطة انطلاق جيدة.

K-means clustering هو في الأساس أبسط خليط نموذج.أحيانا يكون من المفيد أن الترقية إلى خليط من Gaussians المستفادة من توقع تعظيم (موضح في الرابط تعطى فقط).هذا يمكن أن يكون أكثر قوة من k-يعني.فإنه يأخذ المزيد من الجهد لفهم ذلك, ولكن عندما تفعل ذلك ليس أصعب بكثير من k-الوسائل لتنفيذها.

هناك الكثير من طرق التصنيف مثل تكتلية تجميع الطيف التجميع.تكتلية تجميع من السهل جدا لتنفيذ ، ولكن اختيار عندما وقف بناء المجموعات يمكن أن تكون خادعة.إذا كنت تفعل تكتلية تجميع عليك ربما تريد أن ننظر إلى دينار كويتي الأشجار أسرع أقرب جار البحث.smacl الجواب يصف أحد طريقة مختلفة قليلا من القيام تكتلية تجميع باستخدام Voronoi الرسم البياني.

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

قد ترغب أيضا في إلقاء نظرة على يعني التحول خوارزمية لمعرفة ما إذا كان أقرب إلى ما كنت تريد حقا.

نصائح أخرى

يبدو لي أن كنت تبحث عن K-يعني الخوارزمية.

كما ذكرت في التعليق على سؤالك, الجواب هو استنادا إلى ما إذا كان أو لا كتلة يمكن اعتبار العددية في هذا السياق.إذا كان الأمر كذلك, لون الحلول القائمة على الأرجح لن يعمل مثل اللون غالبا ما لا يؤخذ كما يجري العددية.

على سبيل المثال, إذا كان لدي مجال معين مع 1 نقطة عالية الشامل ، هو أن نفس وجود نفس المنطقة مع 10 نقاط من 1/10 القداس ؟ إذا كان هذا صحيحا ، الكتلة ليست العددية في هذا السياق ، أود أن تميل إلى البحث في خوارزمية تستخدم مكانيا gouping مشابهة غير قابلة القيم مثلا ، voronoi المخططات.

alt text

في هذه الحالة, حيث اثنين المتاخمة voronoi المناطق قريبة بما فيه الكفاية الشامل مباراة المسافة ، فإنها يمكن أن تتجمع معا.يمكن تكرار هذا للعثور على جميع المجموعات.

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

هذا يبدو مثل لون تكميم حيث يمكنك تقليل عدد الألوان في الصورة.طريقة واحدة أن المؤامرة الألوان في الفضاء ، والجمع بين المجموعات في المركز (أو متوسط مرجح) من الكتلة.

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

نبدأ مع "محدب هال"المشكلة.أنت أيضا تبحث عن بعض "محدبة هال"-مثل مجموعات.

علما أن "مجموعات" غامضة.لديك المتوسط الجماعي في الميدان.بعض النقاط فوق المتوسط الشامل ، وبعض أقل من المتوسط.كيف الآن فوق المتوسط يعني أنك قد وجدت العنقودية ؟ كيف متباعدة هل العقد يجب أن تكون جزءا من مجموعة أو منفصلة العنقودية ؟

ما هو الفرق بين اثنين من قمم الجبال و التلال ؟

لديك لحساب "تضاريس" - الانضمام إلى جميع نقاط متساوية مع كثافة في المناطق.هذا يتطلب منك اختيار مكان العمل الخاص بك يريد الخروج من نقطة شعاعيا, تحديد المواقف حيث الكثافة متساوية.يمكنك توصيل هذه النقاط في المناطق.

لو اخترت النقطة الأولى بحكمة ، المناطق العش.اختيار نقطة البداية من السهل عليك أن تبدأ في المحلية الارتفاعات.

منذ كنت بالفعل نتحدث عن كتلة لماذا لا خطورة على أساس الحل.بسيطة الجسيمات النظام لن تحتاج إلى أن تكون سوبر دقة, و سوف لا يكون لديك لتشغيله لفترة طويلة جدا قبل أن يمكنك أن تجعل تخمين أفضل بكثير في عدد من المجموعات.

إذا كان لديك فكرة أفضل عن مجموعة أرقام, k-يعني أقرب جار يصبح ممكنا.

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