Liệu nó có ý nghĩa để đo lường thu hồi trong các hệ thống đề xuất?


8

Giả sử tôi đã xây dựng một hệ thống đề xuất rằng (được cho là xếp hạng phim hoặc bất kỳ người dùng nào) sẽ tạo ra một danh sách 10 phim được đề xuất cho mỗi người dùng để xem. Hãy tưởng tượng rằng tôi cũng có một số lượng lớn các mục phim, cùng với nhật ký xếp hạng của người dùng cùng với các phim mà họ thực sự quyết định xem. Vì vậy, tôi muốn sử dụng bộ dữ liệu này để đánh giá hệ thống của mình.

Trong tài liệu tôi đã thấy rằng các nhiệm vụ "đề xuất một số mặt hàng tốt" này thường được đánh giá bằng cách sử dụng độ chính xác, thu hồi và điểm F1 (ví dụ: xem [1] ). Tôi đoán rằng tôi nên quan tâm, đặc biệt, về "độ chính xác ở mức 10". Tuy nhiên tôi không chắc chắn làm thế nào người ta phải tính toán các biện pháp này (hoặc nếu chúng có ý nghĩa gì) trong kịch bản mà tôi đã mô tả ở trên.

Rõ ràng, điều cần làm là chia ngẫu nhiên mẫu thành một phần "đào tạo" và một phần "thử nghiệm". Và sau đó cung cấp dữ liệu đào tạo cho thuật toán của tôi để nó có thể đưa ra danh sách 10 dự đoán.

Bây giờ chính xác là hợp lý, tôi có thể kiểm tra từ 10 dự đoán có bao nhiêu trong số này thực sự được tìm thấy trong các bộ phim được người dùng xem trong dữ liệu thử nghiệm.

Tuy nhiên, để nhớ lại, nếu người dùng đã xem rất nhiều phim trong dữ liệu thử nghiệm, hãy nói 50 hoặc hơn; không có cách nào để đạt được điểm thu hồi "tốt", đơn giản là vì hệ thống của tôi bị hạn chế chỉ sản xuất 10 phim và tôi sẽ nhận được tối đa 1/5 = 0,2 lần thu hồi.

Ngoài ra, nếu tôi chỉ kiểm tra thử để đoán phim "10 lần xem tiếp theo" của người dùng (để có cơ hội nhận được "thu hồi hoàn hảo"), thì độ chính xác và thu hồi sẽ luôn chính xác như nhau (nếu số được đề xuất và số liên quan cho người dùng là như nhau, độ chính xác và thu hồi cũng luôn giống nhau).

Tôi có làm điều gì sai? Hoặc những số liệu này chỉ đơn giản là không có ý nghĩa nhiều trong kịch bản được xem xét?

Câu trả lời:


7

Trong trường hợp hệ thống đề xuất "top-N", sẽ rất hữu ích khi xây dựng bộ dữ liệu thử nghiệm "không thiên vị" (ví dụ: bằng cách thêm một nghìn phim chưa xem / chưa được đánh dấu ngẫu nhiên vào danh sách phim đã xem từ bộ dữ liệu bị giữ cho một người dùng nhất định ) và sau đó chấm điểm tập dữ liệu thử nghiệm kết quả bằng mô hình. Khi nó được thực hiện cho một nhóm người dùng, người ta có thể tính toán đường cong "chính xác so với thu hồi" và đường cong "gọi lại tại N so với N" (cũng như độ nhạy / độ đặc hiệu và đường cong nâng) có thể được sử dụng để đánh giá chất lượng của một mô hình nhất định. Bài viết này, Hiệu suất của các thuật toán giới thiệu về các nhiệm vụ đề xuất Top-N của Cremonesi và cộng sự, có nhiều chi tiết hơn.

Nếu một mô hình nhất định bao gồm động lực thời gian thì việc phân chia giữa đào tạo và kiểm tra nên được thực hiện theo chiều thời gian (không hoàn toàn ngẫu nhiên)


nó bị hỏng liên kết
ldmtwo

0

Hầu hết thời gian thu hồi không tạo ra kết quả có thể được đánh giá theo thuật ngữ tuyệt đối. Bạn nên sử dụng giá trị thu hồi để đánh giá một thuật toán đối với thuật toán khác.

Nếu một thuật toán A có giá trị thu hồi là 0,2 (như trong ví dụ của bạn) thì rất khó để hiểu giá trị này có nghĩa là gì. Tuy nhiên, nếu thuật toán B khác có giá trị thu hồi là 0,15 (được đưa ra cùng một thiết lập thử nghiệm) thì bạn có thể kết luận rằng thuật toán A có hiệu suất tốt hơn thuật toán B đối với việc thu hồi.

Có nghĩa là Lỗi tuyệt đối (MAE) không như thế này, nó có thể được giải thích bằng chính nó.

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.