समर्थन वेक्टर मशीनों पर कृत्रिम तंत्रिका नेटवर्क के क्या लाभ हैं? [बन्द है]


381

ANN (कृत्रिम तंत्रिका नेटवर्क) और SVM (सपोर्ट वेक्टर मशीन) पर्यवेक्षित मशीन लर्निंग और वर्गीकरण के लिए दो लोकप्रिय रणनीतियाँ हैं। यह अक्सर स्पष्ट नहीं होता है कि किसी विशेष परियोजना के लिए कौन सी विधि बेहतर है, और मुझे यकीन है कि उत्तर हमेशा "यह निर्भर करता है।" अक्सर, बायेसियन वर्गीकरण के साथ-साथ दोनों के संयोजन का उपयोग किया जाता है।

Stackoverflow पर ये प्रश्न पहले ही ANN बनाम SVM के बारे में पूछे जा चुके हैं:

एएनएन और एसवीएम वर्गीकरण

मेरे वर्गीकरण प्रश्न में एएनएन, एसवीएम और केएनएन के बीच क्या अंतर है

पाठ प्रक्रिया के लिए वेक्टर मशीन या कृत्रिम तंत्रिका नेटवर्क का समर्थन करें?

इस प्रश्न में, मैं विशेष रूप से जानना चाहूंगा कि एक एएनएन (विशेष रूप से, एक बहुपरत पर्सेट्रॉन) के कौन से पहलू एसवीएम पर उपयोग करने के लिए वांछनीय हो सकते हैं? कारण मैं पूछता हूं क्योंकि यह विपरीत सवाल का जवाब देना आसान है : समर्थन वेक्टर मशीनें अक्सर एएनएन से बेहतर होती हैं क्योंकि वे एएनएन की दो बड़ी कमजोरियों से बचती हैं:

(1) एएनएन अक्सर वैश्विक मिनीमा के बजाय स्थानीय मिनीमा पर अभिसरण करते हैं, जिसका अर्थ है कि वे अनिवार्य रूप से "बड़ी तस्वीर को याद कर रहे हैं" कभी-कभी (या पेड़ों के लिए जंगल गायब)

(2) यदि प्रशिक्षण बहुत लंबा हो जाता है, तो ANN अक्सर ओवरफिट हो जाता है, जिसका अर्थ है कि किसी भी दिए गए पैटर्न के लिए, एक ANN पैटर्न के हिस्से के रूप में शोर पर विचार करना शुरू कर सकता है।

एसवीएम इन दोनों समस्याओं से ग्रस्त नहीं हैं। हालाँकि, यह स्पष्ट रूप से स्पष्ट नहीं है कि एसवीएम का मतलब एएनएन के लिए कुल प्रतिस्थापन होना है। तो एक ANN के पास एक विशिष्ट लाभ (एस) है जो कुछ स्थितियों के लिए लागू हो सकता है? मैंने एक एएनएन पर एसवीएम के विशिष्ट फायदे सूचीबद्ध किए हैं, अब मैं एएनएन फायदे (यदि कोई हो) की एक सूची देखना चाहता हूं।


61
दुर्भाग्य से यह संभवत: जल्द ही बंद या स्थानांतरित कर दिया जाएगा, लेकिन मैं इस सवाल से बिल्कुल प्यार करता हूं। मैं इस एक के लिए विचारशील जवाब की एक श्रृंखला को देखने से बेहतर कुछ भी नहीं चाहूंगा।
डफ्युमो

10
मैं कल्पना करता हूं कि इस प्रश्न के अधिकांश उत्तर सट्टा या साक्ष्य पर आधारित होंगे, क्योंकि इन मशीनों की शक्ति पर बहुत कम सैद्धांतिक गारंटी हैं। उदाहरण के लिए (यदि मैं सही ढंग से याद करता हूं), तो यह अज्ञात है कि क्या एक एन-लेयर फीड-फॉरवर्ड न्यूरल नेटवर्क 2-लेयर नेटवर्क की तुलना में अधिक शक्तिशाली है। तो हम कैसे कह सकते हैं कि एक सिद्धांत में दूसरे से बेहतर है अगर हम एक ही मॉडल के मामूली बदलावों के बीच संबंधों को नहीं समझते हैं?
जेरेमीकुन

13
यह बहुत रचनात्मक नहीं होने के लिए बंद है ... लोल!
एरोगोल

