شباهت کسینوسی

در حوزه تحلیل داده، **شباهت کسینوسی** ***' یک [[معیار شباهت]] میان دو بردار ناصفر است که در یک [[فضای ضرب داخلی]] تعریف می‌شود. شباهت کسینوسی برابر با [[کسینوس]] زاویه بین دو بردار است. به‌عبارت دیگر، برابر است با [[ضرب داخلی]] دو بردار تقسیم بر حاصل‌ضرب طول‌های آن‌ها. از این‌رو، شباهت کسینوسی به اندازه بردارها وابسته نیست و تنها به زاویه میان آن‌ها بستگی دارد. مقدار شباهت کسینوسی همواره در بازه <math>[-1, +1]</math> قرار دارد. برای نمونه، دو [[تناسب (ریاضیات)|بردار متناسب]] و هم‌راستا دارای شباهت کسینوسی <math>+1</math> هستند، دو [[فضای ضرب داخلی|بردار متعامد]] شباهتی برابر با <math>0</math> دارند، و دو [[وارون جمعی|بردار مخالف]] دارای شباهت <math>-1</math> هستند. در برخی زمینه‌ها، مقادیر مؤلفه‌های بردارها نمی‌توانند منفی باشند؛ در این حالت، شباهت کسینوسی به بازه <math>[0,1]</math> محدود می‌شود.

برای مثال، در [[بازیابی اطلاعات]] و [[متن‌کاوی]]، به هر واژه یک مختصات متفاوت اختصاص داده می‌شود و هر سند نیز به نوبه خود با برداری از تعداد دفعات وقوع هر واژه در آن سند نمایش داده می‌شود. در این حالت، شباهت کسینوسی معیاری مفید برای سنجش میزان شباهت دو سند از نظر موضوعی فراهم می‌کند و این کار را مستقل از طول اسناد انجام می‌دهد.

در حوزه [[داده‌کاوی]] از این روش برای اندازه‌گیری انسجام درون خوشه‌ها  استفاده می‌شود.

یکی از مزایای شباهت کسینوسی، [[پیچیدگی محاسباتی|پیچیدگی ناچیز محاسباتی]] آن، به‌ویژه برای [[ماتریس خلوت|بردارهای خلوت]] است. زیرا تنها مختصات ناصفر نیاز به بررسی دارند.

نام‌های دیگر شباهت کسینوسی شامل '''شباهت اورکینی''' و '''ضریب تطابق تاکر''' هستند. '''شباهت اوتسوکا–اوچیای'''، که در ادامه آمده است، در واقع همان شباهت کسینوسی اعمال‌شده بر [[داده دودویی|داده‌های دودویی]] است.

==تعریف==
کسینوس زاویه بین دو بردار ناصفر را می‌توان با استفاده از فرمول [[بردار اقلیدسی|ضرب داخلی اقلیدسی]] بدست آورد:

<math display="block">\mathbf{A}\cdot\mathbf{B}
=\left|\mathbf{A}\right|\left|\mathbf{B}\right|\cos\theta</math>

اگر دو [[بردار اقلیدسی|بردار]] ''n''-بعدی از ویژگی‌ها، یعنی <math>\mathbf{A}</math> و <math>\mathbf{B}</math>، داشته باشیم، شباهت کسینوسی، ، با استفاده از [[ضرب داخلی]] و [[بزرگی (ریاضیات)|بزرگی]] به صورت زیر نمایش داده می‌شود:
:<math display="block">\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}} \cdot \sqrt{\sum\limits_{i=1}^{n}{B_i^2}} },</math>
که در آن <math>A_i</math> و <math>B_i</math> به‌ترتیب مؤلفه <math>i</math>-اُم از بردارهای <math>\mathbf{A}</math> و <math>\mathbf{B}</math> هستند.

شباهت بدست‌آمده در بازه‌ای از <math>-1</math> (به‌معنای دقیقاً مخالف بودن) تا <math>+1</math> (به‌معنای دقیقاً هم‌راستا بودن) تغییر می‌کند؛ مقدار 0 نشان‌دهنده [[تعامد (جبر خطی)|تعامد]] یا [[ناهمبسته‌سازی]] است، و مقادیر بین این دو حد نشان دهنده درجات میانی شباهت یا عدم شباهت هستند.

