सहायता वेक्टर मशीनों को समझने में मेरी मदद करें


76

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

मैं एक वर्गीकरण समस्या कर रहा हूं, जहां मैंने सेंसर से दबाव रीडिंग पर कब्जा कर लिया है जो मैंने जूते की धूप में सुखाना पर रखा है। एक विषय बैठेंगे, खड़े होंगे, और कुछ मिनट तक चलेंगे जबकि दबाव डेटा दर्ज किया जाएगा। मैं यह निर्धारित करने में सक्षम होने के लिए एक क्लासिफ़ायरर ट्रेन करना चाहता हूं कि कोई व्यक्ति बैठा है, खड़ा है या चल रहा है और भविष्य के किसी भी टेस्ट डेटा के लिए ऐसा करने में सक्षम है। मुझे किस वर्गीकरण प्रकार की कोशिश करने की आवश्यकता है? मेरे द्वारा कैप्चर किए गए डेटा से एक क्लासिफायर ट्रेन करने का सबसे अच्छा तरीका क्या है? मेरे पास बैठने, खड़े होने और चलने के लिए 1000 प्रविष्टियाँ हैं (3x1000 = 3000 कुल), और उन सभी में निम्नलिखित फ़ीचर वेक्टर रूप हैं। (pressurefromsensor1, pressurefromsensor2, pressurefromsensor3, pressurefromsensor2)


जवाबों:


103

मुझे लगता है कि आप एक बुरे अंत से शुरू करने की कोशिश कर रहे हैं। SVM का उपयोग करने के बारे में किसी को क्या पता होना चाहिए, यह है कि यह एल्गोरिथ्म हाइपरप्लेन में उन विशेषताओं के हाइपरप्लेन का पता लगा रहा है जो दो वर्गों को सर्वोत्तम रूप से अलग करती हैं, जहाँ कक्षाओं के बीच सबसे बड़े मार्जिन के साथ सबसे अच्छा साधन है (ज्ञान कि यह कैसे किया जाता है, यहाँ आपका दुश्मन है, क्योंकि यह समग्र चित्र को धुंधला करता है), जैसा कि एक प्रसिद्ध चित्र द्वारा चित्रित किया गया है: वैकल्पिक शब्द

अब, कुछ समस्याएं बाकी हैं।
सबसे पहले, एक अलग वर्ग के बिंदुओं के बादल के केंद्र में बेशर्मी से बिछाने वाले उन बुरा आउटलेयर के साथ क्या करना है?
वैकल्पिक शब्द
इसके लिए हम आशावादी को कुछ नमूनों को गुमराह करने की अनुमति देते हैं, फिर भी ऐसे प्रत्येक उदाहरण को सजा देते हैं। मल्टीबोजेक्टिव ऑपिमाइजेशन से बचने के लिए, मिसलेबेल मामलों के लिए दंड को अतिरिक्त पैरामीटर C के उपयोग के साथ मार्जिन आकार के साथ मिलाया जाता है जो उन उद्देश्यों के बीच संतुलन को नियंत्रित करता है।
अगला, कभी-कभी समस्या बस रैखिक नहीं होती है और कोई अच्छा हाइपरप्लेन नहीं मिल सकता है। यहां, हम कर्नेल ट्रिक का परिचय देते हैं - हम सिर्फ मूल, नॉनलाइन स्पेस को एक उच्च डायमेंशनल में प्रोजेक्ट करते हैं, कुछ नॉनलाइनर ट्रांसफॉर्मेशन के साथ, अतिरिक्त मापदंडों के एक समूह द्वारा परिभाषित, उम्मीद है कि परिणामी स्पेस में समस्या एक सादे के लिए उपयुक्त होगी SVM:

वैकल्पिक शब्द

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

ठीक है, इसलिए समस्याएं हल हो गई हैं, लेकिन हमें कर्नेल का चयन करना होगा (यहां हम अपने अंतर्ज्ञान के साथ परामर्श करते हैं और आरबीएफ चुनते हैं) और कम से कम कुछ मापदंडों (सी + कर्नेल) को फिट करते हैं। और इसके लिए हमारे पास ओवरफिट-सेफ ऑब्जेक्टिव फंक्शन होना चाहिए, उदाहरण के लिए क्रॉस-वैलिडेशन से एरर इम्प्लांटेशन। इसलिए हम कंप्यूटर पर काम करना छोड़ देते हैं, कॉफी के लिए जाते हैं, वापस आते हैं और देखते हैं कि कुछ इष्टतम पैरामीटर हैं। महान! अब हम केवल त्रुटि अनुमान और वॉइला होने के लिए नेस्टेड क्रॉस-वैरिफिकेशन शुरू करते हैं।

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


5
(+1) महान है कि आप पूरी चीज़ को चित्रित करने के लिए कुछ चित्र जोड़ते हैं!
२४'१० १:54:०४

3
@mbq चूंकि आप एसवीएम में बहुत सक्षम हैं, इसलिए मैं आपसे अपनी शंका को स्पष्ट करने के लिए कहता हूं: एक बार जब हमने हाइपरप्लेन को अलग करते हुए पाया, तो हम इसके लिए क्या उपयोग करते हैं? हम एसवीएम को एक विधि के रूप में परिभाषित कर सकते हैं, जो सबसे पहले, डेटा बिंदुओं को सही ढंग से वर्गीकृत करने के लिए सबसे अच्छा हाइपरप्लेन चुनता है, और दूसरी बात, यह दो वर्गों में नए डेटा बिंदुओं को अलग करने के लिए इस हाइपरप्लेन का उपयोग करता है। सही? (मुझे दूसरे भाग पर कुछ संदेह है)
DavideChicco.it

3
@ DavideChicco.it मूल रूप से पूरे एमएल की मुख्य समस्या एक मॉडल बनाना है जो नए डेटा की मज़बूती से भविष्यवाणी करेगा, इसलिए हाँ।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.