65
मुझे लगता है कि StackOverflow प्रश्नों और उत्तरों की गुणवत्ता को उच्च रखने की कोशिश करता है। मुझे नफरत है कि StackOverflow एक स्केलपेल के बजाय एक कुल्हाड़ी के साथ इसे लागू करता है। यह पूछने में कोई अंतर नहीं है कि "मैं HTML स्टफज़ कैसे करूँ?" और एक डोमेन-विशिष्ट प्रश्न जो कहीं और का जवाब खोजना मुश्किल होगा। वहाँ एक कारण यह 140 upvotes है - अभी तक यह माना जाता है "रचनात्मक नहीं है।" इस तरह के प्रश्न रचनात्मक के प्रतीक हैं। निश्चित रूप से अभी तक बहुत सारे लोगों की तुलना में मैं हर दिन देखता हूं कि बड़े करीने से क्यू और ए प्रारूप में आते हैं, जबकि लगभग सभी के लिए बेकार है लेकिन पूछने वाला।
चेस रीज

20
यह स्पष्ट रूप से रचनात्मक है। मैं समझ नहीं पा रहा हूं कि इसे बंद क्यों किया जाएगा। यह विशिष्ट स्थितियों के लिए पूछ रहा है जहां एक एल्गोरिथ्म का उपयोग करने से वैकल्पिक एल्गोरिथ्म का उपयोग करने पर फायदे होते हैं। क्या यह कोई उचित बात नहीं है?
रब

जवाबों:


137

आपके द्वारा दिए गए उदाहरणों को देखते हुए, मैं मान रहा हूं कि ANN द्वारा, आपका मतलब है बहुपरत फीड-फॉरवर्ड नेटवर्क (शॉर्ट के लिए एफएफ नेट), जैसे कि मल्टीलेयर पेसेप्ट्रॉन, क्योंकि वे एसवीएम के साथ सीधे प्रतिस्पर्धा में हैं।

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

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

संपादित करें : उपरोक्त सभी कर्नेलयुक्त SVM के सामान्य मामले से संबंधित हैं। रैखिक SVM एक विशेष मामले में है कि वे कर रहे हैं कर रहे हैं पैरामीट्रिक और इस तरह के स्टोकेस्टिक ढाल वंश के रूप में सरल एल्गोरिदम के साथ ऑनलाइन शिक्षण अनुमति देते हैं।


12
इस पेपर में एक और कारण पाया जा सकता है: yann.lecun.com/exdb/publis/pdf/bengio-lecun-07.pdf । संक्षेप में, लेखक बताता है कि "डीएम आर्किटेक्चर" एसवीएम जैसे "उथले आर्किटेक्चर" की तुलना में "बुद्धिमान" व्यवहार / कार्यों आदि का अधिक कुशलता से प्रतिनिधित्व कर सकते हैं।
अल्फा

1
एक तरफ, गहरी सीख कुछ हद तक एमएलपी (निश्चित आकार, सरल प्रशिक्षण) के लिए यहां दिए गए "फायदे" को खो देती है। मुझे यकीन नहीं है कि ये फायदे इसके लायक हैं, हालांकि।
मुहम्मद अलकरौरी

6
@ मुहम्मदअल्करौरी: गहरी सीख तकनीक का एक बहुत व्यापक सेट है, लेकिन मैं परिचित हूं कि मॉडल पैरामीट्रिक (निश्चित आकार) होने के लाभ को बनाए रखना है।
फ्रेड फू

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

1
@FredFoo एएनएन को स्थानीय मिनीमा में भी रखा जा सकता है, जहां समर्थन वेक्टर मशीनें इस समस्या से ग्रस्त नहीं हैं।
पर्यटक

62

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

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

हालांकि, मान लीजिए कि एक व्यक्ति के हार्मोन संतुलन (कई हार्मोनों के लिए) को आसानी से मापा शारीरिक कारकों जैसे कि अंतिम भोजन, हृदय गति, आदि के एक समारोह के रूप में मॉडल करना था ... चूंकि ये कारक सभी अंतर-संबंधित, कृत्रिम तंत्रिका हैं नेटवर्क प्रतिगमन समर्थन वेक्टर मशीन प्रतिगमन की तुलना में अधिक समझ में आता है।


18
असल में, सपोर्ट वेक्टर मशीन (क्रैमर एंड सिंगर के कागजात देखें) के सच्चे मल्टीस्कूल फॉर्मूले मौजूद हैं। मेरा मानना ​​है कि LibSVM में इनमें से एक कार्यान्वयन है।
फ्रेड फू

3
हालाँकि, मल्टीस्केल्स एसवीएम को प्रशिक्षित करना इतना आसान नहीं है और एवीए दृष्टिकोण की तुलना में ओवीए में प्रदर्शन बेहतर प्रतीत होता है।
क्रोड्रिग्ज़ो

