Connect with us

सपोर्ट वेक्टर मशीन्स क्या हैं?

AI 101

सपोर्ट वेक्टर मशीन्स क्या हैं?

mm

सपोर्ट वेक्टर मशीन्स क्या हैं?

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

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

सपोर्ट वेक्टर मशीन्स का लक्ष्य

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

आप एक सपोर्ट वेक्टर मशीन को एक शहर में “सड़कें” बनाने के रूप में सोच सकते हैं, जो शहर को दोनों तरफ के जिलों में विभाजित करती हैं। एक जिले में सभी इमारतें (डेटा पॉइंट्स) जो सड़क के एक तरफ हैं, एक ही जिले से संबंधित हैं।

सपोर्ट वेक्टर मशीन का लक्ष्य न केवल हाइपरप्लेन आकर्षित करना और डेटा पॉइंट्स को विभाजित करना है, बल्कि हाइपरप्लेन को आकर्षित करना है जो डेटा पॉइंट्स को सबसे बड़े मार्जिन के साथ विभाजित करता है, या सबसे अधिक जगह देता है। “सड़क” की कल्पना को वापस लेते हुए, यदि एक शहरी योजनाकार एक फ्रीवे की योजना बनाता है, तो वे नहीं चाहते कि फ्रीवे घरों या दोनों तरफ की अन्य इमारतों के बहुत करीब हो। मार्जिन जितना बड़ा होगा, क्लासिफायर अपनी भविष्यवाणियों के बारे में उतना ही अधिक आत्मविश्वासी होगा। द्विआधारी वर्गीकरण के मामले में, सही हाइपरप्लेन चुनने का अर्थ है दो अलग-अलग वर्गों के बीच के मध्य में एक हाइपरप्लेन चुनना। यदि निर्णय सीमा/हाइपरप्लेन एक वर्ग से दूर है, तो यह दूसरे वर्ग के करीब होगा। इसलिए, हाइपरप्लेन को दोनों वर्गों के बीच मार्जिन को संतुलित करना होगा।

अलग करने वाले हाइपरप्लेन की गणना

तो एक सपोर्ट वेक्टर मशीन सबसे अच्छा अलग करने वाला हाइपरप्लेन/निर्णय सीमा कैसे निर्धारित करती है? यह एक गणितीय सूत्र का उपयोग करके संभावित हाइपरप्लेन की गणना करके किया जाता है। हम सूत्र को विस्तार से नहीं देखेंगे हाइपरप्लेन की गणना, लेकिन रेखा की गणना प्रसिद्ध ढलान/रेखा सूत्र के साथ की जाती है:

Y = ax + b

इस बीच, रेखाएं बिंदुओं से बनी होती हैं, जिसका अर्थ है कि कोई भी हाइपरप्लेन इस प्रकार वर्णित किया जा सकता है: प्रस्तावित हाइपरप्लेन के समानांतर चलने वाले बिंदुओं का सेट, जैसा कि मॉडल के वजनों द्वारा निर्धारित किया गया है और एक निर्दिष्ट ऑफसेट/पक्षपात (“डी”) द्वारा संशोधित विशेषताओं के सेट के गुणनफल के रूप में।

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

W * X – b

जबकि आप एसवीएम के पीछे के गणित के बारे में अधिक पढ़ सकते हैं, यदि आप उन्हें अधिक直观 रूप से समझना चाहते हैं तो बस यह जान लें कि लक्ष्य प्रस्तावित अलग करने वाले हाइपरप्लेन/सीमा रेखा और इसके समानांतर चलने वाले अन्य हाइपरप्लेन (और डेटा पॉइंट्स पर पाए जाने वाले) के बीच की दूरी को अधिकतम करना है।

फोटो: जैकवीनबर्ग विकिमीडिया कॉमन्स, सीसी बाय एसए 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)

मल्टीक्लास क्लासिफिकेशन

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

नॉन-लीनियर सेपरेशन

उपरोक्त प्रक्रिया लीनियर रूप से अलग किए जाने वाले मामलों पर लागू होती है। ध्यान दें कि वास्तव में, डेटासेट लगभग कभी भी पूरी तरह से लीनियर रूप से अलग नहीं होते हैं, जिसका अर्थ है कि जब आप एक एसवीएम क्लासिफायर का उपयोग करते हैं, तो आपको अक्सर दो अलग-अलग तकनीकों का उपयोग करना होगा: सॉफ्ट मार्जिन और कर्नल ट्रिक्स। एक ऐसी स्थिति की कल्पना करें जहां विभिन्न वर्गों के डेटा पॉइंट्स मिले हुए हैं, जिसमें एक वर्ग के कुछ उदाहरण दूसरे वर्ग के “क्लस्टर” में हैं। आप इन उदाहरणों को क्लासिफायर को कैसे संभालने के लिए कह सकते हैं?

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

एसवीएम की त्रुटि की सहनशीलता को एक हाइपरपैरामीटर “सी” को मैनिपुलेट करके समायोजित किया जा सकता है। सी मान निर्धारित करता है कि क्लासिफायर निर्णय सीमाएं खींचते समय कितने सपोर्ट वेक्टर पर विचार करता है। सी मान त्रुटियों पर एक दंड है, जिसका अर्थ है कि सी मान जितना बड़ा होगा, क्लासिफायर उतने ही कम सपोर्ट वेक्टर पर विचार करेगा और मार्जिन उतना ही संकरा होगा।

कर्नल ट्रिक डेटा को गैर-रेखीय रूप से परिवर्तित करता है। फोटो: शियू जू विकिमीडिया कॉमन्स, सीसी बाय एसए 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)

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

ब्लॉगर और प्रोग्रामर जिनकी विशेषज्ञता मैशीन लर्निंग और डीप लर्निंग विषयों में है। डैनियल दूसरों को सामाजिक कल्याण के लिए एआई की शक्ति का उपयोग करने में मदद करना चाहता है।