कम्प्यूटेशनल रूप से यह तय करने का सबसे प्रभावी तरीका है कि रैखिक प्रोग्रामिंग को लागू करने से दो सेट अंक रैखिक रूप से अलग होते हैं या नहीं । GLTK उस उद्देश्य के लिए एकदम सही है और बहुत अधिक हर हाइलेवल भाषा इसके लिए एक इंटरफ़ेस प्रदान करती है - आर , पायथन, ऑक्टेव, जूलिया, आदि।
एसवीएम के उपयोग का सुझाव देने वाले उत्तर के संबंध में :
एसवीएम का उपयोग दो कारणों से रैखिक पृथक्करण की पुष्टि करने के लिए एक उप-इष्टतम समाधान है:
एसवीएम सॉफ्ट-मार्जिन क्लासिफायर हैं। इसका मतलब है कि एक रैखिक कर्नेल एसवीएम एक अलग विमान के लिए व्यवस्थित हो सकता है जो वास्तव में संभव होने के बावजूद पूरी तरह से अलग नहीं हो रहा है। यदि आप तब त्रुटि दर की जाँच करते हैं तो यह 0 नहीं होने जा रहा है और आप गलत तरीके से यह निष्कर्ष निकालेंगे कि दोनों सेट रैखिक रूप से अलग नहीं हैं। इस मुद्दे को बहुत उच्च लागत गुणांक C चुनकर देखा जा सकता है - लेकिन यह बहुत ही उच्च कम्प्यूटेशनल लागत पर आता है।
एसवीएम अधिकतम मार्जिन वाले क्लासिफायर हैं। इसका मतलब है कि एल्गोरिथ्म एक अलग प्लेन खोजने की कोशिश करेगा जो दोनों वर्गों को अलग कर रहा है, जहाँ तक संभव हो दोनों से दूर रहने की कोशिश कर रहा है। फिर से यह कम्प्यूटेशनल प्रयास को अनावश्यक रूप से बढ़ाने वाला एक फीचर है क्योंकि यह कुछ ऐसी गणना करता है जो रैखिक पृथक्करण के प्रश्न का उत्तर देने के लिए प्रासंगिक नहीं है।
मान लें कि आपके पास A और B का एक सेट है:
फिर आपको निम्नलिखित शर्तों के लिए 0 को न्यूनतम करना होगा:
(ए नीचे एक मैट्रिक्स है, ऊपर से बिंदुओं का सेट नहीं)
"मिनिमाइजिंग 0" प्रभावी रूप से इसका मतलब है कि आपको वास्तव में एक उद्देश्य फ़ंक्शन का अनुकूलन करने की आवश्यकता नहीं है क्योंकि यह पता लगाना आवश्यक नहीं है कि सेट रैखिक रूप से अलग हैं या नहीं।
अंत में ( ) अलग हो रहे विमान को परिभाषित कर रहा है।
यदि आप R या गणित के विवरण में एक कामकाजी उदाहरण में रुचि रखते हैं, तो इसे देखें ।