ป้ายกำกับหลายรายการในอัลกอริทึมการเรียนรู้แบบมีผู้สอน


10

ฉันมีคลังข้อความที่มีหัวข้อที่เกี่ยวข้อง ตัวอย่างและได้รับการระบุว่าเป็น"A rapper Tupac was shot in LA" ["celebrity", "murder"]ดังนั้นโดยทั่วไปคุณสมบัติแต่ละอย่างของเวกเตอร์สามารถมีป้ายกำกับได้หลายรายการ (ไม่เท่ากันเวกเตอร์คุณลักษณะแรกสามารถมีป้ายกำกับได้ 3 ป้ายคือที่สองที่ 1 ที่สามที่ 5)

หากฉันมีป้ายกำกับที่ตรงกับแต่ละข้อความฉันจะลองใช้ตัวจําแนกNaive Bayesแต่ฉันไม่ทราบว่าฉันควรดําเนินการต่อไปได้อย่างไรหากฉันมีฉลากได้หลายป้าย

มีวิธีใดที่จะเปลี่ยน Naive Bayes ให้เป็นปัญหาการจำแนกฉลากแบบหลายฉลาก (หากมีวิธีการที่ดีกว่า - โปรดแจ้งให้เราทราบ)

PSบางสิ่งเกี่ยวกับข้อมูลที่ฉันมี

  • ประมาณ 10.000 องค์ประกอบในชุดข้อมูล
  • ข้อความประมาณ 2-3 ประโยค
  • สูงสุด 7 ป้ายกำกับต่อข้อความ

@fordprefect พหุ Naive Bayes ใช้การกระจายพหุนามสำหรับความน่าจะเป็นของคุณลักษณะบางอย่างได้รับการเรียน:c) OP ต้องการตัวจําแนกเพื่อจัดการเอาต์พุตหลายตัวตามที่อธิบายไว้ใน TheGrimmScientist พี(ผม|)
Robert Smith

คำตอบ:


6

สำหรับผู้เริ่มต้น Naive Bayes อาจไม่เหมาะสมที่นี่ มันถือว่าเป็นอิสระในปัจจัยการผลิต (ดังนั้น "ไร้เดียงสา") และคำในประโยคจะขึ้นอยู่มาก

แต่สมมติว่าคุณต้องการใช้กับ NB เป็นอัลกอริทึมในการเริ่มต้นการทดสอบของคุณจริง ๆ มีสองตัวเลือกที่ฉันควรพิจารณา:

Ungraceful: ตัวแยกประเภท NB จำนวนมาก

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

เดียรัจฉานนี้บังคับให้แอปพลิเคชั่นตัวแยกประเภทของ NB เข้ากับข้อมูลของคุณและปล่อยให้คุณค้นหาความหมายโดยยังคงดึงดูดความสนใจของตัวแยกประเภทจำนวนมากที่คุณจะทิ้งไว้

สง่างามยิ่งขึ้น: ประมวลผลข้อมูลของคุณ

นี่คือวิธีที่ฉันแนะนำถ้าคุณต้องการใช้กับตัวแยกประเภท NB หลายคลาส

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

วิธีนี้โหลดการทำความสะอาดข้อมูลของคุณไว้ด้านหน้าและจะทำให้เอาต์พุตของตัวแยกประเภทของ NB ลักษณนามง่ายต่อการเข้าใจ


ขอบคุณสำหรับข้อมูลของคุณหากคุณมีความคิดว่าอะไรจะดีไปกว่านี้ NB โปรดแจ้งให้เราทราบ
Salvador Dali

1
ส่วน "การแก้ปัญหาที่มีอยู่" ของสไลด์เดอร์นี้เก็บทุกสิ่งที่ฉันรู้ว่าจะตอบพร้อมอีกมาก (ถ้าคุณไม่ต้องการตัวจําแนกเฉพาะและต้องการวิธีใช้แท็ก) ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ
TheGrimmScientist

@TheGrimmScientist มันจะไม่สมเหตุสมผลที่จะใช้วิธีแรกหรือไม่ หากคุณมีเวกเตอร์ของฟีเจอร์ f1, f2, f3 และสมมุติว่า 3 ป้ายสำหรับเวกเตอร์นี้เราสามารถแบ่งพาร์ติชันนั้นออกเป็น 3 เวกเตอร์ (ทั้งหมดมีฟีเจอร์เดียวกัน f1, f2, f3) ที่มีเลเบลต่างกัน จากนั้นก็เป็นไปได้ที่จะใช้ Naive Bayes ตามปกติ ฉันไม่แน่ใจว่าเป็นสิ่งที่คุณมีในใจ
Robert Smith
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.