यह वास्तविक अभ्यास में मशीन लर्निंग के बारे में क्या है?


11

मैं मशीन लर्निंग (कुछ आँकड़े भी) में एक नवागंतुक हूँ, कुछ समय के लिए ज्ञान (पर्यवेक्षित / अनपर्वलाइज्ड लर्निंग एल्गोरिदम, प्रासंगिक अनुकूलन पद्धतियाँ, नियमितीकरण, कुछ दर्शन (जैसे पूर्वाग्रह-विचरण व्यापार-बंद?)) सीख रहा हूँ। मुझे पता है कि किसी भी वास्तविक अभ्यास के बिना, मैं उन मशीन लर्निंग सामान की गहरी समझ हासिल नहीं कर सकता।

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

फिर मैं हार गया, क्या यह बहुत आसान होगा या मैं यहां कुछ भी याद कर रहा हूं? बस टूलकिट से एक सीखने के एल्गोरिथ्म को उठाएं और कुछ मापदंडों को ट्यून करें?

अगर यह सब अभ्यास में मशीन सीखने के बारे में होगा, तो मैं इस क्षेत्र में अपनी रुचि खो दूंगा। मैंने कुछ दिनों के लिए कुछ ब्लॉग सोचा और पढ़ा, और मैं कुछ निष्कर्षों पर आया:

  1. व्यवहार में मशीन सीखने का सबसे महत्वपूर्ण हिस्सा फीचर इंजीनियरिंग है , जो डेटा को देखते हुए, सुविधाओं के बेहतर प्रतिनिधित्व का पता लगाता है।

  2. कौन सा लर्निंग एल्गोरिदम का उपयोग करना भी महत्वपूर्ण है, पैरामीटर ट्यूनिंग भी, लेकिन अंतिम विकल्प प्रयोग के बारे में अधिक है।

मुझे यकीन नहीं है कि मैं इसे सही ढंग से समझता हूं, उम्मीद है कि कोई भी मुझे सही कर सकता है और मुझे अभ्यास में मशीन सीखने के बारे में कुछ सुझाव दे सकता है।


1
मुझे नहीं लगता कि मैं आपके सवाल का जवाब पूरी तरह से दे सकता हूं, लेकिन मैं आपको आश्वस्त करना चाहता हूं कि बहुत सारी समस्याएं हैं जहां एल्गोरिदम / उपकरण खराब सुविधा गुणवत्ता के अलावा असंतोषजनक हैं (मेरे अनुभव में सामाजिक विज्ञान व्याप्त हैं दोनों स्थितियों के साथ)। मुझे नहीं लगता कि यह आपकी एकमात्र चिंता है, लेकिन आप अपनी परियोजनाओं में अब तक आसानी से असहज महसूस कर रहे हैं।

1
@ मैथ्यू, हां, मैं यह जाने बिना कि मैं एक वास्तविक समस्या का सामना कर रहा हूं, जहां शुरू करने के लिए खो गया हूं, क्या मुझे प्रकृति का पता लगाने के लिए डेटा का विश्लेषण करना चाहिए ताकि मैं उपयोगी विशेषताओं को निकाल सकूं या सिर्फ एक सीखने के एल्गोरिथ्म को चुन सकूं और चला सकूं?
एवोकैडो

मैं 100 में से 97 बार सही ढंग से उड़ान भरने वाले विमान में नहीं
चढ़ता।

जवाबों:


12

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

भ्रामक रूप से MNIST डेटासेट पर 'अच्छा' प्रदर्शन प्राप्त करना आसान है। उदाहरण के लिए, MNIST के प्रदर्शन पर यान ले कन की वेबसाइट के अनुसार, यूक्लिडियन दूरी मीट्रिक (L2) के साथ K के निकटतम पड़ोसी (K-NN) की भी त्रुटि दर 3% है, जो आपके आउट-ऑफ-द-बॉक्स यादृच्छिक के समान है जंगल। एल 2 के-एनएन एक एमएल एल्गोरिथ्म के रूप में सरल है। दूसरी ओर, यैन, योशुआ, लियोन और पैट्रिक का सबसे अच्छा, इस डाटासेट में पहला शॉट, लेनेट -4, में 0.7% की त्रुटि दर है, 0.7% 3% के एक चौथाई से कम है, इसलिए यदि आप इस प्रणाली में डालते हैं हस्तलिखित अंकों को पढ़ने का अभ्यास, भोले एल्गोरिथ्म को अपनी त्रुटियों को ठीक करने के लिए चार गुना अधिक मानवीय प्रयास की आवश्यकता होती है।

यन और सहकर्मियों द्वारा उपयोग किए जाने वाले दृढ़ तंत्रिका नेटवर्क का मिलान कार्य से किया जाता है, लेकिन मैं इस 'फीचर इंजीनियरिंग' को नहीं कहूंगा, ताकि डेटा को समझने और सीखने की एल्गोरिथ्म में समझ को एन्कोड करने का प्रयास किया जा सके।

