नकारात्मक कोसाइन समानता की व्याख्या करना


17

मेरा सवाल एक मूर्खतापूर्ण हो सकता है। इसलिए मैं पहले ही माफी मांग लूंगा।

मैं स्टैनफोर्ड एनएलपी समूह ( लिंक ) द्वारा पहले से प्रशिक्षित GLOVE मॉडल का उपयोग करने की कोशिश कर रहा था । हालांकि, मैंने देखा कि मेरे समानता के परिणामों ने कुछ नकारात्मक संख्याएँ दिखाईं।

इसने मुझे तुरंत शब्द-वेक्टर डेटा फ़ाइल को देखने के लिए प्रेरित किया। जाहिर है, वैक्टर शब्द में मूल्यों को नकारात्मक होने की अनुमति दी गई थी। यह बताया कि क्यों मैंने नकारात्मक कोसाइन समानताएं देखीं।

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

उदाहरण के लिए, यदि मेरे पास -0.1 की समानता देने वाले शब्दों की एक जोड़ी है, तो क्या वे किसी अन्य जोड़ी से कम समान हैं जिनकी समानता 0.05 है? -0.9 से 0.8 की समानता की तुलना कैसे करें?

या मैं बस से कम से कम कोण अंतर का पूर्ण मान पर गौर करना चाहिए nπ ? अंकों का पूर्ण मूल्य?

बहुत बहुत शुक्रिया।


1
कोसाइन समानता टैग कहता है: An angular-type similarity coefficient between two vectors. It is like correlation, only without centering the vectors.दोनों के बीच एकमात्र अंतर यह है कि सहसंबंध विचलन (क्षणों) में - जो क्रॉस-गुणा किए जा रहे हैं - मतलब से हैं, जबकि कॉशन विचलन मूल 0 से हैं - अर्थात वे मान हैं जैसे वे हैं ।
ttnphns

2
(cont।) सकारात्मक या नकारात्मक गुणांक की समझ दोनों उदाहरणों में समान है। नेगेटिव कॉफ। इसका मतलब है कि एक वेक्टर के सकारात्मक विचलन / मूल्य दूसरे के नकारात्मक विचलन / मूल्यों के साथ जोड़ते हैं। क्या इसका मतलब यह है कि वैक्टर "समान" हैं या इसके विपरीत "अत्यधिक भिन्न" इस बात पर निर्भर है कि आपके लिए डेटा में सकारात्मक और नकारात्मक विचलन / मूल्यों का क्या अर्थ है।
ttnphns

@ttnphns आपकी टिप्पणी के लिए बहुत बहुत धन्यवाद! यह मुझे एक नए तरीके से ब्रह्मांडीय समानता के बारे में सोचने के लिए प्रेरित करता है। मेरे उपयोग के मामले में, शायद मैं इसे अंतिम परिणामों में अंतर के रूप में सोच सकता हूं: यदि डॉक्टर ए और बी का सहसंबंध नकारात्मक है, और एक यूआई-सामयिक पत्रिका एक्स में डॉक्टर ए शामिल है, तो यह कम संभावना है कि एक्स में बी शामिल है। खैर, कुछ मतलब संभावना से। क्या यह व्याख्या आपको मान्य लगती है?
माई

मैंने कहने की हिम्मत नहीं की क्योंकि मैं आपके डेटा, उसमें मौजूद मूल्यों और आपके अध्ययन का अर्थ नहीं जानता।
ttnphns

जवाबों:


2

चलो दो वैक्टर a और b , कोण स्केलर उत्पाद और वैक्टर के मानदंड द्वारा प्राप्त किया जाता है:θ

cos(θ)=ab||a||||b||

चूंकि मान श्रेणी :cos(θ)[1,1]

  • 1 मान जोरदार विपरीत वैक्टर को इंगित करेगा
  • 0 स्वतंत्र (ऑर्थोगोनल) वैक्टर
  • 1 समान (सकारात्मक सह-रैखिक) वैक्टर। समानता की डिग्री का आकलन करने के लिए मध्यवर्ती मूल्यों का उपयोग किया जाता है।

