कोसाइन समानता

डेटा विश्लेषण में, कोसाइन समानता एक आंतरिक उत्पाद स्थान में परिभाषित दो गैर-शून्य वैक्टरों के बीच समानता का एक उपाय है। कोज्या समानता सदिशों के बीच के कोण की कोज्या है; अर्थात्, यह उनकी लंबाई के गुणनफल से विभाजित सदिशों का डॉट गुणनफल है। इससे पता चलता है कि कोज्या समानता सदिशों के परिमाण पर निर्भर नहीं करती है, बल्कि केवल उनके कोण पर निर्भर करती है। कोसाइन समानता हमेशा अंतराल से संबंधित होती है $$[-1, 1].$$ उदाहरण के लिए, दो आनुपातिक वैक्टर में 1 की कोज्या समानता होती है, दो ऑर्थोगोनल वैक्टर में 0 की समानता होती है, और दो विपरीत (गणित) वैक्टर में -1 की समानता होती है। कुछ संदर्भों में, सदिशों के घटक मान ऋणात्मक नहीं हो सकते, जिस स्थिति में कोसाइन समानता सीमित होती है $$[0,1]$$.

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

कोसाइन समानता के अन्य नामों में सम्मलित हैं ओरचिनी समानता और सर्वांगसमता का टकर गुणांक; ओत्सुका-ओचियाई समानता (नीचे देखें) बाइनरी डेटा पर लागू कोसाइन समानता है।

परिभाषा
यूक्लिडियन वेक्टर#डॉट उत्पाद सूत्र का उपयोग करके दो गैर-शून्य वैक्टरों की कोज्या प्राप्त की जा सकती है:


 * $$\mathbf{A}\cdot\mathbf{B}

=\left\|\mathbf{A}\right\|\left\|\mathbf{B}\right\|\cos\theta$$ गुणों के दो एन-आयामी वेक्टर (ज्यामितीय) को देखते हुए, 'ए' और 'बी', कोसाइन समानता, $cos(θ)$, एक डॉट उत्पाद और परिमाण (गणित) #यूक्लिडियन वेक्टर स्पेस का उपयोग करके दर्शाया गया है


 * $$\text{cosine similarity} =S_C (A,B):= \cos(\theta) = {\mathbf{A} \cdot \mathbf{B} \over \|\mathbf{A}\| \|\mathbf{B}\|} = \frac{ \sum\limits_{i=1}^{n}{A_i B_i} }{ \sqrt{\sum\limits_{i=1}^{n}{A_i^2}}  \sqrt{\sum\limits_{i=1}^{n}{B_i^2}} },$$

कहाँ $$A_i$$ और $$B_i$$ हैं $$i$$वें यूक्लिडियन वेक्टर#सदिशों का अपघटन $$\mathbf{A}$$ और $$\mathbf{B}$$, क्रमश।

परिणामी समानता -1 से लेकर होती है जिसका अर्थ बिल्कुल विपरीत होता है, 1 का अर्थ बिल्कुल समान होता है, 0 के साथ ओर्थोगोनालिटी या अलंकरण का संकेत मिलता है, जबकि बीच के मान मध्यवर्ती समानता या असमानता का संकेत देते हैं।

अनुमानित स्ट्रिंग मिलान के लिए, विशेषता वेक्टर ए और बी सामान्यतः दस्तावेजों के टीएफ-आईडीएफ वैक्टर होते हैं। कोसाइन समानता को तुलना के दौरान सामान्यीकरण (सांख्यिकी) दस्तावेज़ लंबाई की एक विधि के रूप में देखा जा सकता है। सूचना पुनर्प्राप्ति के स्थितियों  में, दो दस्तावेज़ों की कोसाइन समानता की सीमा होगी $$0 \to 1$$, क्योंकि पद आवृत्ति ऋणात्मक नहीं हो सकती। tf-idf|TF-IDF वज़न का उपयोग करते समय यह सही रहता है। दो टर्म फ़्रीक्वेंसी वैक्टर के बीच का कोण 90° से ज़्यादा नहीं हो सकता।

