ฟอเรสต์แบบสุ่มเป็นอัลกอริธึมการส่งเสริมหรือไม่


51

คำนิยามสั้น ๆ ของการส่งเสริม :

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

คำจำกัดความโดยย่อของRandom Forest :

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

อีกคำนิยามสั้น ๆ ของป่าสุ่ม :

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

ตามที่ฉันเข้าใจ Random Forest เป็นอัลกอริธึมการเพิ่มประสิทธิภาพซึ่งใช้ต้นไม้เป็นตัวแยกประเภทที่อ่อนแอ ฉันรู้ว่ามันยังใช้เทคนิคอื่น ๆ และปรับปรุงให้ดีขึ้น มีใครบางคนแก้ไขฉันว่า Random Forest ไม่ใช่อัลกอริธึมการส่งเสริมใช่หรือไม่

ใครบางคนสามารถอธิบายอย่างละเอียดเกี่ยวกับเรื่องนี้ทำไม Random Forest ไม่ได้เป็นอัลกอริทึมการส่งเสริม


13
ป่าสุ่มเป็นขั้นตอนวิธีการห่อ A: en.wikipedia.org/wiki/Bootstrap_aggregating ฉันขอแนะนำให้คุณอ่านมากกว่าคำอธิบายสั้น ๆ ที่เป็นไปได้ของการส่งเสริมเพื่อดูความแตกต่าง ในการส่งเสริมกลยุทธ์ resampling ไม่ได้สุ่ม
Marc Claesen

12
ความจริงแล้วสนุก: ในต้นฉบับ Random Forest กระดาษ Breiman แสดงให้เห็นว่า AdaBoost (แน่นอนว่าเป็นอัลกอริธึมที่เพิ่มขึ้น) ส่วนใหญ่ทำ Random Forest เมื่อหลังจากการทำซ้ำสองสามครั้งพื้นที่การเพิ่มประสิทธิภาพของมันจะกลายเป็น

คำตอบ:


81

Random Forest เป็นอัลกอริธึมการบรรจุแทนที่จะเป็นอัลกอริธึมการเร่งความเร็ว พวกเขาเป็นสองทางตรงข้ามเพื่อให้เกิดข้อผิดพลาดต่ำ

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

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

ในขณะที่การส่งเสริมจะลดอคติของโมเดล "เล็ก" จำนวนมากที่มีความแปรปรวนต่ำ พวกเขาเป็นรุ่น "อ่อนแอ" ตามที่คุณอ้าง องค์ประกอบพื้นฐานนั้นคล้ายกับ "chain" หรือ "nested" iterative model เกี่ยวกับอคติของแต่ละระดับ ดังนั้นพวกเขาจึงไม่ได้เป็นรุ่นคู่ขนานอิสระ แต่แต่ละรุ่นนั้นถูกสร้างขึ้นโดยอิงจากโมเดลขนาดเล็กในอดีตโดยการถ่วงน้ำหนัก ที่เรียกว่า "เพิ่ม" จากหนึ่งโดยหนึ่ง

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


25

ฟอเรสต์แบบสุ่มไม่ถือว่าเป็นอัลกอริธึมการเร่งความเร็ว

ตามที่อธิบายไว้ในลิงก์ส่งเสริมของคุณ:

... อัลกอริธึมที่เพิ่มขึ้นส่วนใหญ่ประกอบด้วยการเรียนรู้ตัวจําแนกที่อ่อนแอด้วยความเคารพต่อการกระจาย เมื่อพวกเขาถูกเพิ่มพวกเขามักจะมีน้ำหนักในบางวิธีที่มักจะเกี่ยวข้องกับความถูกต้องของผู้เรียนที่อ่อนแอ หลังจากเพิ่มผู้เรียนที่อ่อนแอแล้วข้อมูลจะถูกจัดประเภทใหม่ ...

ตัวอย่างของกระบวนการวนซ้ำนี้คือ adaboost ซึ่งผลลัพธ์ที่อ่อนกว่านั้นจะได้รับการส่งเสริมหรือทำให้มีน้ำหนักมากกว่าการทำซ้ำหลาย ๆ ครั้งเพื่อให้ผู้เรียนให้ความสำคัญกับพื้นที่ที่ผิดมากขึ้นและน้อยลงกับการสังเกตที่ถูกต้อง

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


7

มันเป็นส่วนเสริมของถุง กระบวนการดังต่อไปนี้คุณใช้ตัวอย่าง bootstrap ของข้อมูลของคุณแล้วใช้สิ่งนี้เพื่อขยายการจำแนกหรือแผนผังการถดถอย (CART) นี่คือจำนวนครั้งที่กำหนดไว้ล่วงหน้าและการคาดการณ์คือการรวมกลุ่มของการทำนายต้นไม้แต่ละต้นมันอาจเป็นการลงคะแนนเสียงส่วนใหญ่ (สำหรับการจำแนกประเภท) หรือค่าเฉลี่ย (สำหรับการถดถอย) วิธีการนี้เรียกว่าการบรรจุถุง (Breiman 1994) นอกจากนี้ตัวแปรผู้สมัครสำหรับแต่ละการแยกของแต่ละต้นไม้ถูกนำมาจากตัวอย่างสุ่มของตัวแปรอิสระที่มีอยู่ทั้งหมด สิ่งนี้ทำให้เกิดความแปรปรวนมากขึ้นและทำให้ต้นไม้มีความหลากหลายมากขึ้น สิ่งนี้เรียกว่าวิธีการย่อยแบบสุ่ม (Ho, 1998) ดังที่กล่าวมาสิ่งนี้ทำให้เกิดต้นไม้ที่มีความหลากหลายมากซึ่งแปลเป็นต้นไม้ที่เป็นอิสระจากกันและกัน เนื่องจากความไม่เท่าเทียมของเจนเซ่นเรารู้ว่าค่าเฉลี่ยของความผิดพลาดของการทำนายต้นไม้เหล่านี้จะมีขนาดเล็กลงหรือเท่ากับความผิดพลาดของต้นไม้เฉลี่ยที่เติบโตจากชุดข้อมูลนั้น วิธีการที่จะมองไปที่มันก็คือการมองไปที่ข้อผิดพลาด Mean Squaredและแจ้งให้ทราบว่ามันสามารถย่อยสลายในอคติและความแปรปรวนชิ้นส่วน (นี้จะเกี่ยวข้องกับปัญหาในการเรียนรู้ภายใต้การดูแลที่เรียกว่าถ่วงดุลอำนาจอคติแปรปรวน) ป่าสุ่มได้รับความแม่นยำที่ดีขึ้นโดยการลดความแปรปรวนผ่านค่าเฉลี่ยของการทำนายของต้นไม้มุมฉาก มันควรจะตั้งข้อสังเกตว่าจะสืบทอดอคติของต้นไม้ของตนซึ่งค่อนข้างเป็นปัญหาที่กล่าวถึงการตรวจสอบเช่นนี้คำถาม


5

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

John Elder & Giovanni Seni วิธีทั้งมวลในการทำเหมืองข้อมูล: การปรับปรุงความถูกต้องผ่านการคาดการณ์รวม (2010)


3

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

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

ต้นไม้ในการเพิ่มอัลกอริธึมเช่นเครื่องเร่ง GBM-Gradient ได้รับการฝึกอบรมตามลำดับ

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

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