हाइपर पैरामीटर ट्यूनिंग: बेयसियन अनुकूलन बनाम यादृच्छिक खोज


14

इसलिए, हम जानते हैं कि यादृच्छिक खोज ग्रिड खोज की तुलना में बेहतर काम करती है, लेकिन अधिक हालिया दृष्टिकोण बेयसियन ऑप्टिमाइज़ेशन (गॉसियन प्रक्रियाओं का उपयोग करके) है। मैंने दोनों के बीच तुलना देखी है, और कुछ नहीं पाया। मुझे पता है कि स्टैनफोर्ड के सीएस 231 एन में वे केवल यादृच्छिक खोज का उल्लेख करते हैं, लेकिन यह संभव है कि वे चीजों को सरल रखना चाहते थे।

मेरा सवाल यह है: कौन सा दृष्टिकोण आम तौर पर बेहतर है, और यदि उत्तर "कभी-कभी यादृच्छिक खोज, कभी-कभी बेयसियन" है तो मुझे एक से दूसरे तरीके को कब पसंद करना चाहिए?


2
Google अब अपनी गहन शिक्षण क्लाउड सेवाओं को बेच रहा है और एक ऐसी सुविधा को आगे बढ़ा रहा है जो स्वचालित रूप से आपके हाइपरपामेटर्स को बायेसियन ऑप्टिमाइज़ेशन के साथ ट्यून करता है ... निश्चित रूप से यह दावा करता है कि यह सबसे अच्छा करता है और साथ ही तेज़ी से (हाइपरस्पेस को अधिक कुशलता से खोजता है)। वहाँ कई कागजात हैं जो बीओ बनाम आरएस का मूल्यांकन करते हैं और साथ ही साथ बीओ को थोड़ा बेहतर प्रदर्शन करते हुए दिखाते हैं। मैंने जो देखा है, उससे IMO, वह चीज़ है जिसे आप वास्तविक जीवन की तुलना में कागल प्रतियोगिता में अधिक ध्यान रखते हैं।
JPJ

जवाबों:


9

मुझे लगता है कि यहां का उत्तर डेटा विज्ञान में हर जगह समान है: यह डेटा पर निर्भर करता है :-)

ऐसा हो सकता है कि एक विधि दूसरे से अलग हो जाए (यहां https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ लोग बायेसियन हाइपरपैरिमेट ऑप्टिमाइजेशन की तुलना करते हैं और सैन फ्रांसिस्को क्राइम कागल चुनौती से बेहतर परिणाम प्राप्त करते हैं। यादृच्छिक खोज के साथ), हालांकि मुझे संदेह है कि इसके लिए एक सामान्य नियम है। आप यहाँ एक अच्छा gif देख सकते हैं ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ) जहाँ लोग 'रास्ता' दिखाते हैं कि बायोपियन अनुकूलन परिदृश्य में लेता है। हाइपरपरमेटर्स में, विशेष रूप से, ऐसा नहीं लगता है जैसे कि यह सामान्य में यादृच्छिक खोज को बेहतर बनाता है ...

मुझे लगता है कि इस कारण से लोग बायेसियन हाइपरपेरिमेट ऑप्टिमाइज़ेशन का उपयोग करते हैं, यह पर्याप्त रूप से उच्च संख्या के प्रयोगों के साथ यादृच्छिक खोज की तुलना में एक तुलनीय परिणाम प्राप्त करने के लिए बस कम प्रशिक्षण कदम उठाता है।

एक वाक्य में संक्षेप:

* जब प्रशिक्षण का समय महत्वपूर्ण हो, तो बायेसियन हाइपरपेरेटरी ऑप्टिमाइज़ेशन का उपयोग करें और यदि समय कोई समस्या नहीं है, तो दोनों में से एक का चयन करें ... *

आमतौर पर मैं गॉसियन प्रक्रियाओं के साथ बायेसियन सामान को लागू करने के लिए बहुत आलसी हूं, अगर मैं यादृच्छिक खोज के साथ एक ही परिणाम प्राप्त कर सकता हूं ... मैं सिर्फ 'कुछ' डेटा पर ग्रेडिएंट बॉस्स्टिंग पहनावा प्रशिक्षित करता हूं, इसलिए मेरे लिए, समय एक मुद्दा नहीं है ...


5

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


1
मैं सिर्फ यह बताना चाहता था कि आपके पहले वाक्य में, बायेसियन ऑप्टिमाइज़ेशन बेहतर होने का वास्तविक कारण यह नहीं है कि जो निर्णय किए जा रहे हैं , वे अधिक स्मार्ट हैं , यह उन सभी फैसलों के बारे में है
अलेक्जेंडर रॉसा

1

ध्यान दें, बायेसियन हाइपरपैरेट ऑप्टिमाइज़ेशन एक अनुक्रमिक प्रक्रिया है, इसलिए इसे समानांतर में खोज करने में सक्षम कुछ अन्य दृष्टिकोणों की तुलना में अधिक समय लग सकता है।

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