Giá trị của trường không được xếp hạng khi tìm thấy độ tương tự cosin


8

Tôi đang làm việc trên một hệ thống giới thiệu sách rất cơ bản. Tôi muốn biết phải làm gì với các trường không được người dùng xếp hạng khi tìm thấy độ tương tự cosin, chúng ta nên bỏ qua chúng và chỉ tính toán với các trường được xếp hạng hoặc chúng ta nên đánh dấu chúng 0.

Các cuốn sách tôi sau nói để loại trừ các lĩnh vực vì nó sẽ cung cấp cho việc giải thích sai trong trường hợp của Euclide và Pearson Correlation nhưng trong trường hợp của Cosine tương đồng, nó làm cho tất cả các lĩnh vực phi đánh giá 0.

Ai đó có thể giải thích lý do tại sao cần phải làm cho các trường không được xếp hạng thành 0 chỉ cho Cosine chứ không phải cho những người khác hoặc có một cách khác để làm điều đó. (Tôi biết cách tạo các trường 0 trong Euclid và Pearson ảnh hưởng đến đầu ra nhưng không chắc chắn về cosin)


Bạn có thể xem câu hỏi này trên stackoverflow để hiểu rõ hơn về điều này.
janpreet singh

Câu trả lời một phần trả lời câu hỏi vì nó cho thấy việc giữ các mục không được xếp hạng là 0 chắc chắn sẽ ảnh hưởng đến sự tương tự tương ứng. Cái nào có thể (hoặc không) được sử dụng trong thuật toán cho công cụ đề xuất
janpreet singh

Bạn đã thử bình thường hóa?
Valentin Calomme

Câu trả lời:


1

Về phía thực hiện, có một lý do chính đáng để làm cho 0 tương ứng với không được xếp hạng. Vì hầu hết người dùng chưa xếp hạng hầu hết các sách, 0 sẽ là giá trị phổ biến nhất và hàm tương tự cosine có thể sử dụng ma trận thưa thớt trong nội bộ để tăng tốc tính toán. Phím tắt ma trận thưa thớt là lý do chính tại sao mọi người sử dụng sự tương tự cosine ở nơi đầu tiên.

Mặt khác, nó sẽ loại bỏ các đề xuất của bạn nếu thuật toán diễn giải 0 gần với 1 hơn 2. Bạn cần cố tình bỏ qua những đề xuất đó, nhưng bạn có thể dễ dàng thực hiện điều đó trong triển khai tương tự cosine của mình thay vì lọc dữ liệu trước khi áp dụng nó.


1. Vì vậy, theo câu trả lời của bạn, làm theo bất cứ điều gì không nên ảnh hưởng đến kết quả?
divyum

0

Xem xét cách tính tương tự cosine .

Sự giống nhau của Cosine lấy sản phẩm chấm của hai vectơ thực và chia giá trị này cho tích của độ lớn của chúng. Theo nhận dạng sản phẩm chấm Euclide, giá trị này bằng cosin của góc giữa hai vectơ. Kết quả cuối cùng là giá trị từ 1 đến -1.

Khi giá trị là 1, các vectơ đó chỉ theo cùng một hướng. Khi giá trị là -1, các vectơ chỉ chính xác theo hướng ngược lại (cái này là phủ định của cái kia). Khi giá trị bằng 0, các vectơ vuông góc với nhau; nói cách khác, khi giá trị bằng 0, hai vectơ này không giống nhau trong không gian tính năng như có thể nhận được.

Sản phẩm chấm là tổng của tất cả các sản phẩm nguyên tố của hai vectơ của bạn. Những con số đó càng lớn, chúng càng góp phần tạo nên sự tương đồng cosin.

Bây giờ, có bất kỳ tính năng trong vector của bạn. Thứ năm, nói. Nếu bạn đặt giá trị này thành 0 trong một trong các vectơ của mình, phần tử thứ năm trong sản phẩm phần tử thông minh của hai vectơ cũng sẽ bằng 0, bất kể giá trị của nó trong vectơ kia. Khi bạn tổng hợp tất cả các sản phẩm có yếu tố khôn ngoan này, yếu tố thứ năm sẽ không có bất kỳ tác động nào đến việc tổng kết. Kết quả là, đặt một giá trị trong vectơ đặc trưng của bạn thành 0 có nghĩa là nó không đóng góp gì cho sự tương tự cosin.

Đây là lý do tại sao việc đặt giá trị về 0 trong một vectơ đặc trưng tương đương với việc không bao gồm tính năng này trong tính toán độ tương tự cosin và không làm biến dạng độ tương tự cosine.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.