در کاربرد بررسی [[الگوریتم تطابق رشته‌ها|تطابق متن]]، بردارهای ویژگی ''A'' و ''B'' معمولاً بردارهای [[فراوانی وزنی تی‌اف-آی‌دی‌اف|فراوانی واژه]] اسناد هستند. شباهت کسینوسی را می‌توان روشی برای [[نرمال‌سازی (آمار)|نرمال‌سازی]] طول اسناد هنگام مقایسه در نظر گرفت. در کاربرد [[بازیابی اطلاعات]]، شباهت کسینوسی دو سند در بازه <math>0 \to 1</math> قرار می‌گیرد، زیرا فراوانی واژه‌ها نمی‌توانند منفی باشند. این موضوع هنگام استفاده از وزن‌دهی [[فراوانی وزنی تی‌اف-آی‌دی‌اف|TF-IDF]] نیز برقرار است. زاویه بین دو بردار فراوانی واژه نمی‌تواند بیش از ۹۰ درجه باشد.

اگر بردارهای ویژگی با کم‌کردن میانگین بردار نرمال‌سازی شوند (برای نمونه <math>A - \bar{A}</math>)، این معیار '''شباهت کسینوسی مرکز‌شده''' نامیده می‌شود و معادل [[ضریب همبستگی پیرسون]] است. برای نمونه‌ای از مرکزسازی:
:<math>\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,</math>
:<math>
\text{ so } A-\bar{A}= \left[\frac{(A_1-A_2)}{2},\frac{(-A_1+A_2)}{2}\right]^T.
</math>