उदाहरण : दो उपयोगकर्ता और और को इन दो उपयोगकर्ताओं के बीच फिल्मों के स्वाद के अनुसार समानता दें:U1U2sim(U1,U2)

  • sim(U1,U2)=1 यदि दोनों उपयोगकर्ताओं के पास समान स्वाद है (या यदि )U1=U2
  • sim(U1,U2)=0 यदि हमें दो उपयोगकर्ताओं के बीच कोई सहसंबंध नहीं मिलता है, उदाहरण के लिए यदि उन्होंने कोई भी मूवी नहीं देखी है
  • sim(U1,U2)=1यदि उपयोगकर्ताओं ने स्वादों का विरोध किया है, तो यदि वे विपरीत तरीके से फिल्मों का मूल्यांकन करते हैं, तो

0

पूर्ण मानों का उपयोग न करें, क्योंकि नकारात्मक संकेत मनमाना नहीं है। 0 और 1 के बीच कोसाइन मान प्राप्त करने के लिए, आपको निम्नलिखित कोसिन फ़ंक्शन का उपयोग करना चाहिए:

(आर कोड)

cos.sim <- function(a,b) 
{
  dot_product = sum(a*b)
  anorm = sqrt(sum((a)^2))
  bnorm = sqrt(sum((b)^2))
  minx =-1
  maxx = 1
  return(((dot_product/anorm*bnorm)-minx)/(maxx-minx))
} 

(पायथन कोड)

def cos_sim(a, b):
    """Takes 2 vectors a, b and returns the cosine similarity according 
to the definition of the dot product"""
    dot_product = np.dot(a, b)
    norm_a = np.linalg.norm(a)
    norm_b = np.linalg.norm(b)
    return dot_product / (norm_a * norm_b)

minx = -1 
maxx = 1

cos_sim(row1, row2)- minx)/(maxx-minx)
```

आप मिनक्स और मैक्सएक्स को कहां सेट करते हैं? आप गणना दूरी के बजाय वेक्टर आयामों के लिए इस न्यूनतम-अधिकतम सामान्यीकरण को लागू कर सकते हैं।
एमआर

0

कोसाइन समानता केवल पियर्सन सहसंबंध की तरह है, लेकिन साधनों को बदले बिना। तो आप 2 कोसिन की समानता के सापेक्ष स्ट्रेंथ की तुलना पूर्ण मूल्यों को देखकर कर सकते हैं, ठीक उसी तरह जैसे आप 2 पीयरसन सहसंबंधों के निरपेक्ष मूल्यों की तुलना करेंगे।


0

इसका अधिकार है कि आवृत्ति वैक्टर के बीच कोसाइन-समानता नकारात्मक नहीं हो सकती क्योंकि शब्द-गणना नकारात्मक नहीं हो सकती है, लेकिन शब्द-एम्बेडिंग (जैसे दस्ताने) के साथ आपके नकारात्मक मूल्य हो सकते हैं।

वर्ड-एम्बेडिंग कंस्ट्रक्शन का एक सरलीकृत दृश्य इस प्रकार है: आप प्रत्येक शब्द को R ^ d में एक यादृच्छिक वेक्टर के साथ असाइन करते हैं। अगला एक ऑप्टिमाइज़र चलाएं जो दो समान-वैक्टर v1 और v2 को एक दूसरे के करीब करने की कोशिश करता है या दो डिसिमिलर वैक्टर v3 और v4 को आगे (कुछ दूरी के अनुसार, कोसाइन कहता है) ड्राइव करता है। आप इस अनुकूलन को पर्याप्त पुनरावृत्तियों के लिए चलाते हैं और अंत में, आपके पास एकमात्र मानदंड के साथ शब्द-एम्बेडिंग होते हैं जिसमें समान शब्द के पास वैक्टर होते हैं और डिसिमिलर वैक्टर अलग होते हैं। अंतिम परिणाम आपको कुछ आयाम-मूल्यों के नकारात्मक होने और कुछ जोड़े नकारात्मक कोसाइनिटी ​​समानता के साथ छोड़ सकते हैं - केवल इसलिए कि अनुकूलन प्रक्रिया ने इस मानदंड की परवाह नहीं की। हो सकता है कि इसने कुछ वैक्टरों को नकारात्मक-मानों में शामिल कर लिया हो। वैक्टर के आयाम शब्द-गिनती के अनुरूप नहीं हैं,

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