अनुकूलन और मशीन लर्निंग


13

मैं यह जानना चाहता था कि मशीन सीखने के लिए अनुकूलन की कितनी आवश्यकता होती है। मैंने जो सुना है उससे मशीन सीखने वाले लोगों के लिए एक महत्वपूर्ण गणितीय विषय है। इसी तरह मशीन सीखने वाले किसी भी व्यक्ति के लिए उत्तल या गैर-उत्तल अनुकूलन के बारे में सीखना कितना महत्वपूर्ण है?


2
"मशीन लर्निंग के साथ काम करना" एक अस्पष्ट अवधारणा है - बेहतर एमएल विधियों को विकसित करने के लिए काम करने का मतलब एक उत्तर होगा, विकासशील एमएल सिस्टम जो ज्ञात विधियों का उपयोग करते हैं, एक पूरी तरह से अलग बात है।
पीटरिस

जवाबों:


28

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

उदाहरण के लिए, साथ रैखिक प्रतिगमन पर विचार करें जहां और । आंकड़े हमें बताते हैं कि यह (अक्सर) एक अच्छा मॉडल है, लेकिन हम एक अनुकूलन समस्या को हल करके अपना वास्तविक अनुमान पाते हैंY=Xβ+εE(ε)=0Var(ε)=σ2Iβ^

β^=argminbRp||YXb||2.

गुणों को हमें आँकड़ों के माध्यम से जाना जाता है इसलिए हम जानते हैं कि यह हल करने के लिए एक अच्छा अनुकूलन समस्या है। इस मामले में यह एक आसान अनुकूलन है लेकिन यह अभी भी सामान्य सिद्धांत को दर्शाता है।β^

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

f^=argminfF1ni=1nL(yi,f(xi))

सांख्यिकीय सीखने के सिद्धांत (SLT) में भारी मात्रा में अनुसंधान ने इन अर्गमिनिमा के गुणों का अध्ययन किया है, चाहे वे asymptotically इष्टतम हों या नहीं, वे कैसे की जटिलता से संबंधित हैं , और ऐसी कई अन्य चीजें। लेकिन जब आप वास्तव में प्राप्त करना चाहते हैं , तो अक्सर आप एक कठिन अनुकूलन के साथ समाप्त हो जाते हैं और यह उन लोगों का एक अलग समूह होता है जो उस समस्या का अध्ययन करते हैं। मुझे लगता है कि एसवीएम का इतिहास यहां एक अच्छा उदाहरण है। हमारे पास Vapnik और Cortes (और कई अन्य) जैसे SLT लोग हैं जिन्होंने दिखाया कि SVM कैसे हल करने के लिए एक अच्छा अनुकूलन समस्या है। लेकिन तब यह जॉन प्लैट और LIBSVM लेखकों की तरह अन्य थे जिन्होंने इस व्यवहार को संभव बनाया।Ff^

आपके सटीक प्रश्न का उत्तर देने के लिए, कुछ अनुकूलन जानना निश्चित रूप से सहायक है, लेकिन आम तौर पर कोई भी इन सभी क्षेत्रों में विशेषज्ञ नहीं है, इसलिए आप जितना सीख सकते हैं, लेकिन कुछ पहलू हमेशा आपके लिए एक ब्लैक बॉक्स के कुछ होंगे। हो सकता है कि आपने अपने पसंदीदा ML एल्गोरिदम के पीछे SLT परिणामों का ठीक से अध्ययन नहीं किया हो, या हो सकता है कि आप अपने द्वारा उपयोग किए जा रहे ऑप्टिमाइज़र के आंतरिक कामकाज को नहीं जानते हों। यह आजीवन यात्रा है।


3
यह स्पष्ट रूप से उल्लेख करने योग्य है। en.wikipedia.org/wiki/Empirical_risk_minimization
Emre

13

व्यवहार में, बहुत सारे पैकेज अनुकूलन का ख्याल रखते हैं और अधिकांश गणित विवरण आपके लिए हैं। उदाहरण के लिए, TensorFlow आपके लिए स्वचालित रूप से तंत्रिका जाल के प्रशिक्षण के लिए बैकप्रॉप + स्टोचैस्टिक ग्रेडिएंट वंश कर सकता है (आपको बस सीखने की दर निर्दिष्ट करनी होगी)। स्किकिट-लर्न के एमएल टूल्स को आमतौर पर आपको वास्तव में सामान के बारे में जानने की आवश्यकता नहीं होती है कि वास्तव में अनुकूलन कैसे होता है, लेकिन शायद बस कुछ ट्यूनिंग पैरामीटर सेट करें और यह बाकी का ख्याल रखता है (उदाहरण के लिए अनुकूलन के लिए चलने वाले पुनरावृत्तियों की संख्या)। उदाहरण के लिए, आप scitit-learn-- में कोई भी गणित जाने बिना SVM को प्रशिक्षित कर सकते हैं - बस डेटा, कर्नेल प्रकार में फ़ीड करें और आगे बढ़ें।

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

ध्यान दें कि पाठ्यपुस्तक अनुकूलन विधियों को अक्सर आधुनिक सेटिंग्स में अभ्यास में काम करने के लिए अक्सर जुड़वा की आवश्यकता होती है; उदाहरण के लिए, आप क्लासिक रॉबिंस-मुनरो स्टोचस्टिक ढाल वंश का उपयोग नहीं कर सकते हैं, लेकिन एक तेज त्वरित संस्करण। फिर भी, आप अनुकूलन समस्याओं के साथ काम करने से कुछ अंतर्दृष्टि प्राप्त कर सकते हैं।

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