एल्गोरिथ्म के विकास को कैसे बढ़ाया जाए?


18

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

एल्गोरिथ्म के विकास को स्वयं कैसे विकसित किया जा सकता है और अधिक स्केलेबल बनाया जा सकता है?

कुछ विशिष्ट चुनौतियां:

पुनरावृत्तियों की संख्या को कैसे कम किया जा सकता है? (Esp। जब किस प्रकार का एल्गोरिथ्म है, तो इसकी बारीकियों को अकेले जाने दें, विभिन्न संस्करणों की कोशिश किए बिना और उनके व्यवहार की जांच किए बिना आसानी से समझ में नहीं आता है)

विकास के दौरान बड़े डेटासेट पर कैसे चला जाए? (अक्सर छोटे से बड़े डेटासेट में जाने पर नए व्यवहार और नए मुद्दों का एक गुच्छा दिखाई देता है)

एल्गोरिथ्म मापदंडों को तेजी से कैसे ट्यून किया जा सकता है?

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

जवाबों:


7

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

इसलिए, प्रत्येक प्रश्न का उत्तर देना:

  1. लक्षण वर्णन निश्चित रूप से पुनरावृत्तियों की संख्या को कम करने का एक साधन है, जबकि विशिष्ट डेटा के लिए उचित एल्गोरिदम का चयन करने की कोशिश करना;
  2. यदि आपके पास मानदंड का एक असतत सेट है जिस पर आपका डेटा भिन्न होता है, तो समाधानों को स्केल करना बहुत आसान हो जाता है , क्योंकि आपको पता चल जाएगा कि क्या जानकारी आपको प्राप्त होगी / खो जाएगी यदि सरल / विशिष्ट समाधान लागू किए गए थे;
  3. एक लक्षण वर्णन के बाद, आपको मापदंडों का चयन करना भी आसान होना चाहिए, क्योंकि आपको पता होगा कि आप किस विशिष्ट डेटा के साथ काम कर रहे हैं;
  4. अंत में, आप इस लक्षण वर्णन का समर्थन करने के लिए डेटा माइनिंग / मशीन लर्निंग एल्गोरिदम का उपयोग कर सकते हैं। इसमें शामिल हैं:
    • क्लस्टरिंग एल्गोरिदम, डेटा की गतिशीलता को कम करने के लिए;
    • वर्गीकरण एल्गोरिदम, विशिष्ट गुणों पर निर्णय लेने में मदद करने के लिए समय / संदर्भ / ... के कार्य में डेटा प्रस्तुत कर सकता है;
    • एसोसिएशन के नियम, डेटासेट से विशेष ज्ञान का अनुमान लगाने के लिए, जबकि बाद के विश्लेषण के लिए उपयोग किए गए डेटा को सुधारना / ठीक करना;
    • और अन्य संभावित रणनीतियों और विश्लेषण।

और यहां कुछ मानदंडों की एक सूची है, जिस पर डेटा का विश्लेषण करना है, जो आपको मददगार मिल सकता है।


5

उपयोगी दो चीजें आपको मिल सकती हैं:

  1. मेटा-लर्निंग सही मॉडल और इष्टतम मापदंडों की खोज को गति देने के लिए। हाथ में समस्या के लिए सही मशीन लर्निंग टूल / पैरामीटर खोजने की समस्या के लिए मशीन लर्निंग टूल्स लगाने में मेटा लर्निंग शामिल हैं। उदाहरण के लिए यह कागज एक व्यावहारिक उदाहरण के लिए;

  2. बड़े डेटासेट पर एल्गोरिथ्म को गति देने के लिए gpucomputing । उदाहरण के लिए, OpenCV GPU का उपयोग कर सकता है , जो छवियों / वीडियो को संसाधित करने में बहुत प्रभावी हैं और CPU के संबंध में 10 से 100 स्पीडअप ला सकते हैं। जैसा कि आपके कंप्यूटर में संभवतः एक gpucomputing-सक्षम GPU है, आप इसका उपयोग करके बहुत समय प्राप्त कर सकते हैं।


4

यह संभावना है कि आपने यह YouTube डेमो और संबंधित Google टेक टॉक देखा है, जो इन पेपरों से संबंधित है:

और OpenTLD के लिए GitHub पर कोड का यह सेट । यदि आप यहां GitHub पर "मुझे पढ़ा" की जांच करते हैं, तो आप देखेंगे कि लेखक का ईमेल (Zdenek Kalal) सूचीबद्ध है, इसलिए हो सकता है कि वह उसे आपके प्रश्नों के बारे में एक ईमेल भेजने या यहां तक ​​कि उसे इस प्रश्न का उत्तर देने के लिए आमंत्रित करने के लायक भी हो।

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