2010-03-10 14 views
12

मुझे यह सवाल थोड़ा मुश्किल लगता है। शायद कोई इस सवाल का जवाब देने के लिए एक दृष्टिकोण जानता है। कल्पना करें कि आपके पास एक डेटासेट (प्रशिक्षण डेटा) है जिसे आप नहीं जानते कि यह क्या है। इस डेटा को वर्गीकृत करने के लिए वर्गीकरण एल्गोरिदम का अनुमान लगाने के लिए आप प्रशिक्षण डेटा की कौन सी विशेषताओं को देखेंगे? क्या हम कुछ भी कह सकते हैं कि हमें एक गैर-रैखिक या रैखिक वर्गीकरण एल्गोरिदम का उपयोग करना चाहिए?सही वर्गीकरण एल्गोरिदम चुनें। रैखिक या गैर-रैखिक?

वैसे, मैं WEKA उपयोग कर रहा हूँ डेटा का विश्लेषण करने के लिए।

कोई सुझाव? धन्यवाद।

+3

[जिसने इस पोस्ट को बंद करना शुरू किया]: यह _is_ प्रोग्रामिंग संबंधित है! – mjv

+0

@ एमजेवी: आपका क्या मतलब है? –

+0

कोई चिंता नहीं; उच्च प्रतिष्ठा वाले उपयोगकर्ता प्रश्न बंद करने के लिए वोटों की गिनती देख सकते हैं, और मैंने "एनपीआर" (प्रोजेक्ट नहीं संबंधित) कारण के साथ एक वोट देखा। मेरी टिप्पणी प्रश्न के समर्थन में थी, जो दर्शाती है कि कुछ हद तक सैद्धांतिक और गणित की आवाज, यह प्रश्न प्रोग्रामिंग के लिए बहुत प्रासंगिक था। सवाल सुरक्षित लगता है, बंद करने की दिशा में अन्य वोट नहीं हैं (5 आवश्यक हैं)। – mjv

उत्तर

15

वाह, आप कुछ प्रशिक्षण डेटा है और यदि आप नहीं जानते कि क्या आप एक दस्तावेज़, या एक सेल में Genèse में शब्दों का प्रतिनिधित्व सुविधाओं को देख रहे हैं और धुन के लिए एक वर्गीकारक की जरूरत है ताकि। खैर, चूंकि आपके पास कोई अर्थपूर्ण जानकारी नहीं है, इसलिए आपको डेटा सेट के सांख्यिकीय गुणों को देखकर इस सोली को करना होगा।

