วิธีการ Recode ตัวแปรเด็ดขาดเป็นตัวแปรตัวเลขเมื่อใช้ SVM หรือ Neural Network


19

หากต้องการใช้ SVM หรือ Neural Network จะต้องแปลง (เข้ารหัส) ตัวแปรหมวดหมู่เป็นตัวแปรตัวเลขวิธีปกติในกรณีนี้คือใช้ค่าไบนารี 0-1 กับค่าหมวดหมู่ k-th ที่แปลงเป็น (0,0, .. ., 1,0, ... 0) (1 อยู่ในตำแหน่ง k-th) มีวิธีการอื่นในการทำเช่นนี้หรือไม่โดยเฉพาะอย่างยิ่งเมื่อมีค่าหมวดหมู่จำนวนมาก (เช่น 100,000) เช่นนั้นการเป็นตัวแทน 0-1 จะแนะนำมิติเพิ่มเติมเพิ่มเติมจำนวนมาก (อินพุตยูนิต) ใน Neural Network ซึ่งไม่ต้องการหรือคาดหวัง ?

ฉันถามเกี่ยวกับกลยุทธ์ทั่วไป


คุณกำลังถามเกี่ยวกับกลยุทธ์ทั่วไปหรือเกี่ยวกับปัญหาเฉพาะหรือไม่?
เดนิส Tarasov

คำตอบ:


11

ใน NLP ซึ่งโดยทั่วไปคำจะถูกเข้ารหัสเป็น 1-of-k การใช้คำว่า embeddings ได้เกิดขึ้นเร็ว ๆ นี้ หน้าวิกิพีเดียที่มีการอ้างอิงของมันคือการเริ่มต้นที่ดี

xผมRnผมn

บางทีคุณสามารถถ่ายทอดแนวคิดนั้นไปยังการตั้งค่าของคุณ


10

วิธีการ 'มาตรฐาน' คือ: การเข้ารหัสแบบร้อนแรง (ซึ่งคุณกล่าวถึงในคำถาม) หากมีหมวดหมู่ที่เป็นไปได้มากเกินไป แต่คุณต้องมีการเข้ารหัส 0-1 คุณสามารถใช้เคล็ดลับการแฮ็

วิธีการที่ใช้บ่อยคือคำตอบอื่น ๆ เฉลี่ยกว่าหมวดหมู่: เห็นภาพจากความคิดเห็นที่kaggle


1

คุณสามารถใช้dummyVarsใน R จากcaretแพ็คเกจ มันจะสร้างคอลัมน์ที่แตกต่างกันโดยอัตโนมัติตามจำนวนระดับ หลังจากนั้นคุณสามารถใช้cbindและแนบกับข้อมูลดั้งเดิมของคุณ ตัวเลือกอื่น ๆ ได้แก่และmodel.matrixsparse.model.matrix


0

คุณสามารถลองเข้ารหัสแบบไบนารีซึ่งมีขนาดเล็กกว่าและบางครั้งก็มีประสิทธิภาพดีกว่าแบบร้อนแรง คุณสามารถใช้การฝังอย่างเป็นหมวดหมู่ใน Keras เป็นต้น


0

k-1

"เอนทิตี้ของงานแต่งงานของตัวแปรเด็ดขาด"โดย Cheng Guo, Felix Berkhahn

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

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