यदि विशेषता सदिशों को सदिश माध्यों को घटाकर सामान्यीकृत किया जाता है (उदा., $$A - \bar{A}$$), माप को केंद्रित कोसाइन समानता कहा जाता है और पियर्सन सहसंबंध गुणांक के बराबर है। केंद्रीकरण के उदाहरण के लिए, $$\text{if}\, A = [A_1, A_2]^T, \text{ then } \bar{A} = \left[\frac{(A_1+A_2)}{2},\frac{(A_1+A_2)}{2}\right]^T, \text{ so } A-\bar{A}= \left[\frac{(A_1-A_2)}{2},\frac{(-A_1+A_2)}{2}\right]^T.$$

कोसाइन दूरी
शब्द कोसाइन दूरी सामान्यतः सकारात्मक स्थान में कोज्या समानता के पूरक के लिए उपयोग किया जाता है, अर्थात


 * $$ \text{cosine distance} = D_C(A,B) := 1 - S_C(A,B).$$ यह ध्यान रखना महत्वपूर्ण है कि कोसाइन दूरी एक वास्तविक दूरी मीट्रिक नहीं है क्योंकि यह त्रिकोण असमानता संपत्ति को प्रदर्शित नहीं करती है - या अधिक औपचारिक रूप से, श्वार्ज़ असमानता - और यह संयोग स्वयंसिद्ध का उल्लंघन करती है। इसे देखने का एक विधि ा है कोज्या समानता # गुण कि कोसाइन दूरी वर्ग की यूक्लिडियन दूरी का आधा है $$L_2$$ सदिशों का सामान्यीकरण, और यूक्लिडियन दूरी का वर्ग त्रिभुज असमानता को भी संतुष्ट नहीं करता है। समान क्रम को बनाए रखते हुए त्रिभुज असमानता संपत्ति की मरम्मत के लिए, कोणीय दूरी या कोसाइन समानता # एल 2-सामान्यीकृत यूक्लिडियन दूरी में परिवर्तित करना आवश्यक है। वैकल्पिक रूप से, त्रिकोणीय असमानता जो कोणीय दूरियों के लिए काम करती है, सीधे कोसाइन के संदर्भ में व्यक्त की जा सकती है; कोसाइन समानता #कोज्या समानता के लिए त्रिभुज असमानता देखें।

कोणीय दूरी और समानता
सामान्यीकृत कोण, जिसे किन्हीं दो सदिशों के बीच कोणीय दूरी कहा जाता है $$A$$ और $$B$$ एक औपचारिक दूरी मीट्रिक है और इसकी गणना कोसाइन समानता से की जा सकती है। कोणीय दूरी मीट्रिक के पूरक का उपयोग तब 0 और 1 के बीच घिरे हुए कोणीय समानता फ़ंक्शन को परिभाषित करने के लिए किया जा सकता है।

जब सदिश तत्व धनात्मक या ऋणात्मक हो सकते हैं:


 * $$\text{angular distance} = D_{\theta} := \frac{ \arccos( \text{cosine similarity} ) }{ \pi } = \frac{\theta}{\pi}$$
 * $$\text{angular similarity} = S_{\theta} := 1 - \text{angular distance} = 1 - \frac{\theta}{\pi}$$

या, यदि वेक्टर तत्व हमेशा सकारात्मक होते हैं:


 * $$\text{angular distance} = D_{\theta} := \frac{ 2 \cdot \arccos( \text{cosine similarity} ) }{ \pi } = \frac{2\theta}{\pi}$$
 * $$\text{angular similarity} = S_{\theta} := 1 - \text{angular distance} = 1 - \frac{2\theta}{\pi}$$

दुर्भाग्य से, व्युत्क्रम कोसाइन की गणना ($arccos$) फ़ंक्शन धीमा है, ऊपर की अधिक सामान्य (लेकिन मीट्रिक नहीं) कोसाइन दूरी का उपयोग करने की तुलना में कोणीय दूरी का उपयोग अधिक कम्प्यूटेशनल रूप से महंगा है।

