đo độ giống nhau giữa các vectơ của không gian tích vô hướng
**Độ tương tự cosin** là một cách đo độ tương tự (measure of similarity) giữa hai vectơ khác không của một không gian tích vô hướng. Độ tương tự này được định nghĩa bằng giá trị cosine của góc giữa hai vectơ, và cũng là tích vô hướng của cùng các vectơ đơn vị để cả hai đều có chiều dài 1. Giá trị cosine của 0° là 1, và bé hơn 1 với bất kỳ góc nào trong khoảng các radian (0, π].

Độ tương tự cosin là một thẩm định có tính định hướng chứ không phải về độ lớn (to nhỏ): hai vectơ cùng hướng có độ tương tự cosin là 1, hai vectơ vuông góc nhau (hay có hướng 90°) có độ tương tự là 0, và hai vectơ đối nhau theo đường kính có độ tương tự (hay 180°) là -1. Độ tương tự cosin đặc biệt được sử dụng trong không gian dương với kết quả được giới hạn chặt chẽ trong biên độ {\displaystyle [0,1]}. Cái tên "độ tương tự cosin" bắt nguồn từ thuật ngữ "cosin có hướng": trong trường hợp này, các vectơ đơn vị có độ "tương tự" tối đa nếu chúng song song và "khác nhau" cực đại nếu chúng là trực giao (vuông góc). Điều này tương tự với cosin, có giá trị lớn nhất khi các phân đoạn tạo thành một góc bằng 0, và giá trị bằng 0 (không liên quan) khi các đoạn thẳng vuông góc.

Định nghĩa
----------

Cosine của hai vectơ khác không được suy ra bằng cách sử dụng công thức tích vô hướng Euclid:

{\displaystyle \mathbf {A} \cdot \mathbf {B} =\left\|\mathbf {A} \right\|\left\|\mathbf {B} \right\|\cos \theta }
Cho hai vectơ chứa các thuộc tính, *A* và *B*, độ tương tự cosine, cos(θ), được thể hiện bằng tích vô hướng và độ lớn là

{\displaystyle {\text{similarity}}=\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}}}}}},}
với {\displaystyle A\_{i}} và {\displaystyle B\_{i}} là thành phần của vectơ A và B tương ứng.

Độ tương tự có giá trị −1 có nghĩa là trái nghĩa hoàn toàn, với giá trị 1 nghĩa là giống nhau hoàn toàn, với 0 có nghĩa là trực giao hay tương quan (decorrelation), trong khi các giá trị ở giữa biểu thị sự giống nhau hoặc không giống nhau ở mức trung gian.

Đối với so khớp chuỗi xấp xỉ (approximate string matching), các vectơ thuộc tính *A* và *B* thường là các vectơ tf–idf của các tài liệu. Độ tương tự cosine có thể xem là một phương thức bình thường hóa độ dài tài liệu trong quá trình so sánh.

Trong trường hợp truy hồi thông tin, độ tương tự cosine của hai tài liệu sẽ từ 0 đến 1, do các tần số thuật ngữ (dùng các trọng lượng tf-idf) không thể là giá trị âm. Do đó, góc giữa các vectơ tần số thuật ngữ không thể lớn hơn 90°.

Nếu các vectơ thuộc tính được chuẩn hóa (bình thường hóa) bằng cách trừ đi bình quân của vectơ (ví dụ, {\displaystyle A-{\bar {A}}}), phép đo được gọi là độ tương tự cosin ở tâm (centered) và tương đương với hệ số tương quan Pearson (Pearson correlation coefficient). Ví dụ về cách định tâm, {\displaystyle {\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}.}

Xem thêm
--------

* Hệ số Sørensen–Dice
* Khoảng cách Hamming
* Hệ số tương quan
* Chỉ số Jaccard
* SimRank
* Truy hồi thông tin

Tham khảo
---------

1. ↑  What is Cosine Similarity?, DeepAI.org

Liên kết ngoài
--------------

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