อัลกอริทึมการเรียนรู้ของเครื่องเพื่อการจัดอันดับ


10

ฉันมีชุดขององค์ประกอบ X ซึ่งฉันสามารถอธิบายตาม nลักษณะเฉพาะ. ดังนั้น:

xi:{ci1,ci2,,cin}xiX

ที่ไหน cij เป็นการประเมิน (ตัวเลข) สำหรับองค์ประกอบ i ตามลักษณะ j. ดังนั้นองค์ประกอบของฉันสามารถดูได้เป็นคะแนนในn พื้นที่มิติ

จากการอ่านของฉันมีอัลกอริทึมเช่น "ตัวแยกประเภทเบย์" ซึ่งสามารถให้คำตอบประเภท "ใช่" หรือ "ไม่" ในองค์ประกอบใด ๆ ของชุดของฉันหากว่าฉันใช้ "ชุดฝึกอบรม" ซึ่งประกอบด้วย องค์ประกอบของชุดของฉันและผลลัพธ์ที่คาดหวังของอัลกอริทึม จากข้อมูลนั้นอัลกอริทึมควรสามารถใช้องค์ประกอบอื่น ๆ ไม่ใช่ส่วนหนึ่งของชุดการฝึกอบรมและให้คำตอบ "ใช่" หรือ "ไม่" ตามสิ่งที่เรียนรู้ด้วยชุดฝึกอบรม นี่เป็นสิ่งที่ดีถ้าคุณมีความคิดบางอย่างเกี่ยวกับสิ่งที่คุณคาดหวัง (ชุดฝึกอบรม) แต่คุณไม่แน่ใจเกี่ยวกับกฎเฉพาะที่ให้ผลตามนั้น

สิ่งที่ฉันต้องการจะทำกับข้อมูลของฉันไม่ได้รับคำตอบประเภท "ใช่" หรือ "ไม่" แต่ฉันอยากจะแนะนำการจัดอันดับภายในองค์ประกอบ บางคนก็ "ดีกว่า" กว่าคนอื่น เช่นเดียวกับตัวกรอง Bayes ฉันมีความคิดทั่วไปเกี่ยวกับสิ่งที่ฉันคาดหวัง ดังนั้นฉันสามารถสร้าง "การจัดอันดับการฝึกอบรม" ที่นำมาจากชุดย่อยขององค์ประกอบของฉันซึ่งฉันจะป้อนเข้าสู่ MLA จากการฝึกอบรมนั้นฉันจะสามารถจัดลำดับฉากทั้งหมดของฉันได้

เพื่อที่จะทำอย่างนั้นฉันเห็นสองแนวทาง:

  1. แต่ละองค์ประกอบจะได้รับคะแนนจาก MLA จากนั้นจัดอันดับองค์ประกอบตามคะแนน
  2. MLA จะสามารถใช้สององค์ประกอบ xi และ xjและกำหนดว่าใครจะดีกว่า (การเปรียบเทียบแบบคู่) ใช้ quicksort โดยใช้การเปรียบเทียบ

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

มีตัวอย่างของ MLA ที่สามารถให้ฟังก์ชันการให้คะแนนหรือฟังก์ชันการเปรียบเทียบแบบคู่ได้หรือไม่

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

ดังนั้นปัจจุบันกระบวนการออกแบบของฉันคือ:

  1. รับทราบว่าการจัดอันดับที่สมบูรณ์แบบจะเป็นอย่างไร
  2. ลอง (ด้วยตนเอง) รับอัลกอริทึมที่จะจัดอันดับรายการเช่นนั้น
  3. สังเกตผลลัพธ์
  4. ปรับอัลกอริทึม

ดังนั้นฉันคิดเกี่ยวกับ MLA ตั้งแต่จุดเริ่มต้นของกระบวนการของฉันคือสิ่งที่สามารถใช้เป็นข้อมูลการฝึกอบรม ฉันอาจจะเริ่มต้นด้วยการจัดอันดับปัจจุบันสลับรายการตามความต้องการของฉันและฟีดที่

คำตอบ:


3

อัลกอริทึมการจำแนกประเภทจำนวนมากทำสิ่งที่คุณต้องการอยู่แล้ว แต่มักจะนำเสนอคำตอบให้กับผู้ใช้ในรูปแบบของการตัดสินไบนารี (หรือ n-way) ตัวอย่างเช่นSVMLightเป็นการใช้งานของอัลกอริทึมการจำแนกประเภทเวกเตอร์เครื่องสนับสนุน; คนทั่วไปใช้สิ่งนี้เพื่อทำการตัดสินใจไบนารีในชุดข้อมูลบางอย่าง อย่างไรก็ตามสิ่งที่เกิดขึ้นภายใต้ประทุนคืออัลกอริธึมกำลังกำหนดคำตัดสินความเชื่อมั่นที่ลงนามให้กับข้อมูล สิ่งเหล่านี้มีความผูกพันระหว่าง -1.0 และ 1.0 และเป็นสิ่งที่คุณควรใช้ในการจัดอันดับข้อมูลของคุณ!


2

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


0

ฉันคิดว่าคุณคาดหวังมากเกินไปจากอัลกอริทึมการเรียนรู้ของเครื่อง คอมพิวเตอร์ไม่สามารถตัดสินใจได้ว่ารายการ 1 ดีกว่ารายการ 2 ด้วยตนเองหรือไม่ สิ่งที่อัลกอริทึมการเรียนรู้ของเครื่องสามารถทำได้คือถ้าคุณยกตัวอย่างบางส่วนที่คุณให้คะแนนบางรายการ 1 ให้ดีกว่ารายการ 2 จากนั้นคุณสามารถเรียนรู้การจัดอันดับรายการ [1] แต่คุณยังคงต้องการข้อมูลการฝึกอบรมที่คุณให้ตัวอย่างของรายการและข้อมูลว่าไอเท็ม 1 มากกว่าไอเท็ม 2 สำหรับทุกรายการในข้อมูลการฝึกอบรมหรือไม่

[1] http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html


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