=== فاصله کسینوسی ===
اگر فاصله میان دو بردار با طول واحد، به صورت طول تفاضل برداری آن‌ها تعریف شود، با نگاه ریاضیاتی خواهیم داشت:<math display="block">\operatorname{dist}(\mathbf A, \mathbf B)
= \sqrt{(\mathbf A - \mathbf B) \cdot (\mathbf A - \mathbf B)}
= \sqrt{\mathbf A \cdot \mathbf A -2(\mathbf A \cdot \mathbf B) + \mathbf B \cdot \mathbf B}
= \sqrt{2(1-S_C(\mathbf A, \mathbf B))},.</math>با این حال، '''فاصله کسینوسی''' اغلب بدون ریشه دوم یا ضریب ۲ تعریف می‌شود:
: <math> \text{cosine distance} = D_C(A,B) := 1 - S_C(A,B),.</math>
توجه شود که به دلیل متناسب بودن با مربع فاصله اقلیدسی، فاصله کسینوسی یک [[فضای متری|متریک فاصله]] واقعی نیست. زیرا خاصیت [[نابرابری مثلثی]]، یا به صورت رسمی‌تر، [[نابرابری کوشی–شوارتز]]، را ارضا نمی‌کند و اصل هم‌مکانی را نقض می‌کند. برای ترمیم خاصیت نابرابری مثلثی در حالی که ترتیب مقایسه‌ها حفظ شود، می‌توان آن را به [[شباهت کسینوسی#فاصله اقلیدسی نرمال‌شده با L2|فاصله اقلیدسی]] <math display="inline">\sqrt{2(1- S_C(A,B))}</math> یا فاصله زاویه‌ای  تبدیل کرد. همچنین، نابرابری مثلثی‌ای که برای فاصله‌های زاویه‌ای برقرار است می‌تواند مستقیماً برحسب کسینوس‌ها بیان شود؛ برای این موضوع، [[شباهت کسینوسی#نابرابری مثلثی برای شباهت کسینوسی|بخش پایین]] را ببینید.

=== فاصله و شباهت زاویه‌ای  ===

زاویه نرمال‌شده میان هر دو بردار <math>A</math> و <math>B</math>، که با عنوان '''فاصله زاویه‌ای''' نیز شناخته می‌شود، یک [[فضای متری|متریک فاصله]] رسمی است و می‌توان آن را از روی شباهت کسینوسی محاسبه کرد. مکمل این متریک فاصله زاویه‌ای را می‌توان برای تعریف تابع '''شباهت زاویه‌ای''' به کار برد که در بازه ۰ تا ۱ (شامل دو کران) محدود است.

در حالتی که مؤلفه‌های بردار می‌توانند مثبت یا منفی باشند:
:<math>\text{angular distance} = D_{\theta} := \frac{ \arccos( \text{cosine similarity} ) }{ \pi } = \frac{\theta}{\pi}</math>
:<math>\text{angular similarity} = S_{\theta} := 1 - \text{angular distance} = 1 - \frac{\theta}{\pi}</math>
یا، اگر مؤلفه‌های بردار همواره مثبت باشند:
:<math>\text{angular distance} = D_{\theta} := \frac{ 2 \cdot \arccos( \text{cosine similarity} ) }{ \pi } = \frac{2\theta}{\pi}</math>
:<math>\text{angular similarity} = S_{\theta} := 1 - \text{angular distance} = 1 - \frac{2\theta}{\pi}</math>
متأسفانه، محاسبه تابع کسینوس معکوس () کند است و همین موضوع باعث می‌شود استفاده از فاصله زاویه‌ای از نظر محاسباتی پرهزینه‌تر از استفاده از فاصله کسینوسی متداول‌تر (اما غیرمتریک) که پیش‌تر معرفی شد، باشد.
=== فاصله اقلیدسی نرمال‌شده با L<sub>2</sub>  ===
یک تقریب مؤثر دیگر برای فاصله کسینوسی را می‌توان با [[نرم (ریاضیات)|نرمال‌سازی <math>L_2</math>]] بردارها و سپس به‌کارگیری [[فاصله اقلیدسی]] معمولی به‌دست آورد.***' در این روش، ابتدا هر مؤلفه در هر بردار، تقسیم بر بزرگی آن بردار (نُرم) می‌شود و در نتیجه برداری با طول واحد حاصل می‌گردد. سپس فاصله اقلیدسی میان نقاط انتهایی هر دو بردار، یک متریک صحیح را تشکیل می‌دهد که برای هر مقایسه بردارها، همان ترتیب فاصله‌ای فاصله کسینوسی را می‌دهد (این رابطه یک تبدیل یکنوا از فاصله اقلیدسی است. برای جزئیات بیشتر بخش پایین را ببینید) و افزون بر این، از عملیات مثلثاتی بالقوه پرهزینه‌ای که برای به‌دست‌آوردن یک متریک دقیق لازم است، اجتناب می‌کند.

پس از انجام نرمال‌سازی، فضای برداری بدست‌آمده را می‌توان با طیف کامل روش‌هایی که برای هر فضای اقلیدسی در دسترس هستند، به‌ویژه روش‌های استاندارد کاهش ابعاد، به کار گرفت. این نوع فاصله نرمال‌شده در بسیاری از الگوریتم‌های یادگیری عمیق به طور گسترده مورد استفاده قرار می‌گیرد.

### ضریب اوتسوکا–اوچیای
در زیست‌شناسی، مفهوم مشابهی با نام **ضریب اوتسوکا–اوچیای** وجود دارد که به افتخار یانو‌سوکه اوتسوکا  () و آکیرا اوچیای () نام‌گذاری شده است. این ضریب با نام‌های **ضریب اوچیای–بارکمن** یا صرفاً **ضریب اوچیای** نیز شناخته می‌شود. این ضریب را می‌توان به صورت زیر نمایش داد:
:K =\frac{\sqrt}
در این‌جا، A و B مجموعه هستند و |A| تعداد عناصر موجود در A را نشان می‌دهد. اگر مجموعه‌ها به صورت بردارهای بیتی نمایش داده شوند، ضریب اوتسوکا–اوچیای معادل شباهت کسینوسی خواهد بود. این ضریب با نمره‌ای که توسط گادفری تامسون معرفی شده است نیز یکسان است.

در یک کتاب نسبتاً جدید، این ضریب به طور موقت و نادرست به پژوهشگر ژاپنی دیگری با نام خانوادگی اوتسوکا نسبت داده شده است. این سردرگمی از آن‌جا ناشی می‌شود که در سال ۱۹۵۷، آکیرا اوچیای این ضریب را تنها به «اوتسوکا» (بدون ذکر نام کوچک) نسبت می‌دهد و در این کار به مقاله‌ای از ایکوسو هامای () استناد می‌کند. مقاله‌ای که به نوبه خود به مقاله اصلی سال ۱۹۳۶ یانو‌سوکه اوتسوکا ارجاع می‌دهد.
## ویژگی‌ها

مهم‌ترین ویژگی شباهت کسینوسی این است که مقایسه‌ای نسبی، نه مطلق، از ابعاد منفرد بردار ارائه می‌دهد. برای هر ثابت مثبت a و بردار V، دو بردار V و aV بیشترین شباهت ممکن را دارند. ازاین‌رو، این معیار بیش از همه برای داده‌هایی مناسب است که در آن‌ها فراوانی نسبت به مقادیر مطلق اهمیت بیشتری دارد؛ به‌ویژه فراوانی واژه‌ها در اسناد.

با این حال، معیارهای جدیدتری که ریشه در نظریه اطلاعات دارند، مانند واگرایی جنسن–شانون، SED و واگرایی مثلثی، نشان داده‌اند که دست‌کم در برخی زمینه‌ها، معناشناسی بهتری ارائه می‌دهند.

شباهت کسینوسی با فاصله اقلیدسی به صورت زیر مرتبط است. فاصله اقلیدسی را با نماد متداول |A - B| نشان می‌دهیم و توجه می‌کنیم که (همانی قطبی‌سازی):
:|A - B|^2 = (A - B) \cdot (A - B) = |A|^2 + |B|^2 - 2 (A \cdot 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.
فاصله اقلیدسی در این حالت «**فاصله وتر**»***' نامیده می‌شود (زیرا طول وتر روی دایره واحد است) و همان فاصله اقلیدسی میان بردارهایی است که به‌گونه‌ای نرمال‌سازی شده‌اند که مجموع مربعات مؤلفه‌های آن‌ها برابر با یک باشد.

'''توزیع صفر:''' برای داده‌هایی که می‌توانند هم منفی و هم مثبت باشند، [[توزیع صفر]] شباهت کسینوسی برابر با توزیع [[ضرب داخلی]] دو [[بردار واحد]] تصادفی و مستقل است. این توزیع دارای [[میانگین]] صفر و [[واریانس]] <math>1/n</math> (که در آن <math>n</math> تعداد ابعاد است) می‌باشد. با وجود آن که این توزیع میان −1 و +1 کران‌دار است، هرچه <math>n</math> بزرگ‌تر شود، این توزیع به طور فزاینده‌ای با [[توزیع نرمال]] تقریب زده می‌شود. برای انواع دیگر داده‌ها، مانند [[جریان بیت|جریان‌های بیتی]] که تنها مقادیر ۰ یا ۱ را می‌پذیرند، توزیع صفر شکل متفاوتی دارد و ممکن است دارای میانگین ناصفر باشد.




== نابرابری مثلثی برای شباهت کسینوسی == 

[[نابرابری مثلثی]] معمولی برای زاویه‌ها (یعنی طول کمان‌ها روی یک ابرکره واحد) به ما می‌گوید که:
:<math>|~\angle{AC} - \angle{CB}~| \le ~\angle{AB}~ \le ~\angle{AC}~ + ~\angle{CB}~.</math>
از آن‌جا که تابع کسینوس با افزایش زاویه در بازه  رادیان کاهش می‌یابد، هنگام گرفتن کسینوس از هر یک از این مقادیر، جهت این نابرابری‌ها معکوس می‌شود:
:<math>\cos(\angle{AC} - \angle{CB}) \ge \cos(\angle{AB}) \ge \cos(\angle{AC} + \angle{CB}).</math>
با استفاده از فرمول‌های جمع و تفریق کسینوس، این دو نابرابری را می‌توان برحسب کسینوس‌های اولیه به صورت زیر نوشت:
:<math>\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),</math>
:<math>\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)}.</math>
این شکل از نابرابری مثلثی را می‌توان برای کران‌بندی کمینه و بیشینه شباهت دو شیء A و B به کار برد، مشروط بر آن که شباهت هر یک از آن‌ها با یک شیء مرجع C از پیش معلوم باشد. از این ویژگی، برای مثال، در نمایه‌سازی داده‌های متریک استفاده می‌شود و همچنین برای شتاب‌بخشیدن به [[خوشه‌بندی کی-میانگین]] نیز به کار رفته است. این کاربرد دقیقاً به همان شیوه‌ای است که نابرابری مثلثی اقلیدسی برای شتاب‌بخشی به الگوریتم کی-میانگین معمولی استفاده شده است.

