व्यवहार में, लोग अनुशंसा मैट्रिक्स से गायब मूल्यों के साथ क्या करते हैं, जो गणना करने का पूरा बिंदु है? साइमन के ब्लॉग पोस्ट को पढ़ने से मेरा अनुमान है कि वह केवल एक मॉडल बनाने के लिए गैर-लापता शब्दों का उपयोग करता है।
यह सही है - यह उसके और आपके मॉडल की बात है, लापता शब्दों की भविष्यवाणी करने के लिए, है ना? यह एक महत्वपूर्ण बिंदु है जिसे कई लोग वास्तव में भूल जाते हैं। उन्हें लगता है कि वे दुनिया में देखभाल के बिना लापता डेटा को पूर्व-असाइन करने के लिए बस "मान सकते हैं", और चीजें जादुई रूप से एक एसवीडी से काफी अच्छी तरह से काम करेंगी। कचरे में, कचरा बाहर: यह वास्तविक है, और आपने इसे बेहतर तरीके से देखा था। यदि आप परिणाम के लिए कुछ उपयोगी चाहते हैं तो आप बेहतर तरीके से रद्दी डेटा को नहीं खिलाएंगे।
यह निश्चित रूप से बहुमत विरल डेटासेट पर "किसी भी लापता मूल्यों का अनुमान लगाने के लिए सबसे अच्छा नहीं है" और फिर उस पर एसवीडी को चलाने के लिए कुछ उम्मीद के साथ आप के लिए मान (जो आप पहले से ही एसवीडी, सही चलाने से पहले आपको लगाया था?)। आपको क्या लगता है, एक मॉडल जादू है? अधिकांश कचरा डेटा को दूर करने के लिए न तो कोई जादू है और न ही प्रौद्योगिकी। आप एक मॉडल से झूठ नहीं बोल सकते हैं कि डेटा वास्तविक डेटा है जब यह बिल्कुल भी वास्तविक नहीं है, लेकिन वास्तव में सिर्फ कुछ जंक है जो आप सिर्फ पतली हवा से बने हैं।
एसवीडी अन्य उपयोगी चीजें करता है इसलिए मैं निश्चित रूप से नहीं कह रहा हूं कि एसवीडी कम से कम बेकार है। आगे बढ़ो और केवल संपूर्ण डेटासेट पर एसवीडी का उपयोग करें, शायद जो आपने पहले से ही एक मशीन लर्निंग मॉडल का उपयोग करते हुए लापता मानों को अपने विकास के दौरान पूर्वाग्रह त्रुटि और विचरण त्रुटि पर ध्यान दिया हो।
मशीन लर्निंग तरीका है। इसलिए यदि आप अभी भी जानना चाहते हैं कि मैट्रिक्स फैक्टराइजेशन डिज़ाइन का उपयोग करके मूल्यों को कैसे लागू किया जाए, तो निश्चित रूप से मशीन लर्निंग का उपयोग करके इसे करने के लिए निश्चित रूप से अच्छे तरीके हैं, और महत्वपूर्ण बात यह है कि वे किसी मॉडल को सीखने के प्रयास के लिए किसी भी जंक डेटा को नहीं खिलाते हैं ।
सटीक रूप से इस तरह के एक मशीन लर्निंग मैट्रिक्स फैक्टराइजेशन मॉडल को स्टैनफोर्ड ऑनलाइन कोर्स माइनिंग मैसिव डेटा सेट्स के प्रशिक्षकों द्वारा मॉड्यूल 5 में काफी अच्छी तरह से प्रस्तुत किया गया है। वे आपको गणित दिखाते हैं और मॉडल की व्याख्या करते हैं। वे इसे आप के लिए हालांकि कोड नहीं है।
यह ठीक है क्योंकि आप इसे स्वयं को कोड कर सकते हैं, यदि आप बुनियादी मशीन सीखने को समझते हैं। क्या आप जानते हैं कि एक हानि फ़ंक्शन और एक लागत फ़ंक्शन क्या हैं? नियमितीकरण? ढतला हुआ वंश? मैट्रिक्स गुणन और जोड़ के साथ आप ठीक हैं? पूर्वाग्रह त्रुटि और विचरण त्रुटि? अगर ऐसा है तो आप अच्छे हैं। यदि नहीं, तो आपको कोर्टेरा में एंड्रयू एनजी के ऑनलाइन कोर्स मशीन लर्निंग पर विचार करना चाहिए , जो कई अच्छे शुरुआती स्थानों में से एक है। फिर ऑनलाइन कोर्स माइनिंग मैसिव डेटा सेट भी लें, जो मैट्रिक्स मॉडल बनाने और सिफारिश करने वाले मॉडल बनाने के लिए मशीन लर्निंग के बारे में बात करता है।
यह कहने के लिए पर्याप्त है, आप पूरी तरह से डिज़ाइन कर सकते हैं और अपने स्वयं के कारक मॉडल को कोड कर सकते हैं जो लापता डेटा को बहुत अच्छी तरह से संभालता है, जैसे कि साइमन फंक ने किया था, और आप इसे खरोंच से कर सकते हैं, लेकिन यह बिल्कुल भी मुश्किल नहीं है जैसे कि यह वापस आ गया था उसके दिन में, क्योंकि अब आप TensorFlow या Microsoft CNTK जैसे टूल का उपयोग कर सकते हैं जो आपके लिए बहुत कुछ करता है। हानि फ़ंक्शन और लागत फ़ंक्शन को परिभाषित करें, एक ऑप्टिमाइज़र चुनें, अपने डेटासेट को प्रशिक्षण, देव में विभाजित करें, उस डेटा से परीक्षण करें जो वास्तव में उपलब्ध है (लेबल डेटा) और इसे चलाने दें। गंभीरता से, यह काम करता है। यह टीएफ और इसके ग्राफ निर्माण त्रुटियों के लिए आसान डीबगिंग नहीं है, लेकिन यह अंत में बहुत अच्छा काम कर सकता है और कोड के एक से कम पृष्ठ लेता है।
विशेष रूप से, मैट्रिक्स फैक्टराइजेशन मशीन लर्निंग मॉडल में नकली डेटा नहीं खिलाने का एक तरीका है, आपके नुकसान और लागत कार्यों में लापता डेटा के मैट्रिक्स तत्वों को छोड़ना ।