नेटफ्लिक्स जैसी फिल्म की सिफारिश करने के लिए क्या सांख्यिकीय तरीके हैं?


14

मैं एक उपयोगकर्ता को एक फिल्म की सिफारिश करने के लिए एक गतिशील मॉडल को लागू करने के लिए देख रहा हूं। सिफारिश को हर बार अपडेट किया जाना चाहिए जब उपयोगकर्ता किसी फिल्म को देखता है या उसे रेट करता है। इसे सरल रखने के लिए मैं दो कारकों को ध्यान में रख रहा हूं:

  • उपयोगकर्ता द्वारा अन्य फिल्मों की पिछली रेटिंग
  • उस समय जब उपयोगकर्ता कुछ पिछली फिल्में देखता था

ऐसे मॉडल को कोई कैसे सेटअप करेगा, और अकादमिक साहित्य क्या सलाह देता है?

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


3
मुझे नहीं लगता कि यह जवाबदेह होने के लिए बहुत व्यापक है। उदाहरण के लिए, इसके 2 उत्कीर्ण उत्तर हैं।
गूँग - मोनिका

2
आंग्सा के खनन विशाल डेटासेट और इसके मुफ्त पुस्तक की कोशिश करो!
फेलिप जेरार्ड

2
आप शायद मैट्रिक्स और / या टेन्सर फैक्टराइजेशन देखना चाहते हैं।
मार्क क्लेसेन

1
@ us @r11852 मेरा उत्तर प्रश्न से व्यापक है।
छायाकार

1
@ us @r11852, प्रश्न शीर्षक पूछता है, "क्या सांख्यिकीय तरीके हैं ...?" अंतिम वाक्य पूछता है कि क्या प्रतिगमन के अलावा अन्य तरीके हैं। मुझे लगता है कि नीचे दिए गए कई जवाब इस तरह की जानकारी प्रदान करते हैं।
गुंग - को पुनः स्थापित मोनिका

जवाबों:


14

यह वास्तव में मशीन सीखने के क्षेत्र में एक अपेक्षाकृत प्रसिद्ध समस्या है। ~ 2006 में नेटफ्लिक्स ने एल्गोरिथम को $ 1m की पेशकश की, जो उनके अनुशंसा प्रणाली में सबसे अच्छा उचित सुधार प्रदान करता है। विजयी समाधान के सिद्धांत को इस कैलटेक पाठ्यपुस्तक में परिचयात्मक मशीन लर्निंग पर संक्षेप में चर्चा की गई है ।

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

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

यदि आप मशीन सीखने में शुरू कर रहे हैं, तो उपरोक्त संसाधनों की जाँच करना आपकी रुचि के स्तर और आपके गणित की पृष्ठभूमि के आधार पर सहायक हो सकता है। इसलिए प्रतिगमन शायद ठीक-से-अच्छा काम करेगा, लेकिन काफी बेहतर प्रदर्शन संभव है।


2
नेटफ्लिक्स पुरस्कार के लिए +1। जैसा कि आपने बताया, यह पुरस्कार इस बात का एक अच्छा संकेत है कि यह चुनौती कितनी बड़ी है।
Cort Ammon

11

इन समस्याओं में आधी चुनौती यह जानना है कि क्या खोजा जाए।

आपने इसे साकार किए बिना टैग जोड़ा हो सकता है, लेकिन आप वास्तव में अनुशंसाकर्ता सिस्टम की जानकारी की तलाश में हैं । आप सहयोगी फ़िल्टरिंग के साथ शुरू करना चाहते हैं , या बेहतर अभी तक रिकारी, रिकोक और शापिरा द्वारा अनुशंसित सिस्टम हैंडबुक का परिचय उस पृष्ठ पर उद्धृत किया गया है।


मैं वास्तव में टैग में गहरा लग रहा था, और सहयोगी फ़िल्टरिंग पर ज्यादातर उदाहरणों में आया था। मेरे पास उस विधि के साथ समस्या यह है कि यह अन्य उपयोगकर्ताओं के इनपुट पर निर्भर करता है, अगर मैं अवधारणा को समझ गया। मैं एक उपयोगकर्ता की स्थिति में तरीकों की तलाश कर रहा हूं, कोई अन्य डेटा या वैकल्पिक रूप से अन्य डेटा नहीं। आपके अन्य संदर्भों पर एक नज़र होगी।
जॉन्सएंड्रयूज

1
@ जॉन्डन क्रूज़: मुझे लगता है कि ssdecontrol आपको सबसे अधिक प्रासंगिक सलाह देता है। आपको सिफारिशकर्ता सिस्टम साहित्य पर ध्यान देने की आवश्यकता है। इसमें कई तकनीकें शामिल हैं, जैसे। एनएनएमएफ , फंक एसवीडी , निकटतम पड़ोसी क्लासिफायर के कई अलग - अलग वेरिएंट आदि, कुछ स्पष्ट नाम रखने के लिए। अंत में आप सहयोगी फ़िल्टरिंग का उपयोग करना चाहते हैं, लेकिन आप किसी भी पृष्ठभूमि के बिना "गोता" नहीं लगा सकते।
us --r11852

