SVM के लिए कर्नेल का चयन कैसे करें?


95

एसवीएम का उपयोग करते समय, हमें एक कर्नेल का चयन करना होगा।

मुझे आश्चर्य है कि एक कर्नेल का चयन कैसे करें। कर्नेल चयन पर कोई मानदंड?


समस्या का आकार क्या है? (# चर, प्रेक्षण)?
user603

मैं सिर्फ एक सामान्यीकृत समाधान के लिए कह रहा हूं, कोई विशेष समस्या निर्दिष्ट नहीं है
xiaohan2012

जवाबों:


54

कर्नेल प्रभावी रूप से एक समानता उपाय है, इसलिए रॉबिन (+1) द्वारा सुझाए गए आक्रमणों के पूर्व ज्ञान के अनुसार एक कर्नेल चुनना एक अच्छा विचार है।

विशेषज्ञ ज्ञान की अनुपस्थिति में, रेडियल बेसिस फ़ंक्शन कर्नेल एक अच्छा डिफ़ॉल्ट कर्नेल बनाता है (एक बार जब आप इसे स्थापित कर लेते हैं तो यह एक गैर-रैखिक मॉडल की आवश्यकता होती है)।

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

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

GC Cawley और NLC टैलबोट, हाइपर-मापदंडों के बेयसियन नियमितीकरण के माध्यम से मॉडल चयन में ओवर-फिटिंग को रोकना, जर्नल ऑफ़ मशीन लर्निंग रिसर्च, वॉल्यूम 8, पृष्ठ 841-861, अप्रैल 2007। (पीडीएफ)

तथा

GC Cawley और NLC टैलबोट, मॉडल चयन में ओवर-फिटिंग और प्रदर्शन मूल्यांकन में बाद के चयन पूर्वाग्रह, जर्नल ऑफ़ मशीन लर्निंग रिसर्च, वॉल्यूम। 11, पीपी। 2079-2107, जुलाई 2010. (पीडीएफ)


मुझे लगता है कि कैसे रेडियल आधार एक समानता माप है क्योंकि यह एक दूसरे से दूर वैक्टर के लिए लगभग 0 है और समान वैक्टर पर इसकी अधिकतम तक पहुंचता है। हालाँकि, मैं यह नहीं देखता कि यह विचार रैखिक एल्गोरिथम (कर्नेल के रूप में डॉट उत्पाद का उपयोग करके) पर कैसे लागू होता है। हम कैसे एक समानता के उपाय के रूप में डॉट उत्पाद की व्याख्या कर सकते हैं?
बनानिन

@Bananin डॉट उत्पाद को उनके बीच के कोण के कोसाइन के दो वैक्टरों के परिमाण के उत्पाद के रूप में लिखा जा सकता है, इसलिए आप इसे वैक्टर की दिशा के संदर्भ में समानता को मापने के रूप में सोच सकते हैं (लेकिन स्पष्ट रूप से यह निर्भर करता है) उनके परिमाण पर)
डिक्रान मार्सुपियल

34

यदि आप सुनिश्चित नहीं हैं कि सबसे अच्छा क्या होगा तो आप चयन की स्वचालित तकनीकों (जैसे क्रॉस वैधीकरण, ...) का उपयोग कर सकते हैं। इस मामले में आप भी एक का उपयोग कर सकते संयोजन अलग कर्नेल के साथ प्राप्त classifiers के (वर्गीकरण यदि आपकी समस्या है)।

हालांकि , एक कर्नेल के साथ काम करने का "लाभ" यह है कि आप सामान्य "यूक्लिडियन" ज्यामिति को बदलते हैं ताकि यह अपनी समस्या फिट हो। इसके अलावा, आपको वास्तव में यह समझने की कोशिश करनी चाहिए कि आपकी समस्या के लिए कर्नेल की रुचि क्या है, आपकी समस्या की ज्यामिति के लिए क्या विशेष है । इसमें शामिल हो सकते हैं:

  • Invariance : यदि परिवर्तनों का एक समूह है जो आपकी समस्या को मौलिक रूप से नहीं बदलता है, तो कर्नेल को प्रतिबिंबित करना चाहिए। रोटेशन के द्वारा किए गए आक्रमण गॉसियन कर्नेल में निहित हैं, लेकिन आप बहुत सी अन्य चीजों के बारे में सोच सकते हैं: अनुवाद, होमोटेथी, किसी भी समूह का प्रतिनिधित्व, ....
  • एक अच्छा विभाजक क्या है? यदि आपको पता है कि आपकी वर्गीकरण समस्या में एक अच्छा विभाजक (यानी एक अच्छा वर्गीकरण नियम) क्या है, तो इसे कर्नेल की पसंद में शामिल किया जाना चाहिए। रिमेम्बर कि एसवीएम आपको फॉर्म का क्लासीफायर देगा

^(एक्स)=Σमैं=1nλमैं(एक्स,एक्समैं)

(एक्स,एक्समैं)=एक्स,एक्समैं+सी


आपके उत्तर में, आपने उल्लेख किया है कि कर्नेल के साथ काम करने का "फायदा" यह है कि आप सामान्य "यूक्लिडियन" ज्यामिति को बदलते हैं ताकि यह आपकी स्वयं की समस्या के लायक हो। इसके अलावा, आपको वास्तव में यह समझने की कोशिश करनी चाहिए कि कर्नेल की रुचि क्या है। आपकी समस्या के लिए, आपकी समस्या की ज्यामिति के लिए क्या विशेष है। " क्या आप शुरू करने के लिए कुछ संदर्भ दे सकते हैं। धन्यवाद।
रायहाना

11

मुझे हमेशा यह महसूस होता है कि SVM के लिए कोई भी हाइपर पैरामीटर चयन ग्रिड खोज के साथ संयोजन में क्रॉस सत्यापन के माध्यम से किया जाता है।


2
मेरे पास एक ही भावना है
xiaohan2012

2
ग्रिड खोज एक बुरा विचार है, आप उन क्षेत्रों में खोज करने में बहुत समय बिताते हैं जहां प्रदर्शन खराब है। Nelder-Mead सिंप्लेक्स विधि जैसे ग्रेडिएंट फ्री ऑप्टिमाइज़ेशन एल्गोरिदम का उपयोग करें, जो अभ्यास में अधिक कुशल है (जैसे MATLAB में fminsearch)।
डिक्रान मार्सुपियल

नहीं, अपेक्षित जानकारी के साथ संयोजन में वैश्विक अनुकूलन के लिए ग्राफिकल मॉडल या गाऊसी प्रक्रियाओं का उपयोग करें। ('हाइपर पैरामीटर ऑप्टिमाइज़ेशन के लिए एल्गोरिदम देखें',
बर्गस्त्र

2

सामान्य तौर पर, RBF कर्नेल एक उचित rst विकल्प होता है। इसके अलावा, रैखिक कर्नेल RBF का एक विशेष मामला है, विशेष रूप से, जब सुविधाओं की संख्या बहुत बड़ी होती है, तो कोई बस रैखिक कर्नेल का उपयोग कर सकता है।


1
यह इस बात पर निर्भर करता है कि आपका डेटा रैखिक रूप से अलग है या नहीं, आपके पास कितने आयाम हैं। जब सुविधाओं की संख्या बहुत बड़ी है, (फिर से डेटा के आधार पर), तो आप पहले डायमेंशन की कमी को लागू करेंगे, PCA या LDA (रैखिक या
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.