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

उद्यमों को डेटा-लाइट मॉडल की परवाह क्यों करनी चाहिए?

और शायद अधिक…
लेकिन चिकित्सकों और शोधकर्ताओं में क्या बाधा है?
डेटा-भूख अनुमान - अधिक डेटा स्वाभाविक रूप से बेहतर है!

यह कहना नहीं है कि शोधकर्ता और चिकित्सक गलत हैं! वास्तव में, अपने प्रसिद्ध कंप्यूटर विज़न टॉक, द अनरेज़नेबल इफेक्टिवनेस ऑफ़ डेटा में, Google के मुख्य वैज्ञानिक पीटर नॉरविग चर्चा करते हैं कि "अरबों तुच्छ डेटा बिंदु समझ में आ सकते हैं।"

लेकिन क्या आपको हरी बिंदीदार रेखा से परे समाधान की गुणवत्ता के बारे में कुछ अजीब लगता है ? हां! एक निश्चित बिंदु के बाद, मशीन लर्निंग मॉडल संतृप्त होते हैं (कोई नई जानकारी नहीं है)। इसलिए, भविष्य कहनेवाला प्रदर्शन (समाधान गुणवत्ता) में कोई महत्वपूर्ण सुधार नहीं हुआ है। साथ ही, अलग- अलग डोमेन के लिए x-अक्ष का पैमाना अलग-अलग होगा । विशेष रूप से, सॉफ्टवेयर इंजीनियरिंग (एसई) और यूसीआई मशीन लर्निंग डेटासेट के साथ एक अनुभवजन्य अध्ययन में, अग्रवाल एट अल। TSE 2021 ने SE डेटा को अन्य डोमेन (जैसे स्वास्थ्य सेवा, खुदरा, आदि) से बहुत अलग दिखाया है।
डेटा-लाइट मशीन लर्निंग मॉडल कैसे बनाएं?
एक सरल तीन-चरणीय प्रक्रिया:
- विज़ुअलाइज़ — डेटा
3. त्यागें - प्रदर्शन खराब होने तक डेटा

1. विज़ुअलाइज़ करें
यह चरण लक्ष्य (वर्गीकरण लक्ष्य) से संबंधित सभी उपलब्ध प्रशिक्षण डेटा की कल्पना करता है।
उदाहरण के लिए, नीचे दिया गया प्लॉट GitHub को उनके प्रोजेक्ट डेवलपमेंट महीनों के दौरान मंथन किए गए 155 सॉफ्टवेयर इंजीनियरिंग प्रोजेक्ट्स में दिखाता है। टेकअवे (प्रवृत्ति) यहाँ बहुत अधिक दोषपूर्ण है (परिवर्तन) परियोजना के जीवन-चक्र में बहुत पहले धकेल दिए गए थे। और यह समझ में आता है कि जैसे-जैसे परियोजनाएं स्थिर होती जाती हैं, समय के साथ कम दोषपूर्ण परिवर्तनों को आगे बढ़ाया जाता है। इसलिए, क्यों न केवल ज्ञान-समृद्ध क्षेत्र से "सॉफ्टवेयर जीवन-चक्र में शुरुआती" मॉडल का निर्माण किया जाए। उस पेपर में काम से पता चलता है कि ग्रीन डॉटेड लाइन (150 गिटहब कमिट्स) से पहले प्रशिक्षित डेटा का उपयोग करने वाले मशीन लर्निंग मॉडल मॉडल की तुलना में पर्याप्त हैं जो 1000 के गिटहब कमिट्स का उपयोग करके मॉडल बनाते हैं।

2. मार्क - प्रशिक्षण डेटा को सिकोड़ें
पंक्तियों का नमूनाकरण (उदाहरण)
ऊपर दिए गए विज़ुअलाइज़ेशन का उपयोग करते हुए, हम प्रशिक्षण डेटा समयरेखा को बाध्य (या हरी बिंदीदार रेखाएँ खींचना) चाहते हैं जहाँ जानकारी समृद्ध है। फिर, निरर्थक जानकारी सीखने से बचने के लिए उस क्षेत्र से ' केवल' मॉडल बनाए जा सकते हैं । दूसरे शब्दों में, पिछले चरण के केंद्रीय विचार का उपयोग नमूना सीमा को खींचने के लिए एक अनुमानी के रूप में किया जाता है जो प्रशिक्षण डेटा स्थान को कम कर सकता है (जैसे कि 10,000 से 1000 डेटा बिंदु)।

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