@ जॉनऑनव्रीड क्रॉसविलेस्ड आमतौर पर किसी विषय के बारे में सीखना शुरू करने के लिए एक बुरी जगह है , खासकर यदि आप सिर्फ टैग द्वारा खोजते हैं। इसके बजाय मैंने जिन संदर्भों को जोड़ा है, उन्हें देखने के बारे में कैसे? विकिपीडिया के आँकड़े लेख हमेशा विश्वसनीय नहीं होते हैं, लेकिन ये बहुत अच्छे हैं और बहुत सारे संदर्भों का हवाला देते हैं।
छायाकार

6

आपको कोर्टेरा पर एंड्रयू एनजी के पाठ्यक्रम की जांच करनी चाहिए: https://www.coursera.org/learn/machine-learning इसमें सिफारिश करने वाले सिस्टम के निर्माण पर एक सबक है, जो आपको दिख रहा है। अनिवार्य रूप से यह रैखिक प्रतिगमन का एक रूप है जो फिल्मों को रेट करने वाले लोगों से फिल्मों के लिए सिंथेटिक विशेषताओं को सीखता है और उन लोगों के लिए सिफारिशों का अनुमान लगाने के लिए उपयोग करता है जो फिल्मों को दर / घड़ी नहीं करते थे।


3
हमारी साइट पर आपका स्वागत है! कुछ जानकारी शामिल करने के लिए धन्यवाद जो लिंक की सामग्री को संक्षेप में प्रस्तुत करता है, न कि केवल "नंगे" लिंक प्रदान करने के लिए - हम इसकी सराहना करते हैं।
सिल्वर फिश

4

में Netflix चैलेंज (अक्टूबर 2006 - सितं, 2009) एक बहुत बड़े कलाकारों की टुकड़ी (107 अलग submodels) अंत में $ 1M भव्य पुरस्कार जीता है, लेकिन यह ध्यान दें कि पहले साधारण (गैर ensembled) एल्गोरिदम नेटफ्लिक्स Cinematch को हरा करने के लिए शिक्षाप्रद है बेंचमार्क एक सामान्यीकृत (विरल मैट्रिक्स) एसवीडी पर आधारित थे। WXYZCultulting नामक टीम द्वारा प्रतियोगिता शुरू करने के 6 दिन बाद सिनेमैच को पीटने का यह पहला मील का पत्थर मात्र हासिल किया गया था।

एसवीडी (एकवचन मूल्य अपघटन) एक मैट्रिक्स फैक्टराइजेशन एल्गोरिथ्म है, जहां आप [user, movie]प्रत्येक [u, m]स्थिति (*) में एक रेटिंग (1 से 5 स्टार) के साथ 2 डी मैट्रिक्स के साथ शुरू करते हैं , और इसे 3 मैट्रिक्स में तोड़ते हैं जहां मध्य मैट्रिक्स एक वर्ग-मैट्रिक्स है उपयोगकर्ताओं और फिल्मों के बीच अव्यक्त बातचीत।

आप वर्ग मैट्रिक्स रैंक को क्रमशः कम या ज्यादा अव्यक्त कारक अंतःक्रियाओं को शामिल करने के लिए छोटा या बड़ा कर सकते हैं।

तेज / कुशल विरल SVD के कई मुफ्त सॉफ्टवेयर कार्यान्वयन हैं। उदाहरण के लिए redsvd, या vowpal-wabbit ताकि आप अपना लिखने से पहले, आप उन्हें आज़माना चाहें।

(*) इनमें से अधिकांश प्रविष्टियाँ शून्य हैं, क्योंकि अधिकांश उपयोगकर्ताओं ने अधिकांश फिल्मों को रेट नहीं किया है। यानी मैट्रिक्स बहुत विरल है।

संदर्भ:


नेटफ्लिक्स ने पहले क्या उपयोग किया था?
जोना

2
एक एल्गोरिथ्म जिसे "सिनेमैच" कहा जाता है, जो सार्वजनिक नहीं है, लेकिन इसे "वर्षों में परिष्कृत किए गए विभिन्न कारकों के रैखिक संयोजन" के रूप में वर्णित किया गया है। उदाहरण के लिए, औसत वैश्विक रेटिंग (जी) + भारित औसत उपयोगकर्ता [यू] रेटिंग + भारित औसत फिल्म [एम] रेटिंग, ... आदि
arielf

विस्तृत जवाब के लिए धन्यवाद। इसमें खुदाई करेंगे। रैखिक संयोजनों के लिए, उस अति-मानकीकरण की एक बड़ी समस्या नहीं है? यह मेरा पसंदीदा तरीका होगा। लेकिन एसवीडी आशाजनक लगता है।
JohnAndrews

समस्या नहीं है यदि आप केवल उन कारकों को जोड़ते हैं जो सामान्यीकरण त्रुटि में सुधार करते हैं । जाहिर है, आपको आवश्यक विश्वास हासिल करने के लिए अनदेखी डेटा पर इस तरह के हर अतिरिक्त का परीक्षण करने की आवश्यकता है।
arielf
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.