जब आप सहयोगी फ़िल्टरिंग समस्या पर SVD लागू करते हैं तो क्या होता है? दोनों के बीच क्या अंतर है?


21

सहयोगात्मक फ़िल्टरिंग में, हमारे पास ऐसे मान हैं जो भरे नहीं हैं। मान लीजिए कि किसी उपयोगकर्ता ने फिल्म नहीं देखी है तो हमें वहां एक 'ना' डालना होगा।

यदि मैं इस मैट्रिक्स का एक SVD लेने जा रहा हूँ, तो मुझे वहाँ कुछ संख्या डालनी होगी - कहिए 0. अब यदि मैं मैट्रिक्स को फैक्टर करता हूँ, तो मेरे पास समान उपयोगकर्ताओं को खोजने की विधि है (यह पता लगाकर कि कौन से उपयोगकर्ता एक साथ करीब हैं? कम आयामी स्थान)। लेकिन खुद की भविष्यवाणी की वरीयता - एक आइटम के लिए एक उपयोगकर्ता के लिए शून्य हो जाएगा। (क्योंकि अज्ञात कॉलम में हमने जो दर्ज किया है)।

इसलिए मैं सहयोगी फ़िल्टरिंग बनाम एसवीडी की समस्या से जूझ रहा हूं। वे लगभग समान हैं, लेकिन काफी नहीं हैं।

उनके बीच क्या अंतर है और क्या होता है जब मैं एक सहयोगी फ़िल्टरिंग समस्या में एक एसवीडी लागू करता हूं? मैंने किया, और परिणाम आस-पास के उपयोगकर्ताओं को खोजने के लिए स्वीकार्य हैं, जो कि महान है, लेकिन कैसे?

जवाबों:


25

ठीक है, जब आप कहते हैं SVD, शायद आप के बारे में बात कर रहे हैं छोटा कर दिया SVD (जहां केवल रखने सबसे बड़ी विलक्षण मान)। मैट्रिक्स के छंटनी वाले SVD को देखने के दो अलग-अलग तरीके हैं। एक मानक परिभाषा है:k

सबसे पहले आप SVD करें: , जहां और रोटेशन मेट्रिसेस हैं, और में विकर्ण के साथ एकवचन मान हैं। तो फिर तुम शीर्ष लेने एक बनाने के लिए बाकी विलक्षण मूल्यों, शून्य अप्रासंगिक पंक्तियों और स्तंभों, और बंद हैक : -rank सन्निकटन मूल करने के लिएXn×m=Un×nΣn×mVTm×mUVΣkkXX~=U~n×kΣ~k×kV~Tk×m

यह सब ठीक है और बांका (और आर या मैटलैब में लागू करना आसान है), लेकिन लापता मूल्यों के साथ मेट्रिक्स के बारे में बात करते समय इसका कोई मतलब नहीं है। हालांकि, वहाँ का एक दिलचस्प संपत्ति है SVD -truncated - यह सबसे अच्छा है -rank सन्निकटन मूल करने के लिए! अर्थात्:kk

एक्स~=आरजीमीटरमैंnबी:आरnकश्मीर(बी)=कश्मीरΣमैं,j(एक्समैंj-बीमैंj)2

यह संपत्ति गुम मूल्य के मामले को सामान्य बनाने में आसान लगती है। मूल रूप से आप एक के लिए देख रहे -rank मैट्रिक्स कि कम करता तत्व के लिहाज से मतलब वर्ग भर में त्रुटि में जाना जाता है मूल मैट्रिक्स की प्रविष्टियों। यही है, जब आप सिस्टम को प्रशिक्षित कर रहे हैं, तो आप सभी लापता मानों की उपेक्षा करते हैं। (कैसे आप वास्तव में खोजने के बारे में जाना हो सकता है की युक्तियों के लिए एक -rank सन्निकटन, यहाँ हैं कुछ स्थानों देखो के लिए)।कश्मीरकश्मीर

फिर, एक उपयुक्त "बंद" के साथ आने के एक बार आपने -rank सन्निकटन मूल करने के लिए, आप इसका इस्तेमाल लापता मूल्यों में भरने के लिए। यही है, यदि गायब था, तो आप भरते हैं । टाडा! अब तुम हो गए।कश्मीरएक्समैंjएक्स~मैंj


3

ऐसा लगता है कि लापता मूल्यों से निपटने के तरीके पर बहुत सारे दृष्टिकोण हैं। धारा 1.3 में समीक्षा के साथ निम्नलिखित पेपर एक अच्छा प्रारंभिक बिंदु हो सकता है।


0

मुझे स्टम्पी जो पीट के जवाब पर टिप्पणी करने के लिए अधिक प्रतिष्ठा की आवश्यकता है इसलिए मैं इसे उत्तर के रूप में पोस्ट करता हूं।

उत्तर के लिए स्टम्पी धन्यवाद, हालांकि मुझे लगता है कि इसे थोड़ा स्पष्टीकरण की आवश्यकता है। विशेष रूप से मेरा मतलब है कि यह वाक्य:

मूल रूप से आप के-रैंक मैट्रिक्स की तलाश कर रहे हैं जो मूल मैट्रिक्स की ज्ञात प्रविष्टियों में तत्व-वार माध्य चुकता त्रुटि को कम करता है।

पहला - उच्चतम रैंक हमेशा इसे न्यूनतम नहीं करेगा, या वास्तव में मूल एक्स मैट्रिक्स का पुनर्निर्माण करेगा? दूसरी बात - आप केवल ज्ञात प्रविष्टियों को ही क्यों लेंगे । सहज रूप से यह समझ में आता है, लेकिन प्रक्रिया वास्तव में खाली जगहों को भी फिट कर रही है जिन्हें कुछ उचित संख्याओं के साथ बदल दिया गया था।

मेरा दृष्टिकोण एक क्रॉस सत्यापन की तरह कुछ करने के लिए होगा:

  1. रिक्त स्थानों को 0 या साधन या किसी अन्य उचित संख्या के साथ भरें।
  2. एन ज्ञात तत्वों में से एक को 0 या एक उचित संख्या से बदलें
  3. एसवीडी पुनर्निर्माण को रैंक के के
  4. ज्ञात पुनर्निर्माण किए गए तत्व के मूल्य की जांच करें ।
  5. सभी संभव ज्ञात तत्वों के लिए दोहराएं और एमएसई की गणना करें
  6. सभी संभव कश्मीर के लिए दोहराएं और सबसे कम एमएसई वाले को चुनें।

1. आप ओवरफिटिंग से बचने के लिए एक कम कश्मीर चुनना चाहते हैं (एक्स के आयाम जो भी हैं उससे बहुत कम)। यह मूल रूप से एक ही कारण के लिए है कि रैखिक प्रतिगमन 6 बिंदुओं के डेटासेट को फिट करने के लिए एक क्विंटिक से बेहतर विकल्प है। 2. आप नहीं जानते कि अज्ञात प्रविष्टियाँ क्या मानी जाती हैं, इसलिए आप उन पर "तत्व-वार MSE" को माप नहीं सकते। मेरी प्रक्रिया लापता मानों को संख्याओं के साथ भरती है जो ज्ञात मानों के खिलाफ त्रुटि को कम करके (और मैट्रिक्स को निम्न-रैंक होना चाहिए) के लिए बाध्य करती है।
स्टम्पी जो पीट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.