पहले, समस्या तैयार करने के लिए, इस से अधिक सिर्फ बनाम गैर रेखीय रेखीय है। आप वास्तव में इस डेटा को वर्गीकृत करने के लिए देख रहे हैं, तो आप वास्तव में क्या करने की जरूरत है वर्गीकारक जो रेखीय हो सकता है, या गैर रेखीय (गाऊसी, बहुपद, अतिशयोक्तिपूर्ण, आदि इसके अलावा प्रत्येक कर्नेल समारोह का समय लग सकता के लिए एक कर्नेल समारोह का चयन करने के लिए है एक या अधिक पैरामीटर जिन्हें सेट करने की आवश्यकता होगी। किसी दिए गए वर्गीकरण समस्या के लिए इष्टतम कर्नेल फ़ंक्शन और पैरामीटर सेट निर्धारित करना वास्तव में हल की गई समस्या नहीं है, केवल उपयोगी हेरिस्टिक हैं और यदि आप 'कर्नेल फ़ंक्शन का चयन' करते हैं या 'कर्नेल चुनें' समारोह ', आप का प्रस्ताव और विभिन्न दृष्टिकोण का परीक्षण कई शोध पत्र के लिए माना जाएगा। जबकि वहाँ कई दृष्टिकोण, सबसे बुनियादी और अच्छी तरह से कूच parameters-- पर एक ढाल वंश करना है मूल रूप से आप एक कर्नेल विधि का प्रयास में से एक है और एक कर रहे हैं पैरामीटर सेट, अपने डेटा पॉइंट्स पर आधा ट्रेन करें और देखें कि आप कैसे करते हैं। फिर आप पैरामीटर का एक अलग सेट आज़माएं और देखें कि आप कैसे करते हैं। आप पैरामीटर को सटीकता में सर्वोत्तम सुधार की दिशा में ले जाते हैं जब तक आप संतुष्ट न हों टोरि परिणाम

आप एक अच्छे गिरी समारोह को खोजने के लिए यह सब जटिलता के माध्यम से जाना, और बस रेखीय या गैर रेखीय का जवाब चाहते हैं की जरूरत नहीं है। तो सवाल मुख्य रूप से दो चीजों तक आता है: गैर रेखीय वर्गीकरणियों के पास अधिकतर आबादी (सामान्यीकरण) का अधिक जोखिम होगा क्योंकि उनके पास स्वतंत्रता के अधिक आयाम हैं। वे एक अच्छा सामान्यीकरण के साथ आने के बजाय क्लासिफायर से केवल अच्छे डेटा बिंदुओं के सेट याद कर सकते हैं। दूसरी ओर एक रैखिक वर्गीकरण के पास फिट होने की स्वतंत्रता कम होती है, और डेटा के मामले में जो रैखिक रूप से अलग नहीं है, एक अच्छा निर्णय कार्य नहीं ढूंढ पाएगा और उच्च त्रुटि दर से पीड़ित होगा।

दुर्भाग्यवश, मुझे क्लासिफायरफायर को स्वयंमाने की कोशिश करने के अलावा "यह डेटा रैखिक रूप से अलग करने योग्य" प्रश्न का उत्तर देने के लिए एक बेहतर गणितीय समाधान नहीं है और यह देखता है कि यह कैसा प्रदर्शन करता है। इसके लिए आपको मेरी तुलना में एक बेहतर जवाब की आवश्यकता होगी।

संपादित करें: यह शोध पत्र एक एल्गोरिदम का वर्णन करता है जो ऐसा लगता है कि यह निर्धारित करने में सक्षम होना चाहिए कि दिए गए डेटा सेट को रैखिक रूप से अलग करने के लिए कितना करीब आता है।

http://www2.ift.ulaval.ca/~mmarchand/publications/wcnn93aa.pdf

+0

धन्यवाद बीडीके। दुर्भाग्यवश, मेरे पास केवल वास्तविक मूल्यवान चर और उनके वर्ग (जैसे x, y) हैं जो डेटा के बारे में कोई सार्थक निष्कर्ष निकालना असंभव बनाता है। जैसा कि आपने कहा था, केवल एक चीज जो मैं कर सकता हूं वह आंकड़ों की सांख्यिकीय गुणों को देख रहा है। मैं कागज पर एक नज़र डालने जा रहा हूँ। धन्यवाद... –

15

यह वास्तव में एक ;-)

  • फ़ीचर चयन
  • रैखिक में दो प्रश्न या नहीं

ऐड "एल्गोरिथ्म चयन", और आप है शायद क्लासिफायर डिजाइन के तीन सबसे मौलिक प्रश्न हैं।

एक अलग रूप में नोट के रूप में, यह एक अच्छी बात कि आप किसी भी डोमेन विशेषज्ञता है जो आप सुविधाओं और के चयन मार्गदर्शन करने की अनुमति देगा की जरूरत नहीं है है/या सुविधा अंतरिक्ष के linearity बात पर जोर देना। यह डेटा खनन का मजा है: पूर्वोत्तर विशेषज्ञता के बिना ऐसी जानकारी का अनुमान लगाने के लिए। (बीटीडब्लू, और जब वर्गीकरण के परिणाम को दोबारा जांचने के लिए डोमेन विशेषज्ञता अच्छी है, तो प्राथमिकता अंतर्दृष्टि आपको अच्छी खनन अवसरों को याद कर सकती है)। इस तरह के किसी भी प्राथमिक ज्ञान के बिना आपको ध्वनि पद्धतियों को स्थापित करने और परिणामों के लिए सावधानीपूर्वक जांच करने के लिए मजबूर होना पड़ता है।