== معیار کسینوسی نرم ==
'''کسینوس نرم''' ***'یا («شباهت نرم») میان دو بردار، شباهت میان جفت‌های ویژگی را نیز در نظر می‌گیرد. شباهت کسینوسی سنتی، ویژگی‌های مدل فضای برداری را مستقل یا کاملاً متفاوت از یکدیگر در نظر می‌گیرد، در حالی که معیار کسینوسی نرم پیشنهاد می‌کند شباهت میان ویژگی‌ها در VSM نیز لحاظ شود؛ امری که به تعمیم مفهوم کسینوس (و کسینوس نرم) و همچنین ایده شباهت (نرم) کمک می‌کند.

برای نمونه، در حوزه پردازش زبان‌های طبیعی ، شباهت میان ویژگی‌ها امری بدیهی است. ویژگی‌هایی مانند واژه‌ها، ''ان''-گرام‌ها، یا *ان*-گرام‌های نحوی می‌توانند بسیار شبیه به یکدیگر باشند، هرچند که از نظر صوری به عنوان ویژگی‌های متفاوت در VSM در نظر گرفته می‌شوند. برای مثال، واژه‌های انگلیسی «play» و «game» دو واژه متفاوت هستند و بنابراین به نقاط متفاوتی در VSM نگاشته می‌شوند، اما از نظر معنایی با یکدیگر مرتبط‌اند. در مورد *ان*-گرام‌ها یا *ان*-گرام‌های نحوی، می‌توان از فاصله لون‌اشتاین استفاده کرد (در واقع فاصله لون‌اشتاین برای واژه‌ها نیز قابل اعمال است).

