Độ tương đồng cosine là gì?
Độ tương đồng cosine cho biết hai vectơ hướng về cùng một phía gần nhau đến mức nào. Đây chính là cosin của góc giữa hai vectơ, dao động từ −1 (ngược chiều hoàn toàn), qua 0 (vuông góc), đến 1 (cùng hướng tuyệt đối). Vì chỉ phụ thuộc vào hướng chứ không phụ thuộc độ lớn, độ tương đồng cosine được dùng rộng rãi trong học máy, khai phá văn bản và hệ thống gợi ý để so sánh tài liệu, vectơ nhúng (embedding) và các vectơ đặc trưng.
Cách sử dụng công cụ
Hãy nhập các thành phần x, y và (tùy chọn) z của Vectơ A và Vectơ B. Nếu muốn làm việc trong không gian hai chiều, bạn chỉ cần để trống ô z hoặc nhập giá trị 0. Công cụ sẽ trả về độ tương đồng cosine cùng với tích vô hướng, độ lớn của từng vectơ và góc giữa hai vectơ tính theo cả độ lẫn radian.
Giải thích công thức
Tích vô hướng là tổng các tích của các thành phần tương ứng: $$\vec{a}\cdot\vec{b} = a_x b_x + a_y b_y + a_z b_z$$ Độ lớn của một vectơ là căn bậc hai của tổng bình phương các thành phần: $$\lVert\vec{a}\rVert = \sqrt{a_x^{2} + a_y^{2} + a_z^{2}}$$ Khi chia tích vô hướng cho tích của hai độ lớn, kết quả được chuẩn hóa về khoảng từ −1 đến 1, chính là cosin của góc \(\theta\). Lấy hàm cosin ngược (arccos) sẽ tìm lại được giá trị của góc đó.
$$\cos\theta = \frac{\vec{A}\cdot\vec{B}}{\lVert\vec{A}\rVert\,\lVert\vec{B}\rVert}$$
Ví dụ minh họa
Lấy A = (1, 2, 3) và B = (4, 5, 6). Tích vô hướng bằng \(1\cdot 4 + 2\cdot 5 + 3\cdot 6 = 4 + 10 + 18 = 32\). Độ lớn lần lượt là \(\lVert A\rVert = \sqrt{1+4+9} = \sqrt{14} \approx 3{,}7417\) và \(\lVert B\rVert = \sqrt{16+25+36} = \sqrt{77} \approx 8{,}7750\). Vậy \(\cos\theta = 32 / (3{,}7417 \times 8{,}7750) \approx 0{,}9746\), tương ứng với góc khoảng 12,93°.
Câu hỏi thường gặp
Độ tương đồng cosine bằng 0 nghĩa là gì? Hai vectơ vuông góc với nhau, tạo góc 90°, tức là không có sự tương đồng nào về hướng.
Kết quả có thể âm không? Có. Giá trị âm cho thấy hai vectơ hướng về phía gần như đối nghịch nhau; giá trị −1 nghĩa là chúng hoàn toàn ngược chiều.
Cách này khác gì so với khoảng cách Euclid? Độ tương đồng cosine bỏ qua độ lớn và chỉ so sánh về hướng, trong khi khoảng cách Euclid đo khoảng cách đường thẳng giữa hai điểm đầu mút của vectơ.