2009-11-06 10 views
9

मैं शरीर के अंगों के बीच कोण के आधार पर कुछ छवियों क्लस्टर कोशिश कर रहा हूँ की जरूरत है मदद।MATLAB: के साथ आत्म आयोजन मानचित्र (SOM) क्लस्टरिंग

प्रत्येक छवि से निकाला विशेषताएं हैं:

angle1 : torso - torso 
angle2 : torso - upper left arm 
.. 
angle10: torso - lower right foot 

इसलिए इनपुट डेटा आकार 1057x10 के एक मैट्रिक्स है, जहां छवियों की संख्या के लिए 1057 खड़ा है, और धड़ के साथ शरीर के अंगों के कोण के लिए 10 खड़ा है। इसी प्रकार एक टेस्टसेट 821x10 मैट्रिक्स है।

मैं इनपुट डेटा में सभी पंक्तियों को 88 समूहों के साथ गुच्छेदार रूप में चाहते हैं। फिर मैं इन क्लस्टर्स का उपयोग यह पता लगाने के लिए करूंगा कि टेस्टडाटा किस क्लस्टर में पड़ता है?

एक पिछले काम में, मैं K-Means clustering जो बहुत सीधा है इस्तेमाल किया। हम सिर्फ 88 क्लस्टर में डेटा क्लस्टर करने के लिए के-मीन से पूछते हैं। और एक और विधि लागू करें जो परीक्षण डेटा और प्रत्येक क्लस्टर के केंद्रों में प्रत्येक पंक्ति के बीच की दूरी की गणना करता है, फिर सबसे छोटे मान चुनें। यह संबंधित इनपुट डेटा पंक्ति का समूह है।

मैं दो प्रश्न हैं:

(1) यह इस SOM MATLAB में का उपयोग कर ऐसा करने के लिए संभव है? AFAIK SOM विज़ुअल क्लस्टरिंग के लिए हैं। लेकिन मुझे प्रत्येक क्लस्टर की वास्तविक कक्षा को जानने की ज़रूरत है ताकि मैं बाद में अपने परीक्षण डेटा को लेबल कर सकूं कि यह किस क्लस्टर से संबंधित है।

(2) आप एक बेहतर समाधान है?

+1

क्यों कि वास्तव में आप 88 समूहों चाहते हैं? एसओएम क्या है? आपकी समस्या क्या है - क्या यह छवि से शरीर के अंगों के बीच कोणों को ढूंढ रही है, या यह क्लस्टरिंग एल्गोरिदम है? –

उत्तर

16

Self-Organizing Map (SOM)Artificial Neural Network (ANN) के चलते किसी बदलाव के रूप में माना जाता है एक क्लस्टरिंग विधि है। यह प्रतिस्पर्धी सीखने तकनीकों का उपयोग करता (किसी दिए गए आंकड़ों के सबसे मजबूत सक्रियण प्रदर्शित करने के लिए नोड्स आपस में प्रतिस्पर्धा) नेटवर्क को प्रशिक्षित करने के

www.lohninger.com/helpcsuite/kohonen_network_-_background_information.htm

आप SOM के बारे में सोच सकते हैं, जैसे कि वह परस्पर नोड्स का एक ग्रिड के होते हैं (वर्ग आकार, हेक्सागोनल, ..), जहां प्रत्येक नोड वजन का एक एन-मंद वेक्टर होता है (डेटा आयाम के समान आयाम आकार जिसे हम क्लस्टर करना चाहते हैं)।

विचार सरल है; एसओएम को इनपुट के रूप में एक वेक्टर दिया गया है, हमें नोड कोठरी मिल गया है, फिर उसके वजन और पड़ोसी नोड्स के वजन को अपडेट करें ताकि वे इनपुट वेक्टर (इसलिए नाम स्वयं-आयोजन) के दृष्टिकोण से संपर्क कर सकें। यह प्रक्रिया सभी इनपुट डेटा के लिए दोहराई जाती है।

plotsompos

का गठन समूहों परोक्ष कैसे नोड्स स्वयं को संगठित और इसी तरह के वजन के साथ नोड्स के एक समूह के रूप में द्वारा परिभाषित कर रहे। उन्हें आसानी से देखा जा सकता है।

plotsomnd

SOM कि में K-Means algorithm के समान लेकिन अलग एक तरह से हम समूहों की एक निश्चित संख्या लागू नहीं कर रहे हैं, बजाय हम नंबर और ग्रिड में नोड्स के आकार को निर्दिष्ट है कि हम यह करना चाहते हैं हमारे डेटा के अनुकूल है।

मूल रूप से आप एक प्रशिक्षित SOM है, और आप एक नया परीक्षण इनपुट वेक्टर वर्गीकृत करने के लिए चाहते हैं, आप बस इसे निकटतम ग्रिड पर नोड (एक समानता उपाय के रूप में दूरी) (बेस्ट मिलान यूनिट BMU) करने के लिए, आवंटित और उस बीएमयू नोड से संबंधित वैक्टरों की [बहुमत] कक्षा की भविष्यवाणी के रूप में दें।

  • Neural Network Toolbox MathWorks से clustering using SOM के लिए used हो सकता है (nctool क्लस्टरिंग उपकरण देखें):

    plotsomhits

    MATLAB के लिए, आप toolboxes कि SOM लागू की एक संख्या पा सकते हैं।

  • इसके अलावा बाहर की जाँच के लायक SOM Toolbox
संबंधित मुद्दे