एआई की मूल बातें

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

mm
Unite.AI को Google पर अपने पसंदीदा स्रोतों में जोड़ें

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

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

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

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

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

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

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

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

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

Y = ax + b

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

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

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)

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

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