2009-03-29 8 views
7

मैं आर्टिफिशियल इंटेलिजेंस के लिए नया हूं। मैं के निकटतम पड़ोसी एल्गोरिदम को समझता हूं और इसे कैसे कार्यान्वित करता हूं। हालांकि, आप उन चीजों की दूरी या वजन की गणना कैसे करते हैं जो पैमाने पर नहीं हैं?के निकटतम पड़ोसी एल्गोरिदम संदेह

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

मुझे एहसास हुआ कि ऐसा करने का एक चालाक तरीका है।

आपके ध्यान के लिए अग्रिम धन्यवाद।

संपादित करें: बहुत अच्छे उत्तरों के लिए धन्यवाद। यह वास्तव में मदद की और मैं इसकी सराहना करता हूं। लेकिन मैं सोच रहा हूं कि वहां एक रास्ता होना चाहिए।

क्या मैं इसे इस तरह से कर सकता हूं? आइए मान लें कि मैं अपने केएनएन एल्गोरिदम का उपयोग किसी व्यक्ति के लिए भविष्यवाणी करने के लिए कर रहा हूं कि वह मेरे रेस्तरां में खाएगा जो उपर्युक्त तीनों भोजनों परोसता है। बेशक, अन्य कारक हैं लेकिन इसे आसान रखने के लिए, पसंदीदा भोजन के क्षेत्र में, 300 लोगों में से 150, बर्गर से प्यार करते हैं, 100 पिज्जा से प्यार करते हैं, और 50 फ्राइज़ से प्यार करते हैं। सामान्य ज्ञान मुझे बताता है कि पसंदीदा भोजन लोगों के फैसले को प्रभावित करता है कि खाने या नहीं।

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

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

ओह, हर कोई एक अच्छा जवाब देता है, लेकिन मैं केवल एक स्वीकार कर सकता हूं। उस स्थिति में, मैं कल उच्चतम वोट वाले व्यक्ति को स्वीकार करूंगा। आप सबको एक बार फिर धन्यवाद।

उत्तर

11

सभी भोजन का प्रतिनिधित्व करें जिसके लिए आप डेटा को "आयाम" (या तालिका में एक कॉलम) के रूप में एकत्र करते हैं।

रिकार्ड हर व्यक्ति जिन पर आप डेटा एकत्र कर सकते हैं और किसी तालिका में परिणाम जगह के लिए "पसंद":

 
      Burger | Pizza | Fries | Burritos | Likes my food 
person1  1  |  0 |  1 |  1 |  1 
person2  0  |  0 |  1 |  0 |  0 
person3  1  |  1 |  0 |  1 |  1 
person4  0  |  1 |  1 |  1 |  0 

अब, एक नए व्यक्ति को देखते हुए खाद्य पदार्थ वह पसंद से कुछ के बारे में जानकारी के साथ, आप इस तरह के Pearson Correlation Coefficient, या Cosine Similarity, आदि के रूप में एक सरल उपाय का उपयोग कर अन्य लोगों के लिए समानता को माप सकते हैं

अब आप कश्मीर निकटतम पड़ोसी ढूंढ़ना और कुछ निर्णय करने के लिए एक तरह से ..

अधिक उन्नत inf के लिए है इस पर संस्कार, "सहयोगी फ़िल्टरिंग" देखें (लेकिन मैं आपको चेतावनी दूंगा, यह गणित-वाई हो जाता है)।

+0

यही वह था जिसे मैं ढूंढ रहा था! आपका बहुत बहुत धन्यवाद। =) – wai

5

यह एआई में ज्ञान प्रतिनिधित्व की समस्याओं में से एक है। विषय एक बड़ा हिस्सा निभाता है। क्या आप और मैं सहमत हैं, उदाहरण के लिए, एक बर्गर, पिज्जा और फ्राइज़ के "निकटता" पर?

आपको शायद तुलना करने के लिए आइटम वाले एक मैट्रिक्स की आवश्यकता होगी। यदि आप पारगमन को मान सकते हैं तो आप इस मैट्रिक्स को कम करने में सक्षम हो सकते हैं, लेकिन मुझे लगता है कि यह भी आपके उदाहरण में अनिश्चित होगा।

कुंजी उस सुविधा को आजमाने और निर्धारित करने के लिए हो सकती है जिस पर आप तुलना करने की कोशिश कर रहे हैं। उदाहरण के लिए, यदि आप अपने खाद्य पदार्थों की तुलना स्वास्थ्य पर कर रहे थे, तो आप कुछ और उद्देश्य प्राप्त करने में सक्षम हो सकते हैं।

2

यदि आप "Collective Intelligence" पर देखते हैं, तो आप देखेंगे कि वे एक पैमाने और मूल्य निर्दिष्ट करते हैं। इस तरह नेटफ्लिक्स फिल्म रैंकिंग की तुलना कर रहा है और इस तरह।

आपको उस पैमाने के साथ आने और प्रत्येक के लिए मान निर्दिष्ट करके "निकटता" को परिभाषित करना होगा।

0

ऐसा करने का कोई "सर्वश्रेष्ठ" तरीका नहीं है। अंततः, आपको एक मनमाना पैमाने के साथ आने की जरूरत है।

7

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

अंतर्निहित मात्रात्मकता रखने के लिए इन शर्तों पर निर्भर नहीं है और इस प्रकार आपको यह बताएगा कि विश्लेषण के आपके सिस्टम को कैसे डिजाइन किया जाए; यह तय करने के लिए आप क्या कर रहे हैं कि वहां से मीट्रिक को पूरा करने और डिजाइन करने का प्रयास कर रहे हैं।

1

मैं वास्तव में उपयोगकर्ताओं को इन विशेषताओं के जोड़े प्रस्तुत करता हूं और उन्हें अपनी निकटता को परिभाषित करने के लिए कहता हूं। आप उन्हें [synonym..very विदेशी] या इसी तरह से पहुंचने वाले पैमाने के साथ पेश करेंगे। कई लोग ऐसा करने के बाद आप गैर-रैखिक विशेषता मानों के लिए व्यापक रूप से स्वीकार्य निकटता फ़ंक्शन के साथ समाप्त हो जाएंगे।

0

अच्छा जवाब। आप सिर्फ मेट्रिक बना सकते हैं, या, जैसा कि मैलाच सुझाव देता है, कुछ लोगों से पूछें। वास्तव में इसे सही करने के लिए, ऐसा लगता है कि आपको bayesian analysis की आवश्यकता है।