2010-01-12 11 views
7

डेटा बिंदुओं का एक समूह है, जैसे यहां साजिश रची (इस ग्राफ मेरी समस्या के लिए विशिष्ट नहीं है, लेकिन सिर्फ एक उपयुक्त उदाहरण के रूप में प्रयोग किया जाता) मान लें:डेटा में समूह का पता लगाने सेट

निरीक्षण स्कैटर ग्राफ दृष्टि से, यह स्पष्ट रूप से स्पष्ट है कि डेटा बिंदु दो 'समूह' बनाते हैं, कुछ यादृच्छिक बिंदुओं के साथ जो स्पष्ट रूप से या तो संबंधित नहीं हैं।

मैं एक एल्गोरिथ्म के लिए देख रहा हूँ, जो मुझे करने की अनुमति होगी: दो या अधिक आयामों के एक डेटा सेट के साथ

  • शुरू।
  • डेटासेट से ऐसे समूह का पता लगाए बिना किसी भी (या यदि कोई हो)
  • समूहों का पता चला है, तो समूह के मॉडल से पूछें, यदि कोई नया नमूना बिंदु फिट हो समूह में से कोई भी

उत्तर

5

कई विकल्प हैं, लेकिन यदि आप संभावना है कि एक नया डेटा बिंदु किसी विशेष मिश्रण से संबंधित है, तो मैं संभाव्य दृष्टिकोण का उपयोग करूंगा जैसे गॉसियन मिश्रण मॉडलिंग या तो अधिकतम संभावना या बेयस द्वारा अनुमानित।

mixtures models is implemented in Matlab की अधिकतम संभावना अनुमान।

आपकी आवश्यकता है कि घटकों की संख्या अज्ञात है, आपका मॉडल अधिक जटिल बनाता है। प्रमुख संभाव्य दृष्टिकोण कुछ बेयसियन विधि द्वारा मिश्रण वितरण और अनुमान पर पहले एक Dirichlet प्रक्रिया डालना है। उदाहरण के लिए, this paper on infinite Gaussian mixture models देखें। डीपी मिश्रण मॉडल आपको घटकों की संख्या और प्रत्येक तत्व के घटकों के घटकों पर अनुमान लगाएगा, जो वास्तव में आप चाहते हैं। वैकल्पिक रूप से आप घटकों की संख्या पर मॉडल चयन कर सकते हैं, लेकिन यह आमतौर पर कम सुरुचिपूर्ण है।

डीपी मिश्रण मॉडल मॉडल के कई कार्यान्वयन हैं, लेकिन वे सुविधाजनक नहीं हो सकते हैं। उदाहरण के लिए, यहां एक Matlab implementation है।

आपका ग्राफ सुझाव देता है कि आप आर उपयोगकर्ता हैं। उस स्थिति में, यदि आप प्रीपेक्टेड समाधान की तलाश में हैं, तो आपके प्रश्न का उत्तर इस Task View for cluster analysis पर है।

3

मुझे लगता है कि आप k-means clustering algorithm की लाइनों के साथ कुछ ढूंढ रहे हैं।

आपको सबसे सामान्य उद्देश्य भाषाओं में पर्याप्त कार्यान्वयन करने में सक्षम होना चाहिए।

2

आपको क्लस्टरिंग एल्गोरिदम में से एक की आवश्यकता है। वे सब के सब 2 समूहों में विभाजित किया जा सकता है:

  1. आप समूहों की संख्या (क्लस्टर) निर्दिष्ट - अपने उदाहरण में 2 समूहों
  2. एल्गोरिथ्म अपने आप में समूहों की सही संख्या का अनुमान लगाना

तो कोशिश आप पहले प्रकार के एल्गोरिदम चाहते हैं तो के-मीन्स आपको वास्तव में चाहिए।

यदि आप दूसरे प्रकार के एल्गोरिदम चाहते हैं तो आपको शायद पदानुक्रमित क्लस्टरिंग एल्गोरिदम में से एक की आवश्यकता है। मैंने कभी उनमें से किसी को भी लागू नहीं किया है। लेकिन मैं इस तरह से के-साधनों को बेहतर बनाने का एक आसान तरीका देखता हूं, यह क्लस्टर की संख्या निर्दिष्ट करने के लिए अनावश्यक होगा।

संबंधित मुद्दे