लॉजिस्टिक लॉस फ़ंक्शन के साथ मैट्रिक्स फैक्टराइज़ेशन के माध्यम से सहयोगात्मक फ़िल्टरिंग


9

सहयोगी फ़िल्टरिंग समस्या पर विचार करें। हमारे पास मैट्रिक्स हैM आकार के #users * #items। Mi,j=1 अगर उपयोगकर्ता मुझे आइटम जे पसंद करता है, Mi,j=0 अगर उपयोगकर्ता को आइटम j पसंद है और Mi,j=?अगर (i, j) जोड़ी के बारे में कोई डेटा नहीं है। हम भविष्यवाणी करना चाहते हैंMi,j भविष्य के उपयोगकर्ता के लिए, आइटम जोड़े।

मानक सहयोगी फ़िल्टरिंग दृष्टिकोण 2 मैट्रिक्स के उत्पाद के रूप में एम का प्रतिनिधित्व करना है U×V ऐसा है कि ||MU×V||2 न्यूनतम है (जैसे ज्ञात तत्वों के लिए माध्य वर्ग त्रुटि को कम करना M)।

मेरे लिए लॉजिस्टिक लॉस फंक्शन अधिक उपयुक्त लगता है, सभी एल्गोरिदम एमएसई का उपयोग क्यों कर रहे हैं?


1
इस मामले में यह समझ में आता है लेकिन ज्यादातर समय M_i, j एक रेटिंग हो सकता है और उस स्थिति में MSE अधिक उपयोगी होता है। मैं कहूंगा कि एमएसई अधिक सामान्य है।
12

जवाबों:


9

हम संगीत की सिफारिशों के संदर्भ में Spotify पर निहित मैट्रिक्स फैक्टर के लिए लॉजिस्टिक नुकसान का उपयोग करते हैं (प्ले काउंट्स का उपयोग करके)। हमने अभी आगामी NIPS 2014 कार्यशाला में अपनी पद्धति पर एक पेपर प्रकाशित किया है। पेपर का शीर्षक लॉजिकल मैट्रिक्स फैक्टरलाइज़ेशन फॉर इम्प्लिक्ट फीडबैक डेटा है और इसे यहाँ पाया जा सकता है http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf

पेपर के लिए कोड मेरे जीथब https://github.com/MrChrisJohnson/logistic-mf पर मिल सकते हैं


1
L (R | X, Y, β) = निर्माण (p (lui | xu, yi, βu, i) ^ α.r_ui * (1 - p (lui | xu, yi, βi, βi)) ^ (1 - | α.r_ui) A के पास आपके कोड पर एक नज़र थी, और आप 1 + α.r_ui l64: A = (self.counts + self.ones) * A github.com/MrChrisJohnson-logistic-mf/blob/master/ का उपयोग करते हैं ... इसलिए, मैं कुछ याद कर रहा हूँ? कृपया का संबंध है
fstrub

आपके द्वारा प्रकाशित पेपर पर मेरी नज़र थी। यह बहुत दिलचस्प है क्योंकि लॉजिस्टिक रिग्रेशन वाले मैट्रिक्स फैक्टराइजेशन का सक्रिय रूप से अध्ययन नहीं किया गया है। वैसे भी, मैं आपके लॉस फंक्शन (2) L (R | X, Y, β) = Prod (p (lui। Xu, yi, βu, βi) ^ α.r_ui * (1) - p (lui) से थोड़ा भ्रमित हूं। | xu, yi, βu, )i)) संबंध (3), मुझे लगता है कि एक टाइपो मिस्टेक है L (R। X, Y, Prod) = Prod (p (lui | xu, yi, βi, βi) ^ α .r_ui * (1 - p (lui | xu, yi, ,u, βi)) ^ (1 + α.r_ui ) लेकिन, वास्तव में, मैं अभी भी थोड़ा भ्रमित हूं। वास्तव में, मुझे एक बर्नौली जैसा कानून की उम्मीद होगी। के रूप में
fstrub

हो सकता है कि मुझे इस विषय पर काफी देर हो गई हो .. किसी को संगीत की सिफारिश के संदर्भ में और उत्पाद सिफारिश के शास्त्रीय संदर्भ के बाहर इस अहंकार को आज़माने का मौका मिला था? धन्यवाद।
मार्को फुमगल्ली

3

इस विषय पर आपके द्वारा पाए जाने वाले अधिकांश कागजात मैट्रिसेस से निपटेंगे जहां रेटिंग्स पैमाने पर होती हैं [0,5]। उदाहरण के लिए नेटफ्लिक्स पुरस्कार के संदर्भ में, मैट्रिक्‍स की रेटिंग 1 से 5 (+ गायब मान) है। यही कारण है कि चुकता त्रुटि सबसे अधिक प्रसार लागत फ़ंक्शन है। कुछ अन्य त्रुटि उपाय जैसे कि कुल्बैक-लीब्लर विचलन को देखा जा सकता है।

एक और समस्या जो मानक मैट्रिक्स फैक्टराइजेशन के साथ हो सकती है, वह यह है कि मेट्रिसेस यू और वी के कुछ तत्व नकारात्मक हो सकते हैं (विशेषकर पहले चरणों के दौरान)। यही कारण है कि आप अपने लागत फ़ंक्शन के रूप में यहां लॉग-लॉस का उपयोग नहीं करेंगे।

हालांकि, यदि आप गैर-नकारात्मक मैट्रिक्स फैक्टराइजेशन के बारे में बात कर रहे हैं, तो आपको अपने लागत फ़ंक्शन के रूप में लॉग-लॉस का उपयोग करने में सक्षम होना चाहिए। आप लॉजिस्टिक रिग्रेशन की तुलना में एक समान मामले में हैं जहां लॉग-लॉस का उपयोग लागत फ़ंक्शन के रूप में किया जाता है: आपके देखे गए मान 0 और 1 हैं और आप 0 और 1 के बीच संख्या (संभावना) की भविष्यवाणी करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.