एसवीएम फिटिंग करते समय दोहरी समस्या से परेशान क्यों?


50

डेटा बिंदुओं को देखते हुए और लेबल , कठोर SVM प्राणिक समस्या हैy 1 , ... , y n{ - 1 , 1 }x1,,xnRdy1,,yn{1,1}

s.t.

minimizew,w012wTw
s.t.i:yi(wTxi+w0)1

जो कि वैरिएबल के साथ एक द्विघात कार्यक्रम है जिसे और लिए अनुकूलित किया जा सकता है । द्वैतid+1i

s.t.

maximizeαi=1nαi12i=1nj=1nyiyjαiαjxiTxj
s.t.i:αi0i=1nyiαi=0
एक द्विघात कार्यक्रम है जिसमें चर को और असमानता और समानता की बाधाओं के लिए अनुकूलित किया जाना है ।n nn+1nn

जब एक कठिन मार्जिन SVM को लागू किया जाता है, तो मैं मौलिक समस्या के बजाय दोहरी समस्या का समाधान क्यों करूंगा? प्राणिक समस्या मुझे अधिक 'सहज' लगती है, और मुझे अपने आप को द्वैत अंतराल, कुह्न-टक की स्थिति आदि से चिंतित होने की आवश्यकता नहीं है।

यह मेरे लिए दोहरी समस्या को हल करने के लिए समझ में आता है अगर , लेकिन मुझे संदेह है कि बेहतर कारण हैं। क्या यह मामला है?dn


