what is support vector machine machine learning
यह ट्यूटोरियल एमएल और एसोसिएटेड अवधारणाओं जैसे हाइपरप्लेन, सपोर्ट वेक्टर्स और एसवीएम के अनुप्रयोगों में सपोर्ट वेक्टर मशीन की व्याख्या करता है:
में पिछला ट्यूटोरियल , हमने जेनेटिक एल्गोरिदम और मशीन लर्निंग में उनकी भूमिका के बारे में सीखा।
हमने अपने पहले के ट्यूटोरियल्स में मशीन लर्निंग में कुछ सुपरवाइज्ड और अनअप्रूव्ड एल्गोरिदम का अध्ययन किया है। Backpropagation एक पर्यवेक्षित शिक्षण एल्गोरिथ्म है, जबकि कोहेनन एक अप्रकाशित शिक्षण एल्गोरिथ्म है।
इस समर्थन वेक्टर मशीन ट्यूटोरियल में, हम समर्थन वेक्टर मशीनों के बारे में जानेंगे। SVM प्रशिक्षण डेटा सेट के वर्गीकरण में बड़े पैमाने पर गणितीय पर्यवेक्षित मशीन लर्निंग एल्गोरिदम का उपयोग किया जाता है।
=> कम्प्लीट मशीन लर्निंग ट्रेनिंग सीरीज़ के माध्यम से पढ़ें
आप क्या सीखेंगे:
- एक सपोर्ट वेक्टर मशीन (SVM) क्या है
- हाइपरप्लेन क्या है
- वर्गीकरण और प्रतिगमन एल्गोरिदम क्या हैं
- समर्थन क्षेत्र क्या हैं
- एक सपोर्ट वेक्टर मशीन कैसे काम करती है
- हाइपरप्लेन की स्थिति का अनुकूलन कैसे करें
- एसवीएम के अनुप्रयोग
- निष्कर्ष
- अनुशंसित पाठ
एक सपोर्ट वेक्टर मशीन (SVM) क्या है
एसवीएम एल्गोरिदम एक पर्यवेक्षित शिक्षण एल्गोरिथ्म है जिसे वर्गीकरण तकनीकों के तहत वर्गीकृत किया गया है। यह एक द्विआधारी वर्गीकरण तकनीक है जो एन-आयामी अंतरिक्ष में एक इष्टतम हाइपरप्लेन की भविष्यवाणी करने के लिए प्रशिक्षण डेटासेट का उपयोग करता है।
इस हाइपरप्लेन का उपयोग डेटा के नए सेटों को वर्गीकृत करने के लिए किया जाता है। एक द्विआधारी क्लासिफायरियर होने के नाते, प्रशिक्षण डेटा सेट हाइपरप्लेन दो वर्गों में स्थापित प्रशिक्षण डेटा को विभाजित करता है।
एसवीएम एल्गोरिदम का उपयोग डेटा को 2-आयामी विमान के साथ-साथ बहुआयामी हाइपरप्लेन में वर्गीकृत करने के लिए किया जाता है। बहुआयामी हाइपरप्लेन बहुआयामी डेटा को वर्गीकृत करने के लिए 'कर्नेल' का उपयोग करता है।
वर्गीकृत डेटा बिंदुओं के बीच अधिकतम अंतर रखना हमेशा वांछित होता है। इसका मतलब है कि उनके पास अधिकतम दूरी होनी चाहिए, या हाइपरप्लेन में डेटा बिंदुओं के बीच अधिकतम अंतर होना चाहिए।
हाइपरप्लेन क्या है
हाइपरप्लेन एक सीमा होती है जो प्लेन को विभाजित करती है। यह एक निर्णय सीमा है जो डेटा बिंदुओं को 2 अलग-अलग वर्गों में वर्गीकृत करती है। चूंकि एसवीएम का उपयोग डेटा को बहु-आयामी में वर्गीकृत करने के लिए किया जाता है, यदि 2 इनपुट या 2 डी प्लेन हैं तो हाइपरप्लेन एक सीधी रेखा हो सकती है यदि 2 से अधिक इनपुट हैं।
एसवीएम एल्गोरिदम का उपयोग प्रतिगमन विश्लेषण के लिए भी किया जा सकता है लेकिन मुख्य रूप से इसका उपयोग वर्गीकरण के लिए किया जाता है। आइए इनमें से प्रत्येक विधि के बारे में कुछ और विवरण देखें।
वर्गीकरण और प्रतिगमन एल्गोरिदम क्या हैं
एक वर्गीकरण एल्गोरिदम वह है जो परिणाम की भविष्यवाणी करने के लिए प्रशिक्षण डेटा का विश्लेषण करता है। परिणाम एक लक्ष्य वर्ग है, उदाहरण के लिए , दिन या रात, हाँ या नहीं, लंबी या छोटी। एक वर्गीकरण एल्गोरिथ्म का एक उदाहरण होगा कि क्या एक सुपरस्टोर में एक ग्राहक रोटी खरीदने के लिए भी मक्खन खरीदेगा। लक्ष्य वर्ग 'हाँ' या 'नहीं' होगा।
एक प्रतिगमन एल्गोरिथ्म स्वतंत्र चर के बीच संबंध का पता लगाता है और एक परिणाम की भविष्यवाणी करता है। रैखिक प्रतिगमन इनपुट और आउटपुट के बीच एक रैखिक संबंध का पता लगाता है। उदाहरण के लिए: 'ए' इनपुट के रूप में और 'बी' आउटपुट के रूप में, एक रैखिक फ़ंक्शन b = k * a + c होगा।
समर्थन क्षेत्र क्या हैं
सपोर्ट वेक्टर वे डेटा पॉइंट हैं जो हमें हाइपरप्लेन को ऑप्टिमाइज़ करने में मदद करते हैं। ये वैक्टर हाइपरप्लेन के सबसे करीब होते हैं और इन्हें वर्गीकृत करना सबसे मुश्किल होता है। निर्णय हाइपरप्लेन की स्थिति समर्थन वैक्टर पर निर्भर करती है। यदि इन सपोर्ट वैक्टर को हटा दिया जाता है, तो यह हाइपरप्लेन की स्थिति को भी बदल देगा।
एक सपोर्ट वेक्टर मशीन (SVM) इनपुट डेटा पॉइंट्स या फीचर्स का उपयोग करती है, जिसे सपोर्ट वैक्टर कहा जाता है ताकि निर्णय सीमाएं यानी हाइपरप्लेन के आसपास की जगह को अधिकतम किया जा सके। एसवीएम के इनपुट और आउटपुट तंत्रिका नेटवर्क के समान हैं। एसवीएम और एनएन के बीच सिर्फ एक अंतर है जैसा कि नीचे बताया गया है।
इनपुट्स: SVM नेटवर्क में x का कहना है कि इनपुट की संख्या n हो सकती हैएक, एक्सदो, …… .., एक्समैं,…।, एक्सएन
आउटपुट: लक्ष्य उत्पादन टी।
वजन: तंत्रिका नेटवर्क की तरह वजन डब्ल्यूएक, मेंदो, ……, मेंएनप्रत्येक इनपुट से जुड़े होते हैं जिसका रेखीय संयोजन आउटपुट y की भविष्यवाणी करता है।
एसवीएम और तंत्रिका नेटवर्क के बीच अंतर
तंत्रिका नेटवर्क में सिनैप्टिक भार नेटवर्क के आउटपुट y की गणना करने के लिए समाप्त हो जाते हैं जबकि SVM में इष्टतम निर्णय सीमा की गणना करने के लिए गैर-शून्य भार कम या समाप्त हो जाते हैं।
भार के उन्मूलन के साथ, यह कुछ महत्वपूर्ण इनपुट विशेषताओं के लिए सेट किए गए इनपुट डेटा को कम कर देगा जो कि अलग-अलग हाइपरप्लेन को तय करने में मदद करेगा।
एक सपोर्ट वेक्टर मशीन कैसे काम करती है
जैसा कि हम जानते हैं, समर्थित वेक्टर मशीनों का उद्देश्य वर्गीकृत डेटा बिंदुओं के बीच मार्जिन को अधिकतम करना है। यह अप्रशिक्षित डेटा के नए सेटों को वर्गीकृत करने के लिए अधिक इष्टतम परिणाम लाएगा। इस प्रकार, यह उस स्थिति में एक हाइपरप्लेन होने से प्राप्त किया जा सकता है जहां मार्जिन अधिकतम है।
आइए रेखीय रूप से अलग किए गए डेटा बिंदुओं का एक उदाहरण देखें:
चरण 1: विभिन्न संभावनाओं से सही हाइपरप्लेन का पता लगाएं: सबसे अच्छा हाइपरप्लेन तय करने के लिए, डेटा को विभाजित करने वाले सभी संभावित विमानों का पता लगाएं, और फिर उनमें से उस एक का चयन करें जो इनपुट डेटा सेट को सर्वश्रेष्ठ वर्गीकृत करता है। नीचे दिए गए ग्राफ में तीन हाइपरप्लेन संभावनाएं हैं। हाइपरप्लेन 3 डेटा बिंदुओं को बेहतर तरीके से विभाजित करता है।
चरण 2: निकटतम डेटा बिंदुओं के बीच अधिकतम मार्जिन वाले हाइपरप्लेन का चयन करें: मार्जिन को हाइपरप्लेन और निकटतम डेटा बिंदुओं के बीच की दूरी के रूप में परिभाषित किया गया है। इसलिए, अधिकतम मार्जिन होना इष्टतम है। जब 2 या 2 से अधिक हाइपरप्लेन डेटा को समान रूप से वर्गीकृत कर रहे हैं, तो मार्जिन का पता लगाएं।
अधिकतम मार्जिन वाला हाइपरप्लेन चुना जाता है। नीचे दिए गए आंकड़े में, हाइपरप्लेन 2.1,2.2 और 2.3 डेटा बिंदुओं को विभाजित करता है लेकिन हाइपरप्लेन 2.2 का अधिकतम मार्जिन है।
चरण 3: जब आउटलेयर मौजूद होते हैं: आउटलेयर डेटा पॉइंट्स होते हैं जो डेटा पॉइंट्स के सेट से अलग होते हैं। डेटा बिंदुओं के 2 सेटों के मामले में, एक बाहरी स्थिति मौजूद हो सकती है। SVM डेटा में ऐसे आउटलेयर को अनदेखा करता है और फिर अधिकतम मार्जिन का हाइपरप्लेन ढूंढता है।
चरण 4: गैर-रैखिक रूप से अलग किए गए डेटा बिंदुओं के मामले में, SVM कर्नेल ट्रिक का उपयोग करता है। यह एक गैर-रैखिक रूप से अलग करने योग्य विमान को एक नए आयाम को पेश करके अलग-अलग फलक में बदल देगा। कर्नेल ट्रिक्स जटिल गणितीय समीकरण हैं जो हाइपरप्लेन को अनुकूलित करने के लिए जटिल डेटा ट्रांसफ़ॉर्मेशन करते हैं।
नीचे दिया गया आंकड़ा गैर-रैखिक रूप से वियोज्य डेटा बिंदुओं को दर्शाता है जो तब जेड विमान के साथ उच्च आयामीता में बदल जाते हैं। दो डेटा सेट को विभाजित करने वाला हाइपरप्लेन एक सर्कल है।
हाइपरप्लेन की स्थिति का अनुकूलन कैसे करें
हाइपरप्लेन की स्थिति अनुकूलन एल्गोरिदम का उपयोग करके अनुकूलित की जाती है।
एसवीएम पैरामीटर: कर्नेल
एक गैर रेखीय रूप से अलग समस्या में एक अनुकूलित हाइपरप्लेन का निर्माण कर्नेल का उपयोग करके किया जाता है। गुठली गणितीय कार्य हैं जो रैखिक बीजगणितीय रूप का उपयोग करके जटिल समस्या को परिवर्तित करते हैं।
एक रेखीय कर्नेल के लिए, समीकरण इस प्रकार है:
F (x) = b + sum (a)मैं* (एक्स, एक्समैं))
कहां है,
x नया इनपुट डेटा है
एक्समैंसमर्थन वेक्टर है
बी 0 एमैंगुणांक हैं। इन गुणांक का अनुमान एल्गोरिथ्म के सीखने के चरण के दौरान लगाया गया है।
एक जटिल nonlinearly वियोज्य समस्या के लिए, कर्नेल ट्रिक nonlinear वियोज्य समस्या को एक अलग समस्या में परिवर्तित करने के रूप में काम करता है। यह जटिल डेटा को रूपांतरित करता है और डेटा बिंदुओं को आउटपुट में विभाजित करने का तरीका पता करता है।
कर्नेल फ़ंक्शन कई प्रकार के होते हैं जैसे रैखिक, बहुपद, सिग्मॉइड, रेडियल पूर्वाग्रह, गैर-रैखिक, और कई और अधिक।
आइए उपरोक्त कर्नेल कार्यों में से कुछ के उपयोग देखें:
कर्नेल फ़ंक्शन अंतरिक्ष के 2 इनपुट x, y के आंतरिक उत्पाद की गणना करता है।
(1) रेडियल बायस सबसे अधिक उपयोग किया जाने वाला कर्नेल फ़ंक्शन, कहता है कि x = (-1,1) के बीच पड़े सभी मानों के लिए, फ़ंक्शन का मान 1 है अन्यथा 0. कुछ अवरोधन के लिए xमैंकर्नेल फ़ंक्शन का मान 1 है | (xमैं- एच), (एक्समैं+ h) | x के लिए |मैंकेंद्र के रूप में लिया गया और 0 अन्यथा।
# 2) सिग्माइड फंक्शन: सिग्मॉइड का उपयोग करते हुए तंत्रिका नेटवर्क के रूप में, एसवीएम के लिए कर्नेल फ़ंक्शन है
# 3) हाइपरबोलिक स्पर्शरेखा जैसा कि तंत्रिका नेटवर्क उपयोग करते हैं, फ़ंक्शन है
# 4) गाऊसी कर्नेल गाऊसी कर्नेल फ़ंक्शन बताता है
# 5) बहुपद k (x)मैं, एक्सजे) = (एक्स)मैं* एक्सजे+1)दो
एसवीएम के अनुप्रयोग
एसवीएम के वास्तविक जीवन के अनुप्रयोगों में शामिल हैं:
# 1) विभिन्न श्रेणियों में लेखों का वर्गीकरण: एसवीएम लिखित ग्रंथों के बीच अंतर करता है और इसे मनोरंजन, स्वास्थ्य, कथा लेख जैसे विभिन्न श्रेणियों में डालता है। यह एसवीएम को प्रशिक्षित करते समय गणना की गई पूर्व-निर्धारित दहलीज मूल्यों पर आधारित है।
यदि थ्रेसहोल्ड मान को पार किया जाता है, तो इसे श्रेणी पर रखा जाता है। यदि मान पूरा नहीं होता है, तो वर्गीकरण के लिए नई श्रेणियां निर्धारित की जाती हैं।
कैसे वाईफाई के लिए नेटवर्क सुरक्षा कुंजी खोजने के लिए
# 2) चेहरे की पहचान: दी गई छवि को पिक्सेल का उपयोग करके सुविधाओं का पता लगाकर चेहरे की छवि या गैर-चेहरे की छवि के रूप में वर्गीकृत किया गया है। छवि को चेहरे या गैर-चेहरे के रूप में पहचाना जाता है।
# 3) स्वास्थ्य सूचना: एसवीएम का उपयोग रोगियों को उनके जीन के आधार पर वर्गीकृत करने के लिए किया जाता है, जैविक पैटर्न की मान्यता आदि।
# 4) प्रोटीन होमोलॉजी का पता लगाने: कम्प्यूटेशनल चिकित्सा विज्ञान में, एसवीएम को प्रशिक्षित किया जाता है कि प्रोटीन अनुक्रम कैसे मॉडलिंग किए जाते हैं। एसवीएम का उपयोग तब प्रोटीन होमोलॉजी का पता लगाने के लिए किया जाता है।
निष्कर्ष
इस सपोर्ट वेक्टर मशीन ट्यूटोरियल में, हमने सपोर्ट वेक्टर मशीनों के बारे में सीखा। एसवीएम एल्गोरिदम को सीखने वाले एल्गोरिदम की निगरानी की जाती है जो बाइनरी डेटा और रैखिक रूप से अलग करने योग्य डेटा को वर्गीकृत करने के लिए उपयोग किया जाता है। यह एक अधिकतम मार्जिन के साथ हाइपरप्लेन द्वारा डेटा बिंदुओं को वर्गीकृत करता है।
गैर-रैखिक डेटा बिंदुओं को कर्नेल ट्रिक्स का उपयोग करके वेक्टर मशीनों द्वारा भी वर्गीकृत किया जा सकता है। वास्तविक जीवन में एसवीएम के कई अनुप्रयोग हैं, सबसे आम एप्लिकेशन में से एक चेहरा पहचान और लिखावट मान्यता है।
पढ़ने का आनंद लो!!
=> एक्सक्लूसिव मशीन लर्निंग सीरीज के लिए यहां जाएं
अनुशंसित पाठ
- मशीन लर्निंग ट्यूटोरियल: एमएल और इसके अनुप्रयोगों का परिचय
- मशीन लर्निंग में कृत्रिम तंत्रिका नेटवर्क के लिए एक पूर्ण गाइड
- डाटा माइनिंग बनाम मशीन लर्निंग बनाम आर्टिफिशियल इंटेलिजेंस बनाम डीप लर्निंग
- मशीन लर्निंग के प्रकार: सुपरवाइज्ड Vs अनसुप्रवाइज्ड लर्निंग
- मशीन लर्निंग में जेनेटिक एल्गोरिदम का परिचय
- 2021 में 11 सबसे लोकप्रिय मशीन लर्निंग सॉफ्टवेयर टूल्स
- शीर्ष 13 सर्वश्रेष्ठ मशीन लर्निंग कंपनियां (अद्यतित 2021 सूची)
- जावा वेक्टर क्या है | उदाहरणों के साथ जावा वेक्टर क्लास ट्यूटोरियल