3. त्यागें — डेटा-लाइट मॉडल बनाने के लिए
पिछले चरण में नमूना क्षेत्र केवल एक बॉलपार्क राशि है जो अभी भी डेटा-भूखा हो सकता है। चरण 1 और 2 के बाद, आप अपने मौजूदा डेटा-भूखे बेसलाइन_मॉडल को डेटा-लाइट मशीन लर्निंग मॉडल में परिवर्तित कर सकते हैं, यह जांच कर कि आपके मॉडल को वास्तव में कितने डेटा (पंक्तियों x कॉलम) की आवश्यकता है। एक नमूना छद्म कोड नीचे दिखाया गया है:
max_training_data = 5000 rows (instances) x 100 columns (features)
sampled_training_data = 2500 rows (instances) x 10 columns (features)
baseline_model = Your company's or the research article's model
auc_baseline = 0.8 (max performance)
training_data_limit = sampled_training_data
auc_current = build_model(training_data_limit)
while ( auc_current < auc_baseline )
training_data_limit = training_data_limit/2
datalite_model = build_model(training_data_limit)
auc_current = measure_auc(datalite_model)
print("It seems that you model can perform with just : ", training_data_limit * 2, " rows)
इस लेख में उपयोग किए गए सभी जादुई नंबर, मेट्रिक्स और कोड हमारे शोध के केंद्रीय संदेश को व्यक्त करने के लिए हैं। सॉफ़्टवेयर इंजीनियरिंग वर्गीकरण समस्या के साथ एक ठोस उदाहरण (उपयोग-मामला) के लिए नीचे आलेख संदर्भ देखें।
निष्कर्ष
सफलतापूर्वक, मान लीजिए कि आप पाते हैं कि आपका बेसलाइन मॉडल परिमाण के कम डेटा के साथ काम कर सकता है और डेटा-लाइट बन गया है। उस स्थिति में, आपके पास अपनी टीम या शोध समुदाय से संवाद करने के लिए कुछ अच्छी खबरें हैं!

डेटा-लाइट मशीन लर्निंग मॉडल के गुण:
- प्रारंभिक विश्लेषण - मान लें कि यदि अधिकांश महत्वपूर्ण डेटा जल्दी (या पहले से उपलब्ध) दर्ज किया गया है, तो व्यवसायी को एनालिटिक्स को किक-स्टार्ट करने की प्रतीक्षा नहीं करनी चाहिए।
- स्थिर निष्कर्ष - उतार-चढ़ाव वाले निर्णयों का मतलब है कि चिकित्सक आपके मॉडल में विश्वास खो देते हैं और अपने स्वयं के अंतर्ज्ञान का सहारा लेते हैं, जो बहुत गलत हो सकता है।
- एक बार ट्रेन करें, हर जगह दौड़ें - यदि कोई मॉडल डेटा-समृद्ध क्षेत्र से बनाया गया है, तो मॉडल को बार-बार अपडेट करने की कोई आवश्यकता नहीं है। इसलिए कंपनी CPU और क्लाउड संसाधनों की ($) महीनों की बचत कर सकती है।
- सरल - कई की तुलना में कम सुविधाओं वाले हितधारकों को निर्णयों की व्याख्या करने के लिए।
- व्याख्या
- समझाने के योग्य
- स्थिर
- सस्ता

भविष्य का कार्य
इस लेख ने बिना पर्यवेक्षित संदर्भ में डेटा-लाइट मॉडल बनाने या अस्थायी विशेषता के बिना मॉडल बनाने के तरीकों की खोज नहीं की है, और यह एक योग्य अन्वेषण होगा।
कोड
बातचीत
आपको यह भी पसंद आ सकता हैं:
मॉडल व्याख्यात्मकता में हेरफेर और मापनाhttps://arxiv.org/pdf/1802.07810.pdf
सॉफ्टवेयर दोष भविष्यवाणी को सरल बनाना ("प्रारंभिक पक्षी" अनुमानी के माध्यम से)https://arxiv.org/pdf/2105.11082.pdf