तो, क्या सबक हैं:

  1. आउट-ऑफ-द-बॉक्स विधि और अच्छे प्रीप्रोसेसिंग का उपयोग करके भोले प्रदर्शन बेसलाइन तक पहुंचना आसान है। आपको हमेशा ऐसा करना चाहिए, ताकि आपको पता चले कि आधार रेखा कहां है और यह प्रदर्शन स्तर आपकी आवश्यकताओं के लिए पर्याप्त है या नहीं। हालांकि, अक्सर आउट-ऑफ-द-बॉक्स एमएल विधियां 'भंगुर' होती हैं, अर्थात पूर्व-प्रसंस्करण के लिए आश्चर्यजनक रूप से संवेदनशील। एक बार जब आप सभी आउट-ऑफ-द-बॉक्स तरीकों को प्रशिक्षित कर लेते हैं, तो उन्हें बैग करने की कोशिश करना लगभग हमेशा एक अच्छा विचार है।
  2. कठिन समस्याओं के लिए या तो डोमेन-विशिष्ट ज्ञान या बहुत अधिक डेटा या दोनों को हल करने की आवश्यकता होती है। फीचर इंजीनियरिंग का मतलब है कि एमएल-एल्गोरिदम की सहायता के लिए डोमेन-विशिष्ट ज्ञान का उपयोग करना। हालांकि, यदि आपके पास पर्याप्त डेटा है, तो एक एल्गोरिथ्म (या दृष्टिकोण) जो जटिल विशेषताओं को सीखने के लिए उस डेटा का लाभ उठा सकता है, और इस एल्गोरिथ्म को लागू करने वाला एक विशेषज्ञ तो आप कभी-कभी इस ज्ञान (उदाहरण केगल मर्क चुनौती ) को भी भुना सकते हैं । इसके अलावा, कभी-कभी डोमेन विशेषज्ञ गलत विशेषताओं के बारे में गलत होते हैं; इतना अधिक डेटा और एमएल विशेषज्ञता हमेशा मददगार होती है।
  3. त्रुटि दर पर विचार करें सटीकता नहीं। 99% सटीकता के साथ एक एमएल विधियां आधी त्रुटियां बनाती हैं जो 98% सटीकता के साथ होती है; कभी-कभी यह महत्वपूर्ण है।

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

@loganecolss या आप यह भी पढ़ सकते हैं कि अन्य लोगों ने समान डेटा पर क्या किया है या किसी डोमेन-विशेषज्ञ से बात कर सकते हैं।
qdjm

7

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

मेरी विशेषज्ञता सुविधाओं इंजीनियरिंग में है और मैं आपको बता सकता हूं कि अक्सर मानक एल्गोरिदम बिल्कुल भी अच्छी तरह से काम नहीं करते हैं। (मुझे क्षेत्र का कोई ज्ञान नहीं है, लेकिन अक्सर मैं उन लोगों के साथ काम करता हूं जिनके पास है।)

यहां एक वास्तविक समस्या है जहां मैंने 6 महीने तक काम किया: रोगियों के आनुवंशिक मूल्य और हड्डियों के घनत्व का प्रतिनिधित्व करने वाले आकार 100 x 1 के आउटपुट y का प्रतिनिधित्व करने वाले 100 नमूनों और 10000 चर वाले मैट्रिक्स एक्स को देखते हुए।

क्या आप मुझे बता सकते हैं कि कौन से जीन हड्डियों के घनत्व को प्रभावित करते हैं?

अब मैं एक और समस्या पर काम कर रहा हूं। मेरे पास 2000 नमूने और 12000 चर के साथ एक निर्माण उत्पादन डेटासेट है। मेरा बॉस इस डेटासेट से 30 से अधिक वैरिएबल को अनचाहे तरीके से निकालना चाहता है।
मैंने कुछ एल्गोरिदम की कोशिश की है, लेकिन मैं तब 600 चर कम नहीं चुन सकता क्योंकि ये उनके बीच बहुत सहसंबद्ध हैं। (मैं अभी भी इस पर काम कर रहा हूं ...)

एक और महत्वपूर्ण विचार करने के लिए विभिन्न एल्गोरिदम की गति प्रदर्शन है। बहुत सारी स्थितियों में आप परिणाम के लिए 20 मिनट इंतजार नहीं कर सकते। उदाहरण के लिए आपको पता होना चाहिए कि NIPALS का उपयोग कब करना है और PCA की गणना करने के लिए SVD का उपयोग कब करना है।

आशा है कि यह आपको उन समस्याओं का अंदाजा दे सकता है जो कि आम हैं।


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