2012-05-20 10 views
7

मुझे कुछ छवि प्रसंस्करण अनुप्रयोग के लिए एसवीएम और तंत्रिका नेटवर्क के बीच निर्णय लेना चाहिए। वर्गीकृत निकट-वास्तविक समय के लिए पर्याप्त तेज़ होना चाहिए और सटीकता भी महत्वपूर्ण है। चूंकि यह एक चिकित्सा अनुप्रयोग है, इसलिए यह महत्वपूर्ण है कि वर्गीकृत की कम विफलता दर हो।एसवीएम बनाम एमएलपी (तंत्रिका नेटवर्क): प्रदर्शन और भविष्यवाणी सटीकता की तुलना में

कौन सा बेहतर विकल्प है?

+1

उम्म। केएनएन जैसे मूल वर्गीकरण की तुलना में तेज़ नहीं है। आपके फीचर वेक्टर कितने बड़े हैं, आप किस भाषा का उपयोग कर रहे हैं, आपके पास कितना प्रशिक्षण डेटा है? साथ ही, आप इस बारे में बहुत स्पष्ट नहीं हैं कि आप ऑनलाइन सीखना चाहते हैं या नहीं। – Junuxx

+3

केएनएन तेज़ नहीं है। इसमें कोई प्रशिक्षण चरण नहीं है, यह सही है। लेकिन यह एक आलसी वर्गीकृत है, जिसका अर्थ है कि इसकी भविष्यवाणी चरण बहुत धीमी है। – alfa

+0