विशिष्ट मार्गदर्शन प्रदान करना मुश्किल है क्योंकि इस सवाल में कई विवरण छोड़े गए हैं, और यह भी कि क्योंकि मैं कुछ हद तक इस माध्यम से अपना रास्ता बीएस-आईएनजी कर रहा हूं ;-)। कभी कम मुझे आशा है कि निम्नलिखित सामान्य सलाह उपयोगी

  • प्रत्येक एल्गोरिथ्म तुम कोशिश (या अधिक सटीक एक दिया एल्गोरिथ्म के लिए मानकों के प्रत्येक सेट के लिए), तो आपको रन कई परीक्षण करने की आवश्यकता होगी के लिए किया जाएगा। सिद्धांत बहुत उपयोगी हो सकता है, लेकिन वहां बहुत से "परीक्षण और त्रुटि" रहेगी। आपको क्रॉस-वैलिडेशन एक मूल्यवान तकनीक मिलेगी।
    संक्षेप में, [और उपलब्ध प्रशिक्षण डेटा के आकार के आधार पर], आप कई हिस्सों में प्रशिक्षण डेटा को यादृच्छिक रूप से विभाजित करते हैं और क्लासिफायर को इन हिस्सों में से एक [या कई] पर प्रशिक्षित करते हैं, और फिर उसके प्रदर्शन पर क्लासिफायर का मूल्यांकन करते हैं एक और [या कई] भागों पर। इस तरह के प्रत्येक रन के लिए आप प्रदर्शन के विभिन्न संकेतकों जैसे मिस-वर्गीकरण त्रुटि (एमसीई) को मापते हैं और यह बताते हुए कि वर्गीकरण कैसे करता है, ये मेट्रिक्स, या बल्कि उनकी विविधता चयनित सुविधाओं की प्रासंगिकता के संकेतों के रूप में संकेत प्रदान करेगी और/या उनके पैमाने या रैखिकता की कमी।

  • linearity धारणा की स्वतंत्र रूप से, यह मूल्यों सांख्यिक सुविधाओं के को सामान्य बनाने में उपयोगी है। यह उन सुविधाओं के साथ मदद करता है जिनमें एक विषम सीमा आदि है।
    प्रत्येक आयाम के भीतर, मध्यस्थ के दोनों तरफ 2.5 मानक विचलन, और इस श्रेणी के आधार पर फीचर मानों को प्रतिशत में परिवर्तित करें। द्विआधारी लोगों को

  • Convert नाममात्र विशेषताओं, के रूप में कई आयाम बनाने नाममात्र विशेषता के अलग-अलग मान देखते हैं कर रहे हैं। (मुझे लगता है कि कई एल्गोरिदम ऑप्टिमाइज़र आपके लिए यह करेंगे)

  • एक बार जब आप अपेक्षाकृत सभ्य प्रदर्शन (33% एमसीई कहते हैं) के साथ एक या कुछ क्लासिफायरों की पहचान कर लें, तो उसी परीक्षण श्रृंखला को संशोधित करके इस तरह के वर्गीकरण के साथ करें एक समय में केवल एक पैरामीटर। उदाहरण के लिए कुछ विशेषताओं को हटाएं, और देखें कि परिणामी, निम्न आयामी वर्गीकरण में सुधार या गिरावट आती है या नहीं।

  • हानि कारक एक बहुत संवेदनशील पैरामीटर है। परीक्षणों के बड़े पैमाने पर एक "तर्कसंगत" लेकिन संभावित रूप से उप-मूल्यवान मूल्य के साथ प्रयास करें और छड़ी करें, अंत में हानि को ठीक से ट्यून करें।

  • एसवीएम अनुकूलकों द्वारा प्रदान की गई "डंप" जानकारी का फायदा उठाना सीखें। इन परिणामों क्या अनुकूलक "सोचता है कि"

  • कि याद रखें के रूप में बहुत ही मूल्यवान जानकारी क्या बहुत अच्छी तरह से दिए गए डोमेन में किसी दिए गए डाटासेट wih काम किसी अन्य डोमेन से डेटा के साथ बहुत खराब प्रदर्शन कर सकते हैं प्रदान करते हैं ...

  • कॉफी अच्छा है, बहुत ज्यादा नहीं।जब सभी विफल हो जाते हैं, तो इसे आयरिश बनाएं ;-)

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