26
लघु उत्तर गुठली है। लंबे उत्तर keeerneeels है (-;

दोहरी समस्या की सबसे महत्वपूर्ण बात यह है कि कर्नेल चाल को पेश करना, मूल डेटा को उच्च आयाम के साथ अंतरिक्ष में मैप करना है।
BigeyeDestroyer

जवाबों:


40

@ User765195 के उत्तर (धन्यवाद!) में संदर्भित व्याख्यान नोटों के आधार पर , सबसे स्पष्ट कारण प्रतीत होते हैं:

मौलिक समस्या का समाधान करते हुए, हम इष्टतम प्राप्त करते हैं , लेकिन बारे में कुछ नहीं जानते हैं । क्वेरी बिंदु को वर्गीकृत करने के लिए हमें स्केलर उत्पाद स्पष्ट रूप से गणना करने की आवश्यकता है , जो कि यदि बड़ा है तो महंगा हो सकता है।α मैं एक्स डब्ल्यू टी एक्स डीwαixwTxd

दोहरी समस्या का समाधान करते हुए, हम (जहाँ सभी के लिए लेकिन कुछ बिंदुओं - ) प्राप्त करते हैं। क्वेरी बिंदु को वर्गीकृत करने के लिए , हम गणना करते हैंα i = 0 xαiαi=0x

wTx+w0=(i=1nαiyixi)Tx+w0=i=1nαiyixi,x+w0

यह शब्द बहुत कुशलता से गणना की जाती है यदि केवल कुछ समर्थन वैक्टर हैं। इसके अलावा, चूंकि अब हमारे पास केवल डेटा वैक्टर शामिल करने वाला एक स्केलर उत्पाद है , इसलिए हम कर्नेल ट्रिक लागू कर सकते हैं ।


5
रूको रूको। मान लीजिए कि आपके पास दो सपोर्ट वैक्टर हैं X1 और x2। आपके पास दो से कम नहीं हो सकता है, है ना? क्या आप यह कह रहे हैं कि कंप्यूटिंग <X1, x> और <x2, x> <w, x> से तेज है?
सिंह

1
@Leo: ध्यान दें कि मैं उपयोग करता हूं <x1, x>और wTx। पूर्व का उपयोग कर्नेल मूल्यांकन K (X1, x) के प्रतीक के रूप में किया जाता है, जो X1 और x को बहुत उच्च-आयामी स्थान में प्रोजेक्ट करता है और अनुमानित मानों के स्केलर उत्पाद की गणना करता है। बाद सामान्य अदिश उत्पाद है, इसलिए wऔर xस्पष्ट रूप से पेश करने की है, और फिर अदिश उत्पाद स्पष्ट रूप से की जाती है। कर्नेल की पसंद के आधार पर, एक स्पष्ट गणना कई कर्नेल मूल्यांकन की तुलना में बहुत अधिक गणना कर सकती है।
मारब

1
जैसा कि मैं मौलिक समस्या को समझता हूं, के लैग्रेग मल्टीप्लायर हैं, इसलिए हम खोजने के लिए मौलिक समस्या को हल नहीं कर सकते हैं ? मेरा मतलब है कि हम शायद दोहरी समस्या का सहारा नहीं लेना चाहते हैं ताकि हम अल्फ़ाज़ों को जान ? α αααα
एवोकैडो

2
"इसके अलावा, चूंकि अब हमारे पास केवल डेटा वैक्टर शामिल करने वाला एक अदिश उत्पाद है, इसलिए हम कर्नेल ट्रिक लागू कर सकते हैं।" - यह भी मौलिक सूत्रीकरण में सच है।
Firebug

2
अगर लोग @Firebug से टिप्पणी पर अधिक विवरण चाहते हैं ... lib.kobe-u.ac.jp/repository/90001050.pdf के समीकरण 10-12 की जाँच करें (जो कि primal का एक अप्रतिबंधित संस्करण है)।
MrDrFenner

13

पेज 13 में दूसरा पैराग्राफ पढ़ें और इन नोट्स में इसे आगे बढ़ाने पर चर्चा:

http://cs229.stanford.edu/notes/cs229-notes3.pdf


17
यह एक महान संदर्भ है और स्पष्ट रूप से इस सवाल का जवाब देता है। मुझे लगता है कि यदि आप इस उत्तर को संक्षेप में प्रस्तुत कर सकते हैं तो आपका उत्तर बेहतर होगा।
whuber

3

यहाँ एक कारण है कि दोहरे सूत्रीकरण संख्यात्मक अनुकूलन दृष्टिकोण से आकर्षक है। आप निम्नलिखित कागज में विवरण पा सकते हैं :

Hsieh, C.-J., चांग, ​​K.W., लिन, C.-J., कीर्ति, एसएस, और सुंदरराजन, एस।, "एक दोहरी समन्वित वंश विधि forlarge-scale रैखिक SVM", की कार्यवाही मशीन लर्निंग पर 25 वां अंतर्राष्ट्रीय सम्मेलन, हेलसिंकी, 2008।

दोहरे सूत्रीकरण में एक एकल समता समानता बाधा और n बाध्य बाधाएं शामिल हैं।

1. दोहरी समानता से समता समता बाधा को "समाप्त" किया जा सकता है।

यह R ^ (d + 1) के एम्बेडिंग के माध्यम से R ^ (d + 1) में आपके डेटा को देखकर बस किया जा सकता है, प्रत्येक डेटा बिंदु पर एक "1" समन्वय करने से इस्तीफा देने वाले, अर्थात R ^ d ----> R ^ (d + 1): (a1, ..., विज्ञापन) | ---> (a1, ..., ad, 1) |

प्रशिक्षण सेट में सभी बिंदुओं के लिए ऐसा करने से आर ^ (डी + 1) में रैखिक पृथक्करण समस्या का समाधान होता है और आपके क्लासिफायर से निरंतर शब्द w0 समाप्त हो जाता है, जो बदले में दोहरी से समता समानता बाधा को समाप्त करता है।

2. बिंदु 1 से, दोहरे को आसानी से उत्तल द्विघात अनुकूलन समस्या के रूप में रखा जा सकता है, जिसकी कमी केवल बाध्य बाधाएं हैं।

3. दोहरी समस्या को अब कुशलतापूर्वक हल किया जा सकता है, यानी एक दोहरे समन्वय वंश एल्गोरिथ्म के माध्यम से जो ओ (लॉग (1 / epsilon)) में एप्सिलॉन-इष्टतम समाधान देता है।

यह ध्यान में रखते हुए किया जाता है कि सभी अल्फ़ाज़ों को ठीक करने से एक को छोड़कर एक बंद-प्रपत्र समाधान होता है। फिर आप एक-एक करके सभी अल्फ़ाज़ों के माध्यम से साइकिल चला सकते हैं (जैसे यादृच्छिक पर एक को चुनना, अन्य सभी अल्फ़ाज़ों को ठीक करना, बंद फॉर्म समाधान की गणना करना)। एक यह दिखा सकता है कि आप इस प्रकार एक निकट-इष्टतम समाधान प्राप्त करेंगे "बल्कि जल्दी से" (उपरोक्त कागज में प्रमेय 1 देखें)।

अनुकूलन के दृष्टिकोण से दोहरी समस्या क्यों आकर्षक है, इसके कई अन्य कारण हैं, जिनमें से कुछ इस तथ्य का फायदा उठाते हैं कि इसमें केवल एक समानता समानता की बाधा है (रीमेकिंग बाधाएं सभी बाध्य बाधाएं हैं) जबकि अन्य अवलोकन का शोषण करते हैं कि समाधान पर दोहरी समस्या "अक्सर अधिकांश अल्फ़ाज़" शून्य (गैर-शून्य अल्फ़ाज़ हैं जो वैक्टर का समर्थन करने के लिए संगत हैं)।

आप कम्प्यूटेशनल लर्निंग वर्कशॉप (2009) में स्टीफन राइट की प्रस्तुति से एसवीएम के लिए संख्यात्मक अनुकूलन विचारों का एक अच्छा अवलोकन प्राप्त कर सकते हैं ।

पुनश्च: मैं यहाँ नया हूँ। इस वेबसाइट पर गणितीय संकेतन का उपयोग करने के लिए अच्छा नहीं होने के लिए क्षमा याचना।


1
गणित टाइपसेटिंग का उपयोग कैसे करें के बारे में जानकारी यहाँ है: math.meta.stackexchange.com/questions/5020/…
मोनिका

-5

एंड्रयू एनजी के व्याख्यान नोटों में मेरी राय में, यह स्पष्ट रूप से उल्लेख किया गया है कि 1 / || w की समस्या, एक गैर उत्तल समस्या है। दोहरे उत्तल समस्या है और उत्तल फ़ंक्शन का इष्टतम खोजना हमेशा आसान होता है।


1
जैसा कि ऊपर कहा गया है SVM उत्तल उत्तल है।
डगल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.