SVM पैरामीटर चयन


9

क्या सी और गामा चुनने के लिए बेहतर वैकल्पिक तरीके हैं जो बेहतर प्रशिक्षण प्रदर्शन प्रदान करते हैं?

जवाबों:


5

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

SMO हाइपर-पैरामीटर्स के बजाय मॉडल पैरामीटर खोजने के लिए एक एल्गोरिथ्म है।


आप अपने matlab कार्यान्वयन प्रदान कर सकते हैं?
Zach

1
यहाँ एक है theoval.cmp.uea.ac.uk/matlab/#optim लेकिन अगर आपके पास पहले से ही ऑप्टिमाइज़ेशन टूलबॉक्स है तो fminsearch भी नेल्डर-मीड विधि IIRC का कार्यान्वयन है।
डिक्रान मार्सुपियल

5

नेल्डर-मीड सिम्पलेक्स विधि एक साधारण ग्रिड खोज के रूप में कई फ़ंक्शन मूल्यांकन शामिल कर सकती है। आमतौर पर त्रुटि सतह इष्टतम पैरामीटर मानों के लिए पर्याप्त चिकनी होती है जो मोटे ग्रिड खोज के बाद छोटे क्षेत्र में बारीक होती है।

यदि आप सी और गामा के क्रमिक आधारित अनुकूलन में रुचि रखते हैं, तो त्रिज्या-मार्जिन सीमा के अनुकूलन या सत्यापन सेट पर त्रुटि दर का अनुकूलन करने जैसी विधियां हैं। उद्देश्य फ़ंक्शन के ग्रेडिएंट की गणना में एक एसवीएम ट्रेन जैसी कोई चीज़ शामिल है लेकिन एक साधारण ग्रेडिएंट वंश में केवल कुछ दर्जन पुनरावृत्तियों शामिल हो सकते हैं। ( एक लेख और एक माटलैब कार्यान्वयन के लिए http://olivier.chapelle.cc/ams/ देखें ।)


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

आप सही कह रहे हैं कि यदि मापदंडों की संख्या एक जोड़े से अधिक है, तो ग्रिड खोज व्यवहार्य नहीं है। लेकिन नेल्डर-मीड के बारे में भी यही सच है, क्योंकि सिम्प्लेक्स का आकार आयामीता से निर्धारित होता है।
इन्नू

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

0

यहाँ आपके प्रश्न से संबंधित एलेक्स स्मोला के ब्लॉग में एक प्रविष्टि है

यहाँ एक उद्धरण है:

[...] उठाएं, अपने डेटासेट से यादृच्छिक रूप से 1000 जोड़े (x, x ') कहें, ऐसी सभी जोड़ियों की दूरी की गणना करें और माध्यिका, 0.1 और 0.9 का मान लें। अब इन तीनों संख्याओं में से किसी का व्युत्क्रम होने के लिए λ चुनें। थोड़ा सा क्रॉसवैलिडेशन के साथ आप यह पता लगा लेंगे कि तीन में से कौन सा सबसे अच्छा है। ज्यादातर मामलों में आपको कोई और खोज करने की आवश्यकता नहीं होगी।

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