[ईएलएम] पर एक नज़र डालें (http://stats.stackexchange.com/questions/81499/are-bias-weights-essential-in-the-output-layer-if-one-wants-a-universal-functio) –

उत्तर

23

प्रावधानों के एक जोड़े:

एक एमएल वर्गीकारक वर्गीकारक खुद की या तो (i) प्रदर्शन का उल्लेख कर सकते का प्रदर्शन; या (ii) अनुमानित चरण का प्रदर्शन: मॉडल-निर्माण एल्गोरिदम की निष्पादन गति। विशेष रूप से इस मामले में, ओपी में दोनों में से कौन सा उद्देश्य है, इसका जवाब अलग-अलग है, इसलिए मैं प्रत्येक को अलग से जवाब दूंगा।

दूसरा, द्वारा तंत्रिका नेटवर्क, मुझे लगता है कि आप सबसे आम कार्यान्वयन का जिक्र कर रहे हैं - यानी, एक फीड-फॉरवर्ड, बैक-प्रोपेगेटिंग सिंगल-छुपा-लेयर परसेप्ट्रॉन।

प्रशिक्षण समय(मॉडल बिल्डर के निष्पादन की गति)

SVM के लिए एनएन की तुलना में: SVMs बहुत धीमी हैं। इसके लिए एक सीधा कारण है: एसवीएम प्रशिक्षण को संबंधित लग्रैंगियन दोहरी (प्रारंभिक) की समस्या को हल करने की आवश्यकता है। यह वर्गवार ऑप्टिमाइज़ेशन समस्या है जिसमें चर की संख्या बहुत बड़ी है - यानी, प्रशिक्षण उदाहरणों की संख्या (आपके डेटा मैट्रिक्स की 'लंबाई' के बराबर)।

अभ्यास, दो कारकों में, अपने परिदृश्य में मौजूद हैं, इस लाभ को रद्द कर सकता है:

  • एनएन प्रशिक्षण (के माध्यम से मानचित्र को कम) parallelize करने तुच्छ है, SVM प्रशिक्षण parallelizing तुच्छ नहीं है, लेकिन यह भी असंभव नहीं है - पिछले आठ या तो साल के भीतर, कई कार्यान्वयन प्रकाशित किया गया है और काम करने के लिए (https://bibliographie.uni-tuebingen.de/xmlui/bitstream/handle/10900/49015/pdf/tech_21.pdf)

  • mult स्तरीय वर्गीकरण समस्या SVMs दो हैं साबित -क्लास क्लासिफायर उन्हें बहु-श्रेणी की समस्याओं के लिए अनुकूलित किया जा सकता है, लेकिन यह कभी भी सीधा नहीं है क्योंकि एसवीएम प्रत्यक्ष निर्णय कार्यों का उपयोग करते हैं। (बहु-वर्ग समस्याओं के लिए एसवीएम को संशोधित करने के लिए एक उत्कृष्ट स्रोत एस एबे, पैटर्न वर्गीकरण, स्प्रिंगर, 2005 के लिए समर्थन वेक्टर मशीनें) है। इस संशोधन का सफाया कर सकता है किसी भी प्रदर्शन लाभ SVMs NNS से ​​अधिक है: तो उदाहरण के लिए, अपने डेटा दो से अधिक वर्गों गया है और आप में लगातार classificstaion (उर्फ एक के खिलाफ-कई वर्गीकरण) का उपयोग कर SVM कॉन्फ़िगर करने के लिए चुना है कौन सा डेटा पहले एसवीएम क्लासिफायरफायर को खिलाया जाता है जो डेटा पॉइंट क्लासिफायर या तो कक्षा I या अन्य; यदि वर्ग अन्य है तो डेटा पॉइंट को दूसरे क्लासिफायरफायर को खिलाया जाता है जो इसे कक्षा II या अन्य इत्यादि वर्गीकृत करता है।

भविष्यवाणी प्रदर्शन(निष्पादन मॉडल की गति) एक SVM के

प्रदर्शन काफी अधिक एनएन की तुलना में है। एक तीन परत (एक छिपी हुई परत) एनएन के लिए, पूर्वानुमान के लिए दो 2 डी मैट्रिस (वजन matrices) द्वारा इनपुट वेक्टर के लगातार गुणा की आवश्यकता होती है। एसवीएम के लिए, वर्गीकरण में निर्णय सीमा के किनारे पर निर्धारित बिंदु शामिल है, दूसरे शब्दों में कोसाइन उत्पाद

भविष्यवाणी शुद्धता

द्वारा "असफलता की दर" मैं तुम्हारा मतलब त्रुटि दर बजाय उत्पादन प्रयोग में वर्गीकारक की विफलता मान। यदि उत्तरार्द्ध है, तो एसवीएम और एनएन के बीच कोई अंतर होने पर बहुत कम होता है - दोनों मॉडल आम तौर पर संख्यात्मक रूप से स्थिर होते हैं।

दो मॉडल की भविष्यवाणी सटीकता की तुलना करना, और यह मानते हुए दोनों सुयोग्य विन्यस्त और प्रशिक्षित किया जाता है, SVM एनएन से बेहतर प्रदर्शन करेगी।

एसवीएम बनाम एनएन का बेहतर संकल्प scientific literature में अच्छी तरह से प्रलेखित है। यह सच है कि इस तरह की तुलना दो मॉडलों के डेटा, कॉन्फ़िगरेशन और पैरामीटर विकल्प पर निर्भर करती है। वास्तव में, इस तुलना का व्यापक रूप से अध्ययन किया गया है - शायद सभी कल्पनीय पैरामीटर स्पेस - और परिणाम इतने सुसंगत हैं कि अव्यवहारिक परिस्थितियों में कुछ अपवादों (हालांकि मुझे किसी के बारे में पता नहीं है) का अस्तित्व नहीं होना चाहिए इस निष्कर्ष में हस्तक्षेप करें कि एसवीएम एनएन से बेहतर प्रदर्शन करते हैं।

एसवीएम एनएन का प्रदर्शन क्यों करता है?

ये दो मॉडल मौलिक रूप से अलग-अलग लीडरिंग रणनीतियों पर आधारित हैं।

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

एक SVM प्रशिक्षण, इसके विपरीत, प्रशिक्षण डेटा से सीधे निर्णय सीमाओं का एक स्पष्ट दृढ़ संकल्प का मतलब है। यह निश्चित रूप से एसवीएम मॉडल बनाने के लिए आवश्यक अनुकूलन समस्या के लिए अनुमानित चरण के रूप में आवश्यक है: अधिकतम-मार्जिन हाइपरप्लेन और समर्थन वैक्टर के बीच कुल दूरी को कम करना।

अभ्यास में हालांकि एसवीएम को प्रशिक्षित करने के लिए एल्गोरिदम को कॉन्फ़िगर करना कठिन होता है।

  • गिरी के चुनाव

  • गिरी मापदंडों का चयन

  • मार्जिन के मूल्य का चयन: कारण मापदंडों के बड़े (एनएन की तुलना में) संख्या विन्यास के लिए आवश्यक की वजह से है पैरामीटर

+2

एनएन कैसे मैपरेडस समस्या का प्रशिक्षण कर रहा है? –

+0

@FredFoo छिपे हुए परत नोड्स पर नक्शा दिखाता है, और आउटपुट (या गहरे नोड्स) में कम हो जाता है – Dodgie

+1

यह 2017 में पढ़ने के लिए एक बहुत ही रोचक पोस्ट है। जब दीप लर्निंग एक चोटी पर होती है। एसवीएम वर्तमान में कई कार्यों में एनएन को बेहतर प्रदर्शन नहीं करते हैं, विशेष रूप से जब आयाम उच्च होता है। –

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