एक रैखिक एसवीएम मॉडल की निर्णय सीमा का अनुपालन करना


19

एक रैखिक एसवीएम के समर्थन वाले वैक्टर को देखते हुए, मैं निर्णय सीमा के समीकरण की गणना कैसे कर सकता हूं?


w = योग ओवर मैं (एई टी xi)। मल्टीप्लायरों, एआई के मूल्यों को खोजने के लिए आपको लैग्रैन्जियम को कम करना होगा। मुझे आश्चर्य है कि यू को सपोर्ट वैक्टर कैसे मिला? इसी प्रक्रिया को यू की आय का मान भी देना चाहिए।
युफोरिया83

2
मैं अभी तक टिप्पणी नहीं कर सकता लेकिन मुझे लगता है कि स्वीकृत उत्तर में निर्णय रेखा और मार्जिन नहीं होना चाहिए: abline (b / w [2], - w [1] / w [2]) abline ((b + 1) / w [२], - w [१] / w [२], lty = २) abline ((b-१) / w [२], - w [१] / w [२], lty = २) abline के बाद से क्रमशः अवरोधन और ढलान के रूप में इनपुट? wx-b = 0 जिसका तात्पर्य है: w1.x1 + w2.x2 = b जिसका तात्पर्य है (क्योंकि x2 "y" है) abline (b / w [2], -w [1] / w [2] क्षमा करें एक पुरानी पोस्ट है, लेकिन मुझे लगा कि मैं पूछूंगा।
नेपेज टायसन

साइट पर आपका स्वागत है, @Nepze Tyson। यह ओपी के सवाल का जवाब नहीं है। कृपया उत्तर प्रदान करने के लिए केवल "आपका उत्तर" फ़ील्ड का उपयोग करें। यदि आपके पास अपना प्रश्न है, [ASK QUESTION]तो पृष्ठ के शीर्ष पर क्लिक करें और वहां पूछें, तो हम आपकी ठीक से मदद कर सकते हैं। चूंकि आप यहां नए हैं, आप हमारे टूर पेज को पढ़ना चाहेंगे , जिसमें नए उपयोगकर्ताओं के लिए जानकारी हो।
गंग -

@Nepze अपनी अवधारणात्मक टिप्पणी और इसे बनाने के लिए समय और ध्यान के लिए धन्यवाद। मुझे उम्मीद है कि इससे यहां बेहतर उत्तर मिलेगा। मैं हमारी साइट पर आपका स्वागत करने में भी शामिल होना चाहूंगा।
whuber

जवाबों:


29

सांख्यिकीय लर्निंग के तत्वों , Hastie एट अल। से, समर्थन वेक्टर classifiers और SVMs पर एक पूरा अध्याय है (आपके मामले में, 2 संस्करण पर पेज 418 शुरू)। डेविड मेयर द्वारा आर में एक और अच्छा ट्यूटोरियल सपोर्ट वेक्टर मशीनें हैं

जब तक मैं आपके प्रश्न को गलत समझ लेता हूं, निर्णय सीमा (या हाइपरप्लेन) को (with , और इंटरसेप्ट टर्म) द्वारा परिभाषित किया जाता है, या @ebony ने कहा। समर्थन वैक्टर का एक रैखिक संयोजन। मार्जिन तो, हस्ती एट अल। अंकन।β = 1 β 0 2 /β xTβ+β0=0β=1β02/β

Kernlab R पैकेज ksvm()में ऑन-लाइन मदद से , लेकिन kernlab भी देखें - R में कर्नेल मेथड्स के लिए S4 पैकेज , यहाँ एक खिलौना उदाहरण दिया गया है:

set.seed(101)
x <- rbind(matrix(rnorm(120),,2),matrix(rnorm(120,mean=3),,2))
y <- matrix(c(rep(1,60),rep(-1,60)))
svp <- ksvm(x,y,type="C-svc")
plot(svp,data=x)

ध्यान दें कि स्पष्टता के लिए, हम ट्रेन और नमूनों के परीक्षण पर विचार नहीं करते हैं। परिणाम नीचे दिखाए गए हैं, जहां रंग छायांकन फिटेड निर्णय मानों को देखने में मदद करता है; मान 0 के आसपास निर्णय सीमा पर हैं।

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

कॉलिंग attributes(svp)आपको वे विशेषताएँ देता है, जिन्हें आप एक्सेस कर सकते हैं, जैसे

alpha(svp)  # support vectors whose indices may be 
            # found with alphaindex(svp)
b(svp)      # (negative) intercept 

इसलिए, निर्णय सीमा को प्रदर्शित करने के लिए, इसके संगत मार्जिन के साथ, आइए निम्नलिखित (पुन: रिक्त स्थान में) का प्रयास करें, जो काफी हद तक जीन-फिलिप वर्ट द्वारा किए गए एसवीएम पर एक ट्यूटोरियल से प्रेरित है :

plot(scale(x), col=y+2, pch=y+2, xlab="", ylab="")
w <- colSums(coef(svp)[[1]] * x[unlist(alphaindex(svp)),])
b <- b(svp)
abline(b/w[1],-w[2]/w[1])
abline((b+1)/w[1],-w[2]/w[1],lty=2)
abline((b-1)/w[1],-w[2]/w[1],lty=2)

और यहाँ यह है:

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


4
सुंदर, बिल्कुल वही जिसकी मुझे तलाश थी। दो पंक्तियाँ: w <- colSums (coef (svp) [[1]] * x [अनलिस्ट (अल्फ़िंडेक्स (svp)),]) b <- b (svp) एक देवी थीं। धन्यवाद!
dshin

@chi: "एसवीएम की निर्णय सीमा की गणना कैसे करें" के मेरे जवाब पर एक नज़र डालना दिलचस्प हो सकता है: आंकड़े ।stackexchange.com

4

यह समर्थन वैक्टर का एक रैखिक संयोजन है जहां गुणांक इन सपोर्ट वैक्टरों के अनुरूप लैग्रेंज गुणकों द्वारा दिया जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.