ใช้ LASSO บนฟอเรสต์แบบสุ่ม


14

ฉันต้องการสร้างฟอเรสต์แบบสุ่มโดยใช้กระบวนการต่อไปนี้:

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

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

คำถามของฉันคือ:

สำหรับกระบวนการข้างต้นที่ส่งออกต้นไม้ N แล้วฉันสามารถใส่แบบจำลองโดยใช้การถดถอยโลจิสติกพร้อมการเลือก LASSO ได้หรือไม่? ใครบ้างมีประสบการณ์ที่เหมาะสมกับตัวจําแนกฟอเรสต์แบบสุ่มและการประมวลผลหลังด้วย LASSO โลจิสติกส์หรือไม่?

เฟรมเวิร์ก ISLE กล่าวถึงการใช้ LASSO เป็นขั้นตอนหลังการประมวลผลสำหรับปัญหาการถดถอย แต่ไม่ใช่ปัญหาการจำแนกประเภท นอกจากนี้ฉันไม่ได้รับผลลัพธ์ที่เป็นประโยชน์เมื่อ googling "Random forest lasso"


Lasso เป็นคุณสมบัติที่มีประโยชน์ในการค้นหา / กำหนดน้ำหนักเมื่อมีคุณภาพที่แตกต่างกันมากมาย ต้นไม้ส่วนบุคคลในป่าของคุณมีแนวโน้มที่จะไม่ดีกว่าหรือแย่กว่าต้นไม้อื่น ๆ ดังนั้นฉันไม่คิดว่าบ่วงบาศจะช่วยคุณได้มากนัก
rrenaud

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

คุณจะเจาะจงมากขึ้นเกี่ยวกับวิธีที่คุณวางแผนให้เหมาะสมกับโมเดลโลจิสติกส์ได้หรือไม่? ตัวแปรทำนายคืออะไร? นอกจากนี้แรงจูงใจของคุณสำหรับการทำ post-processing คืออะไร? หากคุณพยายามเลือกตัวแปรมีวิธีอื่นที่ต้องพิจารณา
Alex Williams

โดยการแสดงการทำนายของต้นไม้แต่ละต้นชุดข้อมูลใหม่ของตัวทำนายจะถูกสร้างขึ้น ชุดข้อมูลนี้สามารถใช้ในการถดถอย LASSO เพื่อให้ได้ชุดการทำนายแบบต้นไม้ แรงจูงใจคือการสร้างแบบจำลองที่กระชับและทำงานได้เร็วขึ้นในการผลิต
Zelazny7

ฉันพบปัญหาที่คล้ายกันเมื่อเร็ว ๆ นี้และพบในกระดาษต้นฉบับของ Friedmanที่เขาออกแบบฟังก์ชันการสูญเสียเป็นพิเศษสำหรับปัญหาการจำแนกเลขฐานสอง หวังว่าจะเป็นประโยชน์ นอกจากนี้คุณมีความคิดเกี่ยวกับวิธีการขยายไปยังปัญหาการจำแนกประเภทหลายชั้นหรือไม่? หรือวิธีการของคุณในการจำแนกปัญหาหลายชั้นคืออะไร?
Quan

คำตอบ:


5

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

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ฉันขอแนะนำให้อ่านบทที่ 10 ขององค์ประกอบของการเรียนรู้ทางสถิติ: http://statweb.stanford.edu/~tibs/ElemStatLearn/

แม้ว่านี่จะไม่ใช่คำตอบที่สมบูรณ์สำหรับคำถามของคุณ แต่ฉันหวังว่ามันจะช่วยได้


3
ขอบคุณ ตั้งแต่เริ่มโพสต์คำถามนี้ฉันเริ่มคุ้นเคยกับแพ็คเกจ GBM ของ R มากขึ้น ตอนนี้กระบวนการของฉันเกี่ยวข้องกับการสร้างแบบจำลอง GBM จำนวน 10,000 ต้นแล้วเรียกใช้ 10,000 ต้นทั้งหมดผ่าน GLMnet เพื่อดำเนินการถดถอย LASSO บนต้นไม้ สิ่งนี้ส่งผลให้รุ่น GBM ที่ถูกบีบอัดโดยไม่มีการสูญเสียประสิทธิภาพเล็กน้อย
Zelazny7

@ Zelazny7 แล้วข้อมูลที่เก็บไว้ / การทดสอบยากไหมมันทำนายได้ดีไหม?
Josh

ใช่การทดสอบทั้งหมดของฉันเสร็จสิ้นโดยไม่แจ้งการพัฒนา แต่อย่างใด ประสิทธิภาพไม่ได้ลดลงในกรณีส่วนใหญ่ บางครั้งมันแย่กว่าเดิมเล็กน้อย
Zelazny7

1
@ Zelazny7 ฉันทำตามขั้นตอนเดียวกันเช่นกัน (ที่งานล่าสุดของฉัน) ด้วยประสบการณ์เดียวกัน
Matthew Drury

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