การจำแนกลำดับเวกเตอร์


9

ชุดข้อมูลของฉันประกอบด้วยลำดับเวกเตอร์ แต่ละเวกเตอร์มี 50 มิติของมูลค่าที่แท้จริง จำนวนเวกเตอร์ในลำดับอยู่ระหว่าง 3-5 ถึง 10-15 กล่าวอีกนัยหนึ่งความยาวของลำดับไม่คงที่

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

ฉันไม่สามารถบอกลักษณะที่แน่นอนของข้อมูลได้ แต่ลักษณะของลำดับไม่ได้เป็นการชั่วคราว อย่างไรก็ตามเวกเตอร์xi ไม่สามารถสลับกับเวกเตอร์ได้ xj โดยไม่ต้องเปลี่ยนฉลาก (ij) กล่าวอีกนัยหนึ่งลำดับของเวกเตอร์นั้นสำคัญ ตัวเวกเตอร์นั้นเปรียบได้ตัวอย่างเช่นมันสมเหตุสมผลที่จะคำนวณผลิตภัณฑ์ดอทและใช้ค่าความคล้ายคลึงกันนี้

คำถามของฉันคืออะไรเครื่องมือ / อัลกอริทึมที่สามารถช่วยจำแนกข้อมูลดังกล่าวคืออะไร?

UPDATE: ข้อมูลมีคุณสมบัติเช่นนั้นเวกเตอร์หนึ่งหรือสองสามตัวมีอิทธิพลอย่างมากต่อเลเบลของคลาส

วิธีแก้ปัญหาที่เป็นไปได้: หลังจากการวิจัยบางอย่างดูเหมือนว่า Recurrent Neural Networks (RNN) จะพอดีกับใบเรียกเก็บเงินตามธรรมชาติ แนวคิดที่ครอบคลุมคือการเลือกขนาดบริบทk, เชื่อมเวกเตอร์คำต่อกัน, ทำ maxing ร่วมกันและให้อาหารผ่าน NN คลาสสิก ที่ตำแหน่งหน้าต่างบริบทที่เป็นไปได้แต่ละประโยคในประโยคหนึ่งเวกเตอร์คุณลักษณะจะถูกสร้างขึ้น คุณลักษณะเวกเตอร์ขั้นสุดท้ายถูกสร้างขึ้นโดยใช้การรวมกำไรสูงสุดตัวอย่างเช่น backpropagation ทำเพื่อปรับพารามิเตอร์ของเครือข่าย ฉันได้รับผลลัพธ์ที่เป็นบวกแล้ว (ต้องมี GPU)

คำตอบ:


3

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

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

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

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


0

ข้อมูลมีคุณสมบัติเช่นนั้นเวกเตอร์หนึ่งหรือสามตัวมีอิทธิพลอย่างมากต่อเลเบลของคลาส

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


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