डेटा वैज्ञानिकइंटरव्यू के उत्तर
सामान्य साक्षात्कार प्रश्न
मैं समस्या की रूपरेखा बनाकर शुरू करता/करती हूँ — मॉडल किस निर्णय में मदद करेगा, और क्या मशीन लर्निंग वास्तव में सही उपकरण है? फिर मैं डेटा का अन्वेषण करता/करती हूँ, वितरण समझता/समझती हूँ, मिसिंग डेटा संभालता/संभालती हूँ, और डोमेन नॉलेज से सूचित फीचर इंजीनियरिंग करता/करती हूँ। सबसे पहले मैं एक बेसलाइन मॉडल चुनता/चुनती हूँ (हमेशा सरल से शुरू करें), फिर अधिक जटिल विधियों के साथ प्रयोग करता/करती हूँ। मैं कड़ा वैलिडेशन करता/करती हूँ — क्रॉस-वैलिडेशन का उपयोग करके, एक टेस्ट सेट अलग रखकर, और समस्या के लिए उपयुक्त मेट्रिक्स से मूल्यांकन करके (सिर्फ़ एक्यूरेसी नहीं)। अंत में, मैं डिप्लॉयमेंट पर विचार करता/करती हूँ: प्रिडिक्शन्स कैसे उपभोग किए जाएंगे, और समय के साथ मॉडल प्रदर्शन की निगरानी कैसे की जाएगी?
सबसे पहले, मैं उपयुक्त मूल्यांकन मेट्रिक्स चुनता/चुनती हूँ — असंतुलित क्लासेस में accuracy बेकार है। मैं precision, recall, F1, AUC-ROC, या Precision-Recall AUC का उपयोग करता/करती हूँ, यह निर्भर करता है कि false positives बनाम false negatives की लागत क्या है। डेटा पक्ष पर, मैं oversampling के लिए SMOTE, मेजरिटी क्लास का undersampling, या मॉडल में class weighting उपयोग करता/करती हूँ। मैं थ्रेशोल्ड एडजस्टमेंट के साथ भी प्रयोग करता/करती हूँ — डिफ़ॉल्ट 0.5 प्रॉबेबिलिटी थ्रेशोल्ड हमेशा बेहतर नहीं होता। मैं क्रॉस-वैलिडेटेड एक्सपेरिमेंट्स के माध्यम से यह देखता/देखती हूँ कि कौन-सा अप्रोच सबसे अच्छा काम करता है।
बायस वह त्रुटि है जो अत्यधिक सरल अनुमानों से आती है — यह underfitting है। एक हाई-बायस मॉडल प्रशिक्षण डेटा के बावजूद एक ही गलत उत्तर देता रहता है। वैरिएंस वह त्रुटि है जो प्रशिक्षण डेटा के शोर पर ओवरफिटिंग से आती है — यह प्रशिक्षण पर अच्छा परिस्तथन देता है पर नए डेटा पर खराब प्रदर्शन करता है। ट्रेडऑफ यह है कि बायस कम करने (अधिक जटिल मॉडल) से वैरिएंस बढ़ती है और इसके विपरीत। रेगुलराइज़ेशन (L1/L2), क्रॉस-वैलिडेशन, और एन्सेम्बल मेथड्स इस ट्रेडऑफ को मैनेज करने के टूल हैं। व्यवहार में, मैं सरल से शुरू करता/करती हूँ, ट्रेनिंग बनाम वैलिडेशन त्रुटि मापता/मापती हूँ, और केवल तभी जटिलता बढ़ाता/बढ़ाती हूँ जब underfitting का स्पष्ट सबूत हो।
फीचर इंजीनियरिंग अक्सर मॉडल चयन से अधिक प्रभावी होती है। मैं डोमेन नॉलेज से शुरू करता/करती हूँ — विषय विशेषज्ञ कौन से वेरिएबल्स को प्रेडिक्टिव मानेंगे? फिर मैं डेटा का अन्वेषण करता/करती हूँ: वितरण, सहसंबंध (correlations), और संभावित interaction प्रभाव। मैं टाइम सीरीज़ के लिए lagged वेरिएबल्स, interaction terms, नॉन-लीनियर रिश्तों के लिए polynomial फीचर्स, और कैटेगोरिकल वेरिएबल्स के लिए एन्कोडेड प्रतिनिधित्व बनाता/बनाती हूँ। मैं हर फीचर के योगदान को feature importance प्लॉट्स और ablation studies से वैध करता/करती हूँ — जो फीचर सिग्नल नहीं जोड़ते उन्हें ओवरफिटिंग कम करने के लिए हटाना चाहिए।
मैं मॉडल आउटपुट को बिजनेस इम्पैक्ट में अनुवाद करता/करती हूँ। "मॉडल का AUC 0.82 है" कहने के बजाय मैं कहता/कहती हूँ, "अगर हम इस मॉडल का उपयोग अपनी आउटरीच प्राथमिकता देने के लिए करें, तो हम 80% churn करने वाले ग्राहकों की पहचान कर पाएंगे जबकि केवल अपने बेस के 30% को ही संपर्क करना पड़ेगा — टीम X घंटे बचाएगी और अनुमानित Y राजस्व रिकवर होगा।" मैं विज़ुअलाइज़ेशन का प्रयोग करता/करती हूँ — सादे अंग्रेज़ी में confusion matrices, lift charts, explainability के लिए SHAP प्लॉट्स। मैं हमेशा विश्वास और सीमाएँ भी शामिल करता/करती हूँ। निर्णय-निर्माता मॉडल पर भरोसा करना चाहेंगे, सिर्फ़ उपयोग नहीं।
मैंने NLP के लिए डीप लर्निंग लागू किया है (BERT, टेक्स्ट क्लासिफिकेशन के लिए ट्रांसफॉर्मर्स का फाइन-ट्यूनिंग), कंप्यूटर विज़न में (CNNs से इमेज क्लासिफिकेशन), और टाइम सीरीज़ फोरकास्टिंग में (LSTMs, temporal convolutional networks)। मैं PyTorch और TensorFlow/Keras का उपयोग करता/करती हूँ। मैं transfer learning से परिचित हूँ और जानता/जानती हूँ कब डीप लर्निंग का उपयोग नहीं करना चाहिए — जब डेटा सीमित हो, साधारण मॉडल अक्सर नर्वल नेटवर्क्स से बेहतर प्रदर्शन करते हैं। मैं फील्ड के साथ अपडेट रहता/रहती हूँ through papers (ArXiv), fast.ai, और व्यक्तिगत प्रोजेक्ट्स पर नए आर्किटेक्चर इम्प्लीमेंट करके।
मैं पहले संदर्भ में प्रोटेक्टेड एट्रिब्यूट्स को समझता/समझती हूँ और प्रशिक्षण डेटा में बायस की जांच करता/करती हूँ — ऐतिहासिक डेटा अक्सर ऐतिहासिक भेदभाव encode करता है। मैं उपयुक्त उपयोग केस के अनुसार fairness metrics (equalized odds, demographic parity, individual fairness) का उपयोग करता/करती हूँ और स्वीकार करता/करती हूँ कि विभिन्न फ़ेयरनेस मापदंड गणितीय रूप से टकरा सकते हैं। मैं डेमोग्राफिक समूहों के खिलाफ disparate impact analysis करता/करती हूँ और निष्कर्षों को दस्तावेज़ित करता/करती हूँ। उच्च-स्टेक्स एप्लिकेशन्स में मैं ethicists और डोमेन एक्सपर्ट्स को भी शामिल करता/करती हूँ। मॉडलों में बायस सिर्फ़ तकनीकी समस्या नहीं है — यह एक बिजनेस और नैतिक जोखिम है।
मैंने मॉडल्स को REST APIs के रूप में डिप्लॉय किया है (FastAPI, Flask), Docker से containerise करके और Kubernetes के साथ orchestrate किया है। मैं experiment tracking और model registry के लिए MLflow का उपयोग करता/करती हूँ। मैंने data drift (Evidently, Great Expectations) और समय के साथ मॉडल प्रदर्शन में गिरावट का पता लगाने के लिए मॉनिटरिंग पाइपलाइन्स बनाए हैं। मैं डेटा पाइपलाइन्स और मॉडल इन्फरेंस फ़ंक्शंस के लिए यूनिट टेस्ट लिखता/लिखती हूँ, और मॉडल कोड को एप्लिकेशन कोड के समान इंजीनियरिंग मानकों के साथ बर तता/बरतती हूँ। डिप्लॉयमेंट वह जगह है जहाँ ज़्यादातर ML प्रोजेक्ट सफल या असफल होते हैं।