برای محاسبه کسینوس نرم، از ماتریس  استفاده می‌شود که میزان شباهت میان ویژگی‌ها را نشان می‌دهد. این ماتریس می‌تواند با استفاده از فاصله لون‌اشتاین، شباهت وردنت، یا سایر معیارهای شباهت محاسبه شود. در ادامه، کافی است این ماتریس در محاسبات ضرب شود.

اگر دو بردار a و b با بعد  داده شده باشند، شباهت کسینوسی نرم به صورت زیر محاسبه می‌شود:
:\begin{aligned}
\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}},
\\
s_ij=similarity(feature_\mathbf{i}, feature_\mathbf{j})
\end{aligned}
اگر هیچ شباهتی میان ویژگی‌ها وجود نداشته باشد ( و  برای )، معادله فوق معادل فرمول متداول شباهت کسینوسی خواهد بود.

پیچیدگی زمانی این معیار از مرتبه درجه دوم است، که آن را برای مسائل دنیای واقعی قابل استفاده می‌سازد. توجه داشته باشید که این پیچیدگی می‌تواند به کمتر از درجه دوم نیز کاهش یابد. یک پیاده‌سازی کارآمد از چنین شباهت کسینوسی نرمی در کتابخانه متن‌باز جنسیم گنجانده شده است.

## جستارهای وابسته

* ضریب سورنسن–دایس
* فاصله همینگ
* همبستگی و وابستگی
* اندیس ژاکار
* SimRank
* بازیابی اطلاعات

## یادداشت‌ها


## منابع

رده:فنون بازیابی اطلاعات
رده:معیارهای شباهت
رده:تحلیل داده