एल2सामान्यीकृत यूक्लिडियन दूरी
कोसाइन दूरी के लिए एक और प्रभावी प्रतिनिधि Norm_(mathematics)#Euclidean_norm|$$L_2$$ सदिशों का सामान्यीकरण, उसके बाद सामान्य यूक्लिडियन दूरी का अनुप्रयोग। इस तकनीक का उपयोग करते हुए प्रत्येक सदिश में प्रत्येक पद को पहले सदिश के परिमाण से विभाजित किया जाता है, जिससे इकाई लंबाई का सदिश प्राप्त होता है। फिर किन्हीं दो सदिशों के अंत-बिंदुओं पर यूक्लिडियन दूरी एक उचित मीट्रिक है जो सदिशों की किसी भी तुलना के लिए कोसाइन दूरी (यूक्लिडियन दूरी का एक मोनोटोनिक परिवर्तन; देखें कोसाइन समानता#गुण) के समान क्रम देता है, और इसके अतिरिक्त सदिशों की तुलना से बचता है एक उचित मीट्रिक प्राप्त करने के लिए संभावित रूप से महंगे त्रिकोणमितीय संचालन की आवश्यकता होती है। एक बार सामान्यीकरण हो जाने के बाद, वेक्टर स्पेस का उपयोग किसी भी यूक्लिडियन स्पेस के लिए उपलब्ध तकनीकों की पूरी श्रृंखला के साथ किया जा सकता है, विशेष रूप से मानक आयामीता में कमी तकनीक। यह सामान्यीकृत फॉर्म दूरी अधिकांशतः  कई गहन शिक्षण एल्गोरिदम में उपयोग की जाती है।

ओत्सुका-ओचियाई गुणांक
जीव विज्ञान में, एक ऐसी ही अवधारणा है जिसे ओत्सुका-ओचियाई गुणांक के रूप में जाना जाता है। 大塚 弥之助) और अकीरा ओचियाई (落合 明), ओचियाई-बार्कमैन के रूप में भी जाना जाता है या ओचियाई गुणांक, जिसे इस प्रकार दर्शाया जा सकता है:
 * $$K =\frac{|A \cap B|}{\sqrt{|A| \times |B|}}$$

यहाँ, $$A$$ और $$B$$ सेट (गणित) हैं, और $$|A|$$ में तत्वों की संख्या है $$A$$. यदि सेट को बिट वैक्टर के रूप में दर्शाया जाता है, तो ओत्सुका-ओचियाई गुणांक कोसाइन समानता के समान देखा जा सकता है।

हाल की एक किताब में, गुणांक को ओत्सुका परिवार के नाम वाले एक अन्य जापानी शोधकर्ता को गलत विधि े से आरोपित किया गया है। भ्रम उत्पन्न होता है क्योंकि 1957 में अकीरा ओचियाई गुणांक को केवल ओत्सुका (पहले नाम का उल्लेख नहीं) के लिए जिम्मेदार ठहराते हैं। इकुसो हमाई के एक लेख का हवाला देते हुए (浜井 生三), जो बदले में यानोसुके ओत्सुका के मूल 1936 के लेख का हवाला देते हैं।

