दूरी मैट्रिक्स के रूप में कोसाइन समानता बनाम डॉट उत्पाद


41

ऐसा लगता है कि दो विशेषताओं की कोसाइन समानता केवल उनके डॉट उत्पाद को उनके परिमाण के उत्पाद द्वारा बढ़ाया जाता है। कोसाइन समानता कब डॉट उत्पाद की तुलना में बेहतर दूरी मीट्रिक बनाती है? यानी डॉट उत्पाद और कोज़ेन समानता में अलग-अलग स्थितियों में अलग-अलग ताकत या कमजोरियां हैं?


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

जवाबों:


41

ज्यामितीय रूप से सोचें। Cosine समानता केवल कोण अंतर के बारे में परवाह करती है, जबकि डॉट उत्पाद कोण और परिमाण के बारे में परवाह करता है। यदि आप अपने डेटा को समान परिमाण के लिए सामान्य करते हैं, तो दोनों अप्रभेद्य हैं। कभी-कभी यह परिमाण को अनदेखा करना वांछनीय है, इसलिए कोसाइन समानता समान है, लेकिन अगर परिमाण एक भूमिका निभाता है, तो एक समानता उपाय के रूप में डॉट उत्पाद बेहतर होगा। ध्यान दें कि उनमें से कोई भी "दूरी मीट्रिक" नहीं है।


3
"दूरी मीट्रिक" का आमतौर पर साहित्य में "समानता" के विपरीत के रूप में उपयोग किया जाता है: बड़ी दूरी, छोटी समानता, लेकिन मूल रूप से वे एक ही विचार का प्रतिनिधित्व करते हैं।
20

1
@ वफ़ादारी का अर्थ है 'असमानता'। मीट्रिक की सटीक परिभाषा है।
मेमिंग

8

आप सही हैं, कोसाइन वैराइटी में वैक्टर के डॉट उत्पाद के साथ बहुत कुछ सामान्य है। वास्तव में, यह एक डॉट उत्पाद है, जिसे परिमाण द्वारा बढ़ाया जाता है। और स्केलिंग के कारण इसे 0 और 1 के बीच सामान्यीकृत किया जाता है। सीएस बेहतर है क्योंकि यह डेटा और विशेषताओं के सापेक्ष आवृत्तियों की परिवर्तनशीलता को ध्यान में रखता है। दूसरी ओर, सादे डॉट उत्पाद थोड़ा "सस्ता" (जटिलता और कार्यान्वयन के संदर्भ में) है।


अकेले डॉट उत्पाद ही क्यों (सामान्य होने के बराबर) सुविधाओं और डेटा की आवृत्ति के लिए जिम्मेदार नहीं है ? मुझे नहीं पता कि यह अंतर है।
सीन ओवेन

2
शायद, मैं स्पष्ट नहीं था। मैं डेटा विविधता के बारे में बात कर रहा था। जैसे, हमारे पास दो जोड़े दस्तावेज हैं। प्रत्येक जोड़ी के भीतर डॉक्स एक जैसे होते हैं, लेकिन जोड़ी -2 की तुलना में जोड़ी -1 दस्तावेज छोटे होते हैं। और हम प्रत्येक जोड़ी के भीतर समानता की गणना कर रहे हैं। डॉट उत्पाद विभिन्न संख्याओं का उत्पादन करेगा, हालांकि दोनों मामलों में अधिकतम समानता का अनुमान है।
सोबच

5

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

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


4

यहां सामान्य आंतरिक-उत्पाद-आधारित समानता मैट्रिक्स की उत्कृष्ट तुलना है

विशेष रूप से, Cosine समानता को [0,1] के भीतर झूठ बोलना सामान्यीकृत है, डॉट उत्पाद के विपरीत जो कि कोई भी वास्तविक संख्या हो सकती है, लेकिन, जैसा कि हर कोई कह रहा है, कि वैक्टर के परिमाण को अनदेखा करने की आवश्यकता होगी। निजी तौर पर, मुझे लगता है कि यह अच्छी बात है। मैं परिमाण को आंतरिक (सदिश-सदिश) संरचना के रूप में और वैक्टर के बीच बाह्य (सदिश के बीच) संरचना के रूप में मानता हूं। वे अलग-अलग चीजें हैं (मेरी राय में) अक्सर अलग से सबसे अच्छा विश्लेषण किया जाता है। मैं ऐसी स्थिति की कल्पना नहीं कर सकता, जहाँ मैं आंतरिक उत्पादों की गणना कोसिन की समानता से करूँ और बाद में परिमाण की तुलना करूँ।


"कोसाइन समानता को [0,1] के भीतर झूठ बोलने के लिए सामान्यीकृत किया गया है" यह अभी भी अंश में एक डॉट उत्पाद है, मुझे लगता है कि इसके बजाय सीमा -1, 1] होनी चाहिए?
कारी

2

x,||x||2=x,x=1ϕx,y=cosϕϕ=arccosx,y

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


1

जैसा कि अन्य ने बताया है, ये दूरी "मेट्रिक्स" नहीं हैं, क्योंकि वे मीट्रिक मानदंडों को पूरा नहीं करते हैं। इसके बजाय "दूरी माप" कहें।

वैसे भी, आप क्या माप रहे हैं और क्यों? वह जानकारी हमें आपकी स्थिति के लिए अधिक उपयोगी उत्तर देने में मदद करेगी।


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

1
विकिपीडिया अधिक सहायक था। दूरी (x, y) गैर-नकारात्मक होनी चाहिए; d (x, y) = 0 केवल अगर x = y; d (x, y) = d (y, x); और त्रिकोण असमानता को संतुष्ट
करें-

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