3
"यह एक कृत्रिम तंत्रिका नेटवर्क के साथ इसे हल करने की कोशिश करने के लिए कोई मतलब नहीं है" आप हस्तलिखित अंकों के वर्गीकरण को हल करने के लिए एक तंत्रिका नेटवर्क का उपयोग कर सकते हैं। मैंने इसे एक वर्ग के लिए hw असाइनमेंट के रूप में किया है। आउटपुट लेयर में सभी अंकों की संभावनाएँ होती हैं। उच्चतम संभावना वाले वर्ग का उपयोग परिकल्पना के रूप में किया जाता है। मेरे पास 94% सटीकता दर थी।
user3266824

आप एन आउटपुट बनाने के लिए एनएन का उपयोग करते हुए बनाम एन -1 एसवीएम क्लासिफायर बनाम एन की संख्या बनाते हैं। एसवीएम इस तरह से धीमा लग रहा है?
20

@ user3266824 अच्छा, हाँ, वह बोली अच्छी उम्र नहीं थी।
रनडोसन

46

एक बात का ध्यान रखें कि दोनों वास्तव में बहुत संबंधित हैं। रैखिक एसवीएम सिंगल-लेयर एनएन (यानी, परसेप्ट्रॉन) के बराबर हैं, और मल्टी-लेयर एनएनवी को एसवीएम के संदर्भ में व्यक्त किया जा सकता है। कुछ विवरणों के लिए यहां देखें ।


18

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

मान लीजिए कि आपने फ़ंक्शंस (।) को बाउंड किया है और I = [0,1] पर सार्वभौमिक सन्निकटन को श्रेणी I I [[0,1] के साथ फिर से संयोजित किया है, उदाहरण के लिए, जो कॉम्पेक्ट सपोर्ट U (; a) के वास्तविक अनुक्रम द्वारा पैराड्राइज़ किया गया है। वह संपत्ति जिसमें अनुक्रमों का अनुक्रम मौजूद है

lim sup { |f(x) - U(x,a(k) ) | : x } =0

और आप (x,y)एक वितरण डी पर उदाहरण और परीक्षण आकर्षित करते हैं IxI

एक निर्धारित समर्थन के लिए, आप जो करते हैं वह सबसे अच्छा है जैसे कि

sum {  ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal

यह a=aaएक यादृच्छिक चर है!

औसत उपयोग D and D^{N} of ( y - U(x,aa) )^{2}

मुझे समझाएं कि क्यों, यदि आप aaइस तरह का चयन करते हैं कि त्रुटि कम से कम है, तो दुर्लभ मानों के लिए जो आपके लिए एकदम उपयुक्त हैं। हालांकि, चूंकि वे दुर्लभ हैं औसत कभी 0. नहीं है। आप दूसरे को कम से कम करना चाहते हैं, हालांकि आपके पास डी के लिए एक असतत सन्निकटन है और ध्यान रखें कि समर्थन लंबाई मुफ्त है।


14

एक उत्तर मैं यहां याद कर रहा हूं: मल्टी-लेयर परसेप्ट्रॉन सुविधाओं के बीच संबंध खोजने में सक्षम है। उदाहरण के लिए यह कंप्यूटर विज़न में आवश्यक है जब लर्निंग एल्गोरिथम को एक कच्ची छवि प्रदान की जाती है और अब परिष्कृत सुविधाओं की गणना की जाती है। अनिवार्य रूप से मध्यवर्ती स्तर नई अज्ञात विशेषताओं की गणना कर सकते हैं।


12

हमें यह भी विचार करना चाहिए कि एसवीएम प्रणाली को गैर-मीट्रिक रिक्त स्थान पर सीधे लागू किया जा सकता है , जैसे कि लेबल किए गए ग्राफ़ या स्ट्रिंग्स का सेट। वास्तव में, आंतरिक कर्नेल फ़ंक्शन को वस्तुतः किसी भी तरह के इनपुट के लिए ठीक से सामान्यीकृत किया जा सकता है, बशर्ते कि कर्नेल की सकारात्मक निश्चितता संतुष्ट हो। दूसरी ओर, लेबल किए गए ग्राफ़ के सेट पर ANN का उपयोग करने में सक्षम होने के लिए, स्पष्ट एम्बेडिंग प्रक्रियाओं पर विचार किया जाना चाहिए।


6
मेरे दिमाग में, एक समझदार कर्नेल का निर्माण और एक समझदार मीट्रिक एम्बेडिंग समान रूप से समस्याग्रस्त है। तो यह सिर्फ एक टिप्पणी है कि मैट्रिक्स की तुलना में अधिक विविध गुठली हो सकती है, लेकिन मैं वास्तव में इसे नहीं खरीदता हूं। ohli.de/download/papers/Deza2009.pdf
जेरेमीकुन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.