Kết nối qua MCP →

Nhập phép tính

Công thức

Quảng cáo

Kết quả

Độ tương đồng cosine
0,974632
khoảng từ −1 đến 1
Tích vô hướng (A·B) 32
Độ lớn |A| 3,741657
Độ lớn |B| 8,774964
Góc giữa hai vector 12,93°
Số chiều được sử dụng 3

Độ tương đồng cosine là gì?

Độ tương đồng cosine đo mức độ giống nhau giữa hai vector dựa trên góc giữa chúng thay vì độ lớn. Kết quả nằm trong khoảng từ −1 đến 1: giá trị 1 nghĩa là hai vector cùng hướng hoàn toàn, 0 nghĩa là chúng vuông góc (không liên quan), còn −1 nghĩa là chúng hướng ngược nhau. Phương pháp này được dùng rất phổ biến trong khai phá văn bản, hệ thống gợi ý, truy hồi thông tin và học máy để so sánh tài liệu, vector embedding hay vector đặc trưng.

Hai vectơ chung một gốc với góc theta giữa chúng
Độ tương tự cosine đo góc θ giữa hai vectơ, bỏ qua độ lớn của chúng.

Cách sử dụng công cụ

Bạn hãy nhập các thành phần của Vector A và Vector B dưới dạng các số cách nhau bằng dấu phẩy. Hai vector cần có cùng số chiều (nếu khác nhau, công cụ sẽ lấy theo độ dài của vector ngắn hơn). Nhấn nút tính toán để xem độ tương đồng cosine, tích vô hướng, độ lớn của từng vector và góc giữa hai vector tính theo độ.

Giải thích công thức

Độ tương đồng cosine bằng tích vô hướng của hai vector chia cho tích các chuẩn Euclid (độ lớn) của chúng:

$$\cos\theta = \frac{\vec{A} \cdot \vec{B}}{\lVert \vec{A} \rVert \, \lVert \vec{B} \rVert} = \frac{\sum_{i=1}^{n} A_i B_i}{\sqrt{\sum_{i=1}^{n} A_i^{2}} \; \sqrt{\sum_{i=1}^{n} B_i^{2}}}$$

Tích vô hướng \(\vec{A} \cdot \vec{B}\) là tổng các tích của từng cặp phần tử tương ứng. Độ lớn \(\lVert \vec{A} \rVert\) là căn bậc hai của tổng bình phương các thành phần. Việc chia cho độ lớn giúp chuẩn hóa kết quả, để nó chỉ phụ thuộc vào hướng chứ không phụ thuộc vào độ dài.

Quảng cáo
Sơ đồ các thành phần của công thức độ tương tự cosine: tích vô hướng chia cho tích độ lớn
Công thức chia tích vô hướng của A và B cho tích độ lớn của chúng.

Ví dụ minh họa

Giả sử A = [1, 2, 3] và B = [4, 5, 6]. Tích vô hướng là \(1\cdot4 + 2\cdot5 + 3\cdot6 = 4 + 10 + 18 = 32\). Độ lớn của A là \(\sqrt{1+4+9} = \sqrt{14} \approx 3{,}7417\), còn của B là \(\sqrt{16+25+36} = \sqrt{77} \approx 8{,}7750\). Vậy $$\cos\theta = \frac{32}{3{,}7417 \times 8{,}7750} \approx \frac{32}{32{,}8329} \approx 0{,}9746,$$ tương ứng với góc khoảng 12,93°.

Câu hỏi thường gặp

Kết quả có thể âm không? Có. Nếu hai vector hướng gần như ngược nhau thì độ tương đồng cosine sẽ âm, và đạt −1 khi chúng ngược chiều hoàn toàn.

Nếu hai vector có số chiều khác nhau thì sao? Công cụ chỉ so sánh phần các chiều trùng nhau (theo độ dài của vector ngắn hơn). Để có kết quả có ý nghĩa, bạn nên dùng các vector cùng số chiều.

Độ tương đồng cosine khác gì so với khoảng cách Euclid? Độ tương đồng cosine bỏ qua độ lớn và chỉ quan tâm đến hướng, nên hai vector cùng hướng vẫn được coi là hoàn toàn giống nhau dù một vector dài hơn nhiều.

Cập nhật lần cuối: