ความแตกต่างระหว่างป่าสุ่มและต้นไม้ที่สุ่มมาก


38

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

  • พวกเขาเปรียบเทียบในแง่ของอคติ / ความแปรปรวนได้อย่างไร
  • พวกเขาจะเปรียบเทียบต่อหน้าตัวแปรที่ไม่เกี่ยวข้องได้อย่างไร?
  • พวกเขาจะเปรียบเทียบในที่ที่มีตัวแปรที่สัมพันธ์กันอย่างไร?

2
(a) ERT บางครั้งอาจมีอคติมากขึ้นเนื่องจากการแบ่งที่เหมาะสมน้อยที่สุด / ERT บางครั้งจะลดความแปรปรวนเนื่องจากความสัมพันธ์ของต้นไม้ต่อไป (b) ฉันเดาเหมือนกันไม่แน่ใจ (c) ฉันเดาเหมือนกันไม่แน่ใจ พิเศษ: ฉันจะไม่เรียกการแยก RF ที่กำหนดเนื่องจากการสุ่มตัวอย่างตัวแปรแบบสุ่มและต้นไม้ก็ไม่แน่นอนเนื่องจากการบูตสแตรป
Soren Havelund Welling

คือuniform splitอะไร
Octavian

คำตอบ:


27

Extra- (สุ่ม) -Trees (ET) บทความที่มีการวิเคราะห์ความแปรปรวนอคติ ในหน้า 16 คุณสามารถดูการเปรียบเทียบกับหลายวิธีรวมถึง RF ในการทดสอบหกครั้ง (การจำแนกต้นไม้และการถดถอยสามครั้ง)

ทั้งสองวิธีมีความเหมือนกันโดยที่ ET ค่อนข้างแย่ลงเมื่อมีคุณลักษณะที่มีเสียงดังจำนวนมาก (ในชุดข้อมูลมิติสูง)

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

จากบทความตัวเอง:

การวิเคราะห์ขั้นตอนวิธีการและความมุ่งมั่นของมูลค่าที่เหมาะสมของ K ในหลายสายพันธุ์ปัญหาการทดสอบแสดงให้เห็นว่ามีค่าเป็นในหลักการขึ้นอยู่กับรายละเอียดปัญหาโดยเฉพาะในสัดส่วนของคุณลักษณะที่ไม่เกี่ยวข้อง [ ... ] การวิเคราะห์อคติ / แปรปรวนได้แสดงให้เห็นว่าต้นไม้เสริมการทำงานโดยการลดความแปรปรวนในขณะที่ในเวลาเดียวกัน ที่เพิ่มขึ้นทำให้มีความลำเอียง [... ] เมื่อการสุ่มเพิ่มขึ้นเหนือระดับที่เหมาะสมความแปรปรวนจะลดลงเล็กน้อยในขณะที่ความเอนเอียงเพิ่มขึ้นอย่างมีนัยสำคัญ

ไม่มีกระสุนสีเงินเช่นเคย


Pierre Geurts, Damien Ernst, Louis Wehenke "ต้นไม้ที่สุ่มมาก"


2
การอ้างอิงใด ๆ (ทั้งเชิงประจักษ์หรือทฤษฎี) เกี่ยวกับ ET ค่อนข้างเลวร้ายลงเมื่อมีจำนวนมากของคุณสมบัติที่มีเสียงดัง? หรือสิ่งนี้ขึ้นอยู่กับประสบการณ์?
ramhiser

1
ในประสบการณ์ของฉันตรงกันข้ามเป็นจริง: Extra-Trees ทำได้ดีกว่าด้วยคุณสมบัติที่มีเสียงดังมากมาย ด้วยข้อแม้ที่คุณต้องมีป่าขนาดใหญ่ (ตัวประมาณจำนวนมาก, n_estimators ใน sklearn) และปรับแต่งจำนวนของคุณสมบัติที่พิจารณาในแต่ละการแยก (max_features ใน sklearn) เพื่อให้การทำงานนี้ Extra-Tree หนึ่งต้นจะมีมากกว่าต้นไม้แบบสุ่มเดียว แต่ถ้าคุณมี Extra-Tree หลายต้นพวกเขาจะมีแนวโน้มที่จะปรับตัวได้หลายแบบและไม่เหมาะ ฉันมักจะได้รับการปรับปรุงที่สำคัญมากถึงประมาณ 3000 คน
denson

3

คำตอบก็คือมันขึ้นอยู่กับ ฉันขอแนะนำให้คุณลองทั้งป่าสุ่มและต้นไม้พิเศษในปัญหาของคุณ ลองป่าขนาดใหญ่ (1,000 - 3,000 ต้น / ตัวประมาณ n_estimators ใน sklearn) และปรับแต่งจำนวนของคุณสมบัติที่พิจารณาในแต่ละการแยก (max_features ใน sklearn) รวมถึงตัวอย่างขั้นต่ำต่อการแยก (min_samples_split ใน sklearn) และความลึกสูงสุดของต้นไม้ ( max_depth ใน sklearn) ที่กล่าวมาคุณควรจำไว้ว่าการปรับจูนเกินอาจเป็นรูปแบบของการฟิตเกินไป

ต่อไปนี้เป็นปัญหาสองข้อที่ฉันทำงานโดยส่วนตัวที่ต้นไม้พิเศษพิสูจน์แล้วว่ามีประโยชน์กับข้อมูลที่มีเสียงดังมาก:

ป่าไม้การตัดสินใจสำหรับการจำแนกการเรียนรู้ของเครื่องของชุดคุณลักษณะพื้นทะเลขนาดใหญ่ที่มีเสียงดัง

การทำนายโปรตีนแบบกระจายที่มีประสิทธิภาพพร้อมตัวอย่างที่ถูกวาง


2

ขอบคุณมากสำหรับคำตอบ! ในขณะที่ฉันยังมีคำถามฉันทำการจำลองเชิงตัวเลขเพื่อให้ข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมของทั้งสองวิธี

  • ดูเหมือนจะมีต้นไม้เพิ่มประสิทธิภาพการทำงานที่สูงขึ้นเมื่อมีคุณสมบัติที่มีเสียงดัง

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

  • เมื่อตัวแปรทั้งหมดเกี่ยวข้องกันทั้งสองวิธีดูเหมือนจะบรรลุประสิทธิภาพเดียวกัน

  • ต้นไม้พิเศษดูเหมือนจะเร็วกว่าป่าสุ่มถึงสามเท่า (อย่างน้อยก็ในการเรียนรู้การใช้ Scikit)

แหล่งที่มา

เชื่อมโยงไปยังบทความเต็มรูปแบบ: ป่าสุ่ม VS ต้นไม้พิเศษ

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