गुण
कोसाइन समानता की सबसे उल्लेखनीय संपत्ति यह है कि यह अलग-अलग वेक्टर आयामों की तुलना में निरपेक्ष के अतिरिक्त एक रिश्तेदार को दर्शाती है। किसी भी स्थिरांक के लिए $$a$$ और वेक्टर $$V$$, वैक्टर $$V$$ और $$aV$$ अधिकतम समान हैं। माप इस प्रकार डेटा के लिए सबसे उपयुक्त है जहां आवृत्ति निरपेक्ष मूल्यों की तुलना में अधिक महत्वपूर्ण है; विशेष रूप से, दस्तावेजों में शब्द आवृत्ति। चूंकि सूचना सिद्धांत में ग्राउंडिंग के साथ हाल ही के मेट्रिक्स, जैसे जेन्सेन-शैनन विचलन | जेन्सेन-शैनन, एसईडी, और त्रिकोणीय विचलन को कम से कम कुछ संदर्भों में बेहतर शब्दार्थ दिखाया गया है। कोसाइन समानता यूक्लिडियन दूरी से निम्नानुसार संबंधित है। यूक्लिडियन दूरी को सामान्य रूप से निरूपित करें $$\|A - B\|$$, और उसका निरीक्षण करें


 * $$\|A - B\|^2 = (A - B) \cdot (A - B) = \|A\|^2 + \|B\|^2 - 2 (A \cdot B)\ $$ (ध्रुवीकरण पहचान#Relation_to_the_law_of_cosines)

बहुपद विस्तार द्वारा। कब $A$ और $B$ इकाई लंबाई के लिए सामान्यीकृत हैं, $$\|A\|^2 = \|B\|^2 = 1$$ तो यह अभिव्यक्ति के बराबर है


 * $$2 (1 - \cos(A, B)).$$

संक्षेप में, कोसाइन दूरी को यूक्लिडियन दूरी के रूप में व्यक्त किया जा सकता है


 * $$D_C(A, B) = \frac{\|A - B\|^2}{2}\quad\mathrm{when}\quad\|A\|^2 = \|B\|^2 = 1$$.

यूक्लिडियन दूरी को जीवा दूरी कहा जाता है (क्योंकि यह यूनिट सर्कल पर जीवा की लंबाई है) और यह सदिशों के बीच यूक्लिडियन दूरी है जो उनके भीतर वर्ग मानों के इकाई योग के लिए सामान्यीकृत थे।

'अशक्त वितरण:' डेटा के लिए जो नकारात्मक और साथ ही सकारात्मक हो सकता है, कोसाइन समानता के लिए अशक्त वितरण दो स्वतंत्र यादृच्छिक इकाई वैक्टर के डॉट उत्पाद का वितरण है। इस बंटन का माध्य शून्य और विचरण है $$1/n$$ (कहाँ $$n$$ आयामों की संख्या है), और यद्यपि वितरण -1 और +1 के बीच सीमित है, जैसे $$n$$ बड़ा होता है वितरण सामान्य वितरण द्वारा तेजी से अच्छी तरह से अनुमानित है। अन्य प्रकार के डेटा जैसे  bitstream, जो केवल मान 0 या 1 लेते हैं, अशक्त वितरण एक अलग रूप लेता है और इसका एक गैर-शून्य माध्य हो सकता है।

कोज्या समानता के लिए त्रिभुज असमानता
कोणों के लिए साधारण त्रिभुज असमानता (अर्थात, एक इकाई हाइपरस्फीयर पर चाप की लंबाई) हमें वह देती है
 * $$|~\angle{AC} - \angle{CB}~| \le ~\angle{AB}~ \le ~\angle{AC}~ + ~\angle{CB}~.$$

क्योंकि कोज्या फलन एक कोण के रूप में घटता है $[0, \pi]$ रेडियन बढ़ता है, तो इन असमानताओं की भावना उलट जाती है जब हम प्रत्येक मूल्य का कोसाइन लेते हैं:
 * $$\cos(\angle{AC} - \angle{CB}) \ge \cos(\angle{AB}) \ge \cos(\angle{AC} + \angle{CB}).$$

कोसाइन जोड़ और घटाव सूत्रों का उपयोग करके, इन दो असमानताओं को मूल कोसाइन के रूप में लिखा जा सकता है,
 * $$\cos(A,C) \cdot \cos(C,B) + \sqrt{\left(1-\cos(A,C)^2\right)\cdot\left(1-\cos(C,B)^2\right)} \geq \cos(A,B),$$
 * $$\cos(A,B) \geq \cos(A,C) \cdot \cos(C,B) - \sqrt{\left(1-\cos(A,C)^2\right)\cdot\left(1-\cos(C,B)^2\right)}.$$

त्रिभुज असमानता के इस रूप का उपयोग दो वस्तुओं ए और बी की न्यूनतम और अधिकतम समानता को सीमित करने के लिए किया जा सकता है यदि किसी संदर्भ वस्तु सी की समानता पहले से ही ज्ञात हो। इसका उपयोग उदाहरण के लिए मीट्रिक डेटा इंडेक्सिंग में किया जाता है, लेकिन इसका उपयोग गोलाकार k-मतलब क्लस्टरिंग में तेजी लाने के लिए भी किया जाता है उसी तरह यूक्लिडियन त्रिकोण असमानता का उपयोग नियमित के-साधनों को तेज करने के लिए किया गया है।

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

उदाहरण के लिए, प्राकृतिक भाषा प्रसंस्करण (एनएलपी) के क्षेत्र में सुविधाओं के बीच समानता बहुत सहज है। शब्द, एन-ग्राम|एन-ग्राम, या वाक्यात्मक एन-ग्राम जैसी विशेषताएं बहुत  सीमा   तक समान हो सकते हैं, चूंकि  औपचारिक रूप से उन्हें वीएसएम में विभिन्न विशेषताओं के रूप में माना जाता है। उदाहरण के लिए, शब्द "प्ले" और "गेम" अलग-अलग शब्द हैं और इस प्रकार वीएसएम में विभिन्न बिंदुओं पर मैप किए गए; फिर भी वे शब्दार्थ से संबंधित हैं। एन-ग्राम या सिंटैक्टिक एन-ग्राम के स्थितियों  में, लेवेनशेटिन दूरी को लागू किया जा सकता है (वास्तव में, लेवेनशेटिन दूरी को शब्दों पर भी लागू किया जा सकता है)।

सॉफ्ट कोसाइन की गणना के लिए, मैट्रिक्स $s$ का उपयोग सुविधाओं के बीच समानता को इंगित करने के लिए किया जाता है। इसकी गणना लेवेनशेटिन दूरी, शब्दतंत्र  समानता, या अन्य समानता उपायों के माध्यम से की जा सकती है। फिर हम इस मैट्रिक्स से गुणा करते हैं।

दो दिया $N$-आयाम वैक्टर $$a$$ और $$b$$, सॉफ्ट कोसाइन समानता की गणना निम्नानुसार की जाती है:


 * $$\begin{align}

\operatorname{soft\_cosine}_1(a,b)= \frac{\sum\nolimits_{i,j}^N s_{ij}a_ib_j}{\sqrt{\sum\nolimits_{i,j}^N s_{ij}a_ia_j}\sqrt{\sum\nolimits_{i,j}^N s_{ij}b_ib_j}}, \end{align} $$ कहाँ $s_{ij} = similarity(feature_{i}, feature_{j})$.

यदि सुविधाओं के बीच कोई समानता नहीं है ($s_{ii} = 1$, $s_{ij} = 0$ के लिए $i ≠ j$), दिया गया समीकरण पारंपरिक कोसाइन समानता सूत्र के बराबर है।

इस उपाय की समय जटिलता द्विघात है, जो इसे वास्तविक दुनिया के कार्यों पर लागू करती है। ध्यान दें कि जटिलता को सबक्वाड्रैटिक में कम किया जा सकता है। ऐसी सॉफ्ट कोसाइन समानता का एक कुशल कार्यान्वयन Gensim ओपन सोर्स लाइब्रेरी में सम्मलित है।

यह भी देखें

 * सोरेनसेन-डाइस गुणांक
 * हैमिंग दूरी
 * सह - संबंध
 * जैकार्ड इंडेक्स
 * सिमरणक
 * सूचना की पुनर्प्राप्ति

बाहरी संबंध

 * Weighted cosine measure
 * A tutorial on cosine similarity using Python