วิธีเปรียบเทียบอัลกอริทึมการจัดอันดับสองรายการ


12

ฉันต้องการเปรียบเทียบอัลกอริทึมการจัดอันดับสองรายการ ในอัลกอริทึมเหล่านี้ลูกค้าระบุเงื่อนไขบางอย่างในการค้นหาของเขา / เธอ ตามความต้องการของลูกค้าอัลกอริทึมเหล่านี้ควรกำหนดคะแนนสำหรับแต่ละรายการในฐานข้อมูลและดึงรายการที่มีคะแนนสูงสุด

ฉันได้อ่านหัวข้อต่าง ๆ ที่เกี่ยวข้องกับคำถามของฉันในเว็บไซต์นี้และค้นหาสุทธิ จากการค้นหาของฉันบทความที่เกี่ยวข้องที่สุดซึ่งอธิบายเกี่ยวกับตัวชี้วัดบางอย่างสำหรับการเปรียบเทียบอัลกอริทึมการจัดอันดับคือ: Brian McFee และ Gert RG Lanckriet, Metric Learning to Rank, ICML 2010 ( https://bmcfee.github.io/papers/mlr) .pdf ) ฉันคิดว่า prec @ k, MAP, MRR และ NDCG เป็นตัวชี้วัดที่ดีที่จะใช้ แต่ฉันมีปัญหา:

อัลกอริทึมของฉันเรียงลำดับผลลัพธ์ดังนั้นรายการแรกในรายการผลลัพธ์ของฉันคือรายการที่ดีที่สุดที่มีคะแนนสูงสุดผลที่สองมีคะแนนสูงสุดอันดับสองและอื่น ๆ ฉัน จำกัด อัลกอริทึมการค้นหาของฉันไว้ที่ตัวอย่างเช่นค้นหา 5 ผลลัพธ์ที่ดีที่สุดผลลัพธ์คือรายการที่ติดอันดับสูงสุด 5 ดังนั้นความแม่นยำจะเป็น 1 เมื่อฉัน จำกัด การค้นหาของฉันเพื่อค้นหาผลลัพธ์ที่ดีที่สุดมันจะพบสิ่งที่ดีที่สุด อีกครั้งความแม่นยำจะเป็น 1. แต่ปัญหาคือมันไม่เป็นที่ยอมรับสำหรับผู้ที่เห็นผลลัพธ์นี้

ฉันควรทำอย่างไร ฉันจะเปรียบเทียบอัลกอริธึมเหล่านี้ได้อย่างไรและแสดงให้เห็นว่าดีกว่าอีกอันหนึ่ง

คำตอบ:


6

ลดยอดสะสม (DCG)เป็นหนึ่งในตัวชี้วัดที่ได้รับความนิยมมากที่สุดที่ใช้สำหรับการประเมินการจัดอันดับโดยเครื่องมือค้นหาใด ๆ เป็นการวัดคุณภาพการจัดอันดับ ในการดึงข้อมูลมักใช้เพื่อวัดประสิทธิภาพของเครื่องมือค้นหาเว็บ

มันขึ้นอยู่กับสมมติฐานดังต่อไปนี้:

  1. เอกสารที่มีความเกี่ยวข้องสูงมีประโยชน์มากขึ้นหากปรากฏก่อนหน้านี้ในผลการค้นหา
  2. เอกสารที่เกี่ยวข้องสูงมีประโยชน์มากกว่าเอกสารที่เกี่ยวข้องเล็กน้อยซึ่งดีกว่าเอกสารที่ไม่เกี่ยวข้อง

สูตรสำหรับ DCG มีดังนี้:

(1)DCGp=i=1prelilog2(i+1)=rel1+i=2prelilog2(i+1)

ที่ไหน:

  • i คือตำแหน่งที่ส่งคืนของเอกสารในผลการค้นหา
  • reliเป็นระดับความเกี่ยวข้องของเอกสาร
  • ผลรวมของ p (จำนวนผลลัพธ์ที่ส่งคืน) ดังนั้นกำไรสะสมสะสมจะให้ตัวชี้วัดประสิทธิภาพของผลลัพธ์ที่ส่งคืน

DCG มาจากCG (กำไรสะสม) ที่ได้รับจาก:

(2)CGp=i=1preli

จาก (2) จะเห็นได้ว่าไม่เปลี่ยนแปลงสำหรับการเปลี่ยนแปลงในลำดับของผลลัพธ์ ดังนั้นเพื่อที่จะเอาชนะปัญหานี้ DCG ถูกนำมาใช้ DCG มีรูปแบบที่แตกต่างกันซึ่งเป็นที่นิยมสำหรับการเน้นที่สูงมากในการดึงเอกสาร DCG รุ่นนี้มอบให้โดย:CGp

(3)DCGp=i=1p2reli1log2(i+1)

ข้อเสียเปรียบอย่างหนึ่งที่ชัดเจนของสมการ DCG ที่นำเสนอใน (1) และ (3) คืออัลกอริธึมที่ส่งคืนผลลัพธ์ที่แตกต่างจำนวนมากไม่สามารถเปรียบเทียบได้อย่างมีประสิทธิภาพ นี่เป็นเพราะยิ่งค่าของสูงขึ้นค่าของก็จะยิ่งใหญ่ขึ้นpDCGp

เพื่อแก้ไขปัญหานี้เราขอเสนอDCG ปกติ (nDCG) มันได้รับจาก

nDCGp=DCGpIDCGp

โดยที่คือ IdealกำหนดโดยIDCGpDCGp

IDCGp=i=1|REL|2reli1log2(i+1)

ที่ไหน | REL | คือรายการเอกสารที่เรียงลำดับตามความเกี่ยวข้องในคลังข้อมูลจนถึงตำแหน่ง p

สำหรับอัลกอริทึมการจัดอันดับที่สมบูรณ์แบบ

DCGp=IDCGp

เนื่องจากค่าของ nDCG ถูกปรับอัตราส่วนภายในช่วง [0,1] การเปรียบเทียบข้ามแบบสอบถามจึงเป็นไปได้โดยใช้เมตริกเหล่านี้

ข้อเสีย: 1. nDCG ไม่ลงโทษการเรียกเอกสารที่ไม่ดีในผลลัพธ์ สิ่งนี้สามารถแก้ไขได้โดยการปรับค่าความเกี่ยวข้องที่เกี่ยวข้องกับเอกสาร 2. nDCG ไม่ลงโทษเอกสารที่หายไป สามารถแก้ไขได้โดยกำหนดขนาดการดึงข้อมูลและใช้คะแนนขั้นต่ำสำหรับเอกสารที่หายไป

อ้างอิงสิ่งนี้เพื่อดูตัวอย่างการคำนวณของ nDCG

การอ้างอิง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.