रायन ज़ोटी का जवाब निर्णय की सीमाओं के अधिकतमकरण के पीछे की प्रेरणा को स्पष्ट करता है, कार्ल्सडेक का उत्तर अन्य सहपाठियों के संबंध में कुछ समानताएं और अंतर देता है। मैं इस उत्तर में एक संक्षिप्त गणितीय अवलोकन दूंगा कि कैसे SVM को प्रशिक्षित और उपयोग किया जाता है।
अंकन
y,bw,xWwTw∥w∥=wTw
करते हैं:
- x एक फीचर वेक्टर (यानी, SVM का इनपुट) हो। , जहां सुविधा वेक्टर का आयाम है।x∈Rnn
- y वर्ग (यानी, SVM का आउटपुट) हो। , अर्थात वर्गीकरण कार्य द्विआधारी है।y∈{−1,1}
- w और SVM के पैरामीटर हो: हमें प्रशिक्षण सेट का उपयोग करके उन्हें सीखना होगा।b
- (x(i),y(i)) हो डेटासेट में नमूना। मान लें कि हमारे पास प्रशिक्षण सेट में नमूने हैं।ithN
साथ , एक SVM के फैसले सीमाओं इस प्रकार का प्रतिनिधित्व कर सकते हैं:n=2
वर्ग निम्नानुसार निर्धारित किया जाता है:y
y(i)={−11 if wTx(i)+b≤−1 if wTx(i)+b≥1
जो अधिक संक्षिप्त रूप से रूप में लिखा जा सकता है ।y(i)(wTx(i)+b)≥1
लक्ष्य
SVM का उद्देश्य दो आवश्यकताओं को पूरा करना है:
एसवीएम को दो निर्णय सीमाओं के बीच की दूरी को अधिकतम करना चाहिए। गणित के अनुसार, इसका मतलब यह है कि हम hyperplane द्वारा परिभाषित के बीच की दूरी को अधिकतम करना चाहते और hyperplane द्वारा परिभाषित । यह दूरी बराबर है । इसका मतलब है कि हम को हल करना चाहते हैं । समान रूप से हम
।wTx+b=−1wTx+b=12∥w∥maxw2∥w∥minw∥w∥2
SVM को भी सभी , जिसका अर्थ सही ढंग से वर्गीकृत करना चाहिएx(i)y(i)(wTx(i)+b)≥1,∀i∈{1,…,N}
जो हमें निम्नलिखित द्विघात अनुकूलन समस्या की ओर ले जाता है:
minw,bs.t.∥w∥2,y(i)(wTx(i)+b)≥1∀i∈{1,…,N}
यह हार्ड-मार्जिन एसवीएम है , क्योंकि यह द्विघात अनुकूलन समस्या एक समाधान को स्वीकार करती है यदि डेटा रैखिक रूप से अलग है।
एक तथाकथित सुस्त चर को शुरू करके बाधाओं को शांत कर सकता है । ध्यान दें कि प्रशिक्षण सेट के प्रत्येक नमूने का अपना सुस्त चर है। यह हमें निम्नलिखित द्विघात अनुकूलन समस्या देता है:ξ(i)
minw,bs.t.∥w∥2+C∑i=1Nξ(i),y(i)(wTx(i)+b)≥1−ξ(i),ξ(i)≥0,∀i∈{1,…,N}∀i∈{1,…,N}
यह सॉफ्ट-मार्जिन एसवीएम है । एक हाइपरपरेट है जिसे त्रुटि शब्द का दंड कहा जाता है । ( रैखिक कर्नेल के साथ एसवीएम में सी का प्रभाव क्या है? और एसवीएम इष्टतम मापदंडों का निर्धारण करने के लिए कौन सी खोज सीमा है )।C
एक फ़ंक्शन को करके और भी अधिक लचीलापन जोड़ सकता है जो मूल सुविधा स्थान को उच्च आयामी सुविधा स्थान पर मैप करता है। यह गैर-रैखिक निर्णय सीमाओं की अनुमति देता है। द्विघात अनुकूलन समस्या बन जाती है:ϕ
minw,bs.t.∥w∥2+C∑i=1Nξ(i),y(i)(wTϕ(x(i))+b)≥1−ξ(i),ξ(i)≥0,∀i∈{1,…,N}∀i∈{1,…,N}
अनुकूलन
द्विघात अनुकूलन समस्या को एक अन्य अनुकूलन समस्या में परिवर्तित किया जा सकता है जिसका नाम लैग्रैजियन दोहरी समस्या है (पिछली समस्या को प्राण कहा जाता है :
maxαs.t.minw,b∥w∥2+C∑i=1Nα(i)(1−wTϕ(x(i))+b)),0≤α(i)≤C,∀i∈{1,…,N}
इस अनुकूलन की समस्या को सरल किया जा सकता है (कुछ ढ़ाल को सेट करके ):0
maxαs.t.∑i=1Nα(i)−∑i=1N∑j=1N(y(i)α(i)ϕ(x(i))Tϕ(x(j))y(j)α(j)),0≤α(i)≤C,∀i∈{1,…,N}
w रूप में प्रकट नहीं होता है ( रिपीसेटर प्रमेय द्वारा कहा गया है )।w=∑Ni=1α(i)y(i)ϕ(x(i))
इसलिए हम प्रशिक्षण सेट के का उपयोग करके सीखते हैं ।α(i)(x(i),y(i))
(FYI करें: SVM फिट करते समय दोहरी समस्या से परेशान क्यों? लघु उत्तर: तेज संगणना + कर्नेल ट्रिक का उपयोग करने की अनुमति देता है, हालाँकि वहाँ कुछ अच्छी विधियाँ मौजूद हैं SVM को प्राण में प्रशिक्षित करने के लिए जैसे {१} देखें।
एक भविष्यवाणी करना
एक बार जब सीख लिया जाता है, तो एक व्यक्ति सदिश साथ एक नए नमूने की कक्षा की भविष्यवाणी कर सकता है:α(i)xtest
ytest=sign(wTϕ(xtest)+b)=sign(∑i=1Nα(i)y(i)ϕ(x(i))Tϕ(xtest)+b)
योग , काफ़ी मुश्किल हो सकता है इसका मतलब है के बाद से एक सभी प्रशिक्षण के नमूने से अधिक योग करने के लिए है, लेकिन के विशाल बहुमत हैं (देखें क्यों हैं एसवीएम के लिए लैग्रेग मल्टीप्लायरों का फैलाव? ) तो व्यवहार में यह कोई समस्या नहीं है। (ध्यान दें कि कोई व्यक्ति विशेष मामलों का निर्माण कर सकता है जहां सभी ) iff एक समर्थन वेक्टर है । ऊपर दिए गए दृष्टांत में 3 सपोर्ट वैक्टर हैं।∑Ni=1α(i)0α(i)>0α(i)=0x(i)
गिरी की चाल
कोई यह देख सकता है कि अनुकूलन समस्या केवल आंतरिक उत्पाद में केवल का उपयोग करती है। । वह फ़ंक्शन जो मैप्स को को इनर प्रोडक्ट मैप में मैप करता है को कर्नेल , उर्फ कर्नेल फ़ंक्शन कहा जाता है , जिसे अक्सर द्वारा निरूपित किया जाता है ।ϕ(x(i))ϕ(x(i))Tϕ(x(j))(x(i),x(j))ϕ(x(i))Tϕ(x(j))k
एक को चुन सकते हैं ताकि आंतरिक उत्पाद गणना करने के लिए कुशल हो। यह कम कम्प्यूटेशनल लागत पर संभावित उच्च सुविधा स्थान का उपयोग करने की अनुमति देता है। इसे कर्नेल ट्रिक कहा जाता है । कर्नेल फ़ंक्शन को मान्य होने के लिए , यानी कर्नेल ट्रिक के साथ प्रयोग करने योग्य, इसके लिए दो प्रमुख गुणों को संतुष्ट करना चाहिए । चुनने के लिए कई कर्नेल फ़ंक्शन मौजूद हैं । साइड नोट के रूप में, कर्नेल चाल को अन्य मशीन लर्निंग मॉडल पर लागू किया जा सकता है , जिस स्थिति में उन्हें कर्नेल के रूप में संदर्भित किया जाता है ।k
आगे बढ़ते हुए
SVM पर कुछ दिलचस्प क़िस्से:
अन्य लिंक:
संदर्भ: