गैर-नकारात्मक मैट्रिक्स कारक में अव्यक्त कारकों की एक इष्टतम संख्या चुनने के लिए, क्रॉस-सत्यापन का उपयोग करें।
आप ने लिखा है, NMF का उद्देश्य कम आयामी मिल रहा है W और H सभी गैर नकारात्मक तत्वों पुनर्निर्माण त्रुटि को कम करने के साथ ∥V−WH∥2 । कल्पना करें कि हम V एक तत्व , जैसे Vab छोड़ते हैं , और एक लापता सेल के साथ परिणामी मैट्रिक्स का NMF करते हैं। खोजने यह साधन W और H सभी गैर लापता कोशिकाओं से अधिक पुनर्निर्माण त्रुटि को न्यूनतम: ∑ij≠ab(Vij−[WH]ij)2.
एक बार ऐसा हो जाता है, हम बाहर छोड़ दिया तत्व भविष्यवाणी कर सकते हैं Vab कंप्यूटिंग द्वारा [WH]ab और गणना भविष्यवाणी त्रुटि eab=(Vab−[WH]ab)2.
एक इस प्रक्रिया के बाहर छोड़ने के सभी तत्वों को दोहरा सकते हैं Vab एक समय में एक, और सब कुछ खत्म हो भविष्यवाणी त्रुटियों योग a और b । यह एक समग्र प्रेस मूल्य (वर्गों के अवशिष्ट अवशिष्ट राशि) ई में परिणाम होगाE(k)=∑abeab है कि इस पर निर्भर करेगाk । उम्मीद है कि फंक्शनE(k) में एक न्यूनतम होगा जिसे 'इष्टतम'k रूप में उपयोग किया जा सकता है।
ध्यान दें कि यह कम्प्यूटेशनल रूप से महंगा हो सकता है, क्योंकि NMF को प्रत्येक लेफ्ट आउट वैल्यू के लिए दोहराया जाना है, और प्रोग्राम के लिए ट्रिकी भी हो सकता है (यह निर्भर करता है कि गुम वैल्यू के साथ NMF को करना कितना आसान है)। पीसीए में V की पूरी पंक्तियों को छोड़ कर इसे प्राप्त किया जा सकता है (जो गणनाओं को बहुत तेज करता है), पीसीए के लिए मुख्य घटकों की संख्या निर्धारित करने के लिए क्रॉस-सत्यापन कैसे करें? , लेकिन यह यहां संभव नहीं है।
बेशक, क्रॉस-वैलिडेशन के सभी सामान्य सिद्धांत यहां लागू होते हैं, इसलिए एक समय में (केवल एक एकल के बजाय) कई कोशिकाओं को छोड़ सकते हैं, और / या सभी कोशिकाओं पर लूपिंग के बजाय केवल कुछ यादृच्छिक कोशिकाओं के लिए प्रक्रिया को दोहरा सकते हैं। दोनों दृष्टिकोण प्रक्रिया को तेज करने में मदद कर सकते हैं।
संपादित करें (मार्च 2019): @AlexWilliams : http://alexhwilliams.info/itsneuronalblog/2018/02/26/crossval द्वारा यह बहुत अच्छा सचित्र लेखन देखें । एलेक्स लापता मूल्यों के साथ NMF के लिए https://github.com/kimjingu/nonnegfac-python का उपयोग करता है ।