การบรรจุถุงการส่งเสริมและการซ้อนในการเรียนรู้ของเครื่อง


245

ความเหมือนและความแตกต่างระหว่าง 3 วิธีนี้คืออะไร:

  • บรรจุถุง,
  • ส่งเสริม
  • เก็บซ้อน?

อันไหนดีที่สุด? และทำไม?

คุณสามารถยกตัวอย่างให้ฉันได้ไหม


3
สำหรับการอ้างอิงในตำราเรียนฉันแนะนำ: "วิธีการทั้งมวล: ฐานรากและอัลกอริทึม" โดย Zhou, Zhi-Hua
Vadim Smolyakov

1
ดูที่นี่คำถามที่เกี่ยวข้อง
Ricardo Cruz

คำตอบ:


252

ทั้งสามจึงเรียกว่า "เมตาอัลกอริทึม": วิธีการที่จะรวมเทคนิคการเรียนรู้หลายเครื่องในรูปแบบการทำนายอย่างใดอย่างหนึ่งเพื่อลดความแปรปรวน ( ห่อ ) อคติ ( ส่งเสริม ) หรือการปรับปรุงแรงทำนาย ( ซ้อนนามแฝงชุด )

ทุกอัลกอริทึมประกอบด้วยสองขั้นตอน:

  1. การสร้างการแจกจ่ายโมเดล ML อย่างง่ายบนชุดย่อยของข้อมูลดั้งเดิม

  2. การรวมการแจกแจงเป็นรูปแบบ "สรุปรวม"

นี่คือคำอธิบายสั้น ๆ ของทั้งสามวิธี:

  1. บรรจุถุง (ย่อมาจาก B ootstrap Agg Regatไอเอ็นจี ) เป็นวิธีที่จะลดความแปรปรวนของการทำนายของคุณโดยการสร้างข้อมูลเพิ่มเติมสำหรับการฝึกอบรมจากชุดเดิมของคุณโดยใช้การรวมกันกับการเกิดซ้ำในการผลิตมัลติเดียวกัน cardinality / ขนาดเป็นข้อมูลเดิมของคุณ ด้วยการเพิ่มขนาดของชุดการฝึกอบรมของคุณคุณจะไม่สามารถปรับปรุงกำลังทำนายแบบจำลองได้

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

  3. การเรียงซ้อนคล้ายกับการเพิ่ม: คุณใช้หลายรุ่นกับข้อมูลดั้งเดิมของคุณ อย่างไรก็ตามนี่คือความแตกต่างที่คุณไม่ได้มีเพียงสูตรเชิงประจักษ์สำหรับฟังก์ชั่นน้ำหนักของคุณ แต่คุณแนะนำ meta-level และใช้แบบจำลอง / แนวทางอื่นในการประมาณค่าอินพุตพร้อมกับเอาต์พุตของทุกรุ่นเพื่อประเมินน้ำหนักหรือ ในคำอื่น ๆ เพื่อกำหนดรูปแบบการทำงานที่ดีและสิ่งที่ได้รับข้อมูลอินพุต

นี่คือตารางเปรียบเทียบ:

ตารางเปรียบเทียบ

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

ตัวอย่างสั้น ๆ ของแต่ละ:

  1. บรรจุถุง : ข้อมูลโอโซน
  2. การเพิ่มประสิทธิภาพ : ใช้เพื่อปรับปรุงความแม่นยำในการรู้จำอักขระด้วยแสง (OCR)
  3. การเรียงซ้อน : ใช้ในการจำแนกประเภทของ microarrays มะเร็งในยา

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

2
@ a-rodin: ขอบคุณสำหรับการชี้ให้เห็นสิ่งสำคัญนี้ฉันเขียนส่วนนี้อีกครั้งเพื่อสะท้อนสิ่งนี้ให้ดียิ่งขึ้น สำหรับคำพูดที่สองของคุณความเข้าใจของฉันก็คือการส่งเสริมเป็นประเภทของการลงคะแนน / เฉลี่ยหรือฉันเข้าใจคุณผิดหรือเปล่า?
Alexander Galkin

@AlexanderGalkin ฉันนึกถึงการไล่ระดับสีที่เพิ่มขึ้นในขณะที่แสดงความคิดเห็น: มันไม่ได้ดูเหมือนการลงคะแนน แต่เป็นเทคนิคการประมาณฟังก์ชั่นวนซ้ำ อย่างไรก็ตามเช่น AdaBoost ดูเหมือนการลงคะแนนดังนั้นฉันจะไม่โต้แย้งเกี่ยวกับมัน
Alexander Rodin

3
ในประโยคแรกของคุณคุณบอกว่าการส่งเสริมการลดอคติ แต่ในตารางเปรียบเทียบคุณบอกว่ามันจะเพิ่มแรงทำนาย สิ่งเหล่านี้เป็นจริงหรือไม่?
Ben Lindsay

68

บรรจุถุง :

  1. วงดนตรีขนาน : แต่ละรุ่นสร้างขึ้นอย่างอิสระ

  2. มุ่งหวังที่จะลดความแปรปรวนไม่ใช่อคติ

  3. เหมาะสำหรับรุ่นที่มีความเบี่ยงเบนสูงต่ำ (รุ่นที่ซับซ้อน)

  4. ตัวอย่างของวิธีการตามต้นไม้คือป่าสุ่มซึ่งพัฒนาต้นไม้ที่โตเต็มที่ (โปรดทราบว่า RF จะปรับเปลี่ยนวิธีการปลูกเพื่อลดความสัมพันธ์ระหว่างต้นไม้)

การส่งเสริม :

  1. ชุดข้อมูลตามลำดับ : ลองเพิ่มรุ่นใหม่ที่ทำได้ดีในกรณีที่รุ่นก่อนหน้าขาด

  2. มุ่งหวังที่จะลดอคติไม่ใช่ความแปรปรวน

  3. เหมาะสำหรับรุ่นที่มีความแปรปรวนต่ำ

  4. ตัวอย่างของวิธีการแบบทรีคือการไล่ระดับสีแบบไล่ระดับ


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

2
คุณสามารถแบ่งปันเอกสาร / ลิงค์ใด ๆ ที่อธิบายว่าการเพิ่มความแปรปรวนลดและวิธีการใช้งานได้หรือไม่? เพียงต้องการที่จะเข้าใจในเชิงลึกมากขึ้น
GeorgeOfTheRF

1
ขอบคุณทิมฉันจะเพิ่มความคิดเห็นในภายหลัง @ML_Pro จากขั้นตอนการเพิ่มประสิทธิภาพ (เช่นหน้า 23 ของcs.cornell.edu/courses/cs578/2005fa/… ) เป็นที่เข้าใจกันดีว่าการเพิ่มสามารถลดอคติได้
yuqian

43

เพื่ออธิบายคำตอบของ Yuqian เพียงเล็กน้อย แนวคิดที่อยู่เบื้องหลังการบรรจุถุงคือเมื่อคุณ OVERFIT ด้วยวิธีการถดถอยแบบ nonparametric (โดยปกติจะเป็นการถดถอยหรือการจัดหมวดหมู่ต้นไม้ แต่อาจเป็นวิธีการแบบ nonparametric ใด ๆ ) คุณมักจะไปที่ความแปรปรวนสูงไม่มีอคติส่วนหนึ่งของอคติ / การแลกเปลี่ยนความแปรปรวน นี่เป็นเพราะโมเดล overfitting นั้นมีความยืดหยุ่นมาก (มีค่าอคติต่ำกว่า resamples จำนวนมากจากประชากรเดียวกันหากมีอยู่) แต่มีความแปรปรวนสูง (ถ้าฉันรวบรวมตัวอย่างและทำให้มันพอดีและคุณรวบรวมตัวอย่างและทำให้มันเหมาะสมเรา ผลลัพธ์จะแตกต่างกันเนื่องจากการถดถอยแบบไม่มีพารามิเตอร์ติดตามเสียงรบกวนในข้อมูล) พวกเราทำอะไรได้บ้าง? เราสามารถนำ resamples มากมาย (จาก bootstrapping) แต่ละ overfitting และเฉลี่ยพวกมันเข้าด้วยกัน สิ่งนี้ควรนำไปสู่อคติเดียวกัน (ต่ำ) แต่ยกเลิกความแปรปรวนบางอย่าง

การไล่ระดับสีที่หัวใจใช้งานได้กับ UNDERFIT nonparametric regressions ซึ่งง่ายเกินไปและไม่ยืดหยุ่นพอที่จะอธิบายความสัมพันธ์ที่แท้จริงในข้อมูล (เช่นเอนเอียง) แต่เนื่องจากพวกมันอยู่ในสภาพที่เหมาะสมมีความแปรปรวนต่ำ เพื่อให้ได้ผลลัพธ์เดียวกันหากคุณรวบรวมชุดข้อมูลใหม่) คุณแก้ไขให้ถูกต้องอย่างไร? โดยพื้นฐานแล้วหากคุณมีความเหมาะสมส่วนที่เหลือของแบบจำลองของคุณยังคงมีโครงสร้างที่มีประโยชน์ (ข้อมูลเกี่ยวกับประชากร) ดังนั้นคุณจึงเพิ่มต้นไม้ที่คุณมี (หรือสิ่งทำนายแบบไม่มีพารามิเตอร์) ด้วยต้นไม้ที่สร้างขึ้นบนส่วนที่เหลือ ควรมีความยืดหยุ่นมากกว่าต้นไม้ต้น คุณสร้างต้นไม้มากขึ้นเรื่อย ๆ แต่ละครั้งที่ขั้นตอน k เติมด้วยต้นไม้ที่มีน้ำหนักตามต้นไม้ที่พอดีกับเศษเหลือจากขั้นตอน k-1 หนึ่งในต้นไม้เหล่านี้ควรเหมาะสมที่สุด ดังนั้นคุณอาจจบลงด้วยการให้น้ำหนักต้นไม้ทั้งหมดเหล่านี้เข้าด้วยกันหรือเลือกต้นไม้ที่เหมาะสมที่สุด ดังนั้นการเพิ่มความลาดชันเป็นวิธีสร้างต้นไม้ที่มีความยืดหยุ่นมากขึ้น

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

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


3
+1 สำหรับ overfit = ความแปรปรวน, underfit = อาร์กิวเมนต์ bias! เหตุผลหนึ่งที่ใช้ต้นไม้ตัดสินใจคือมันมีโครงสร้างที่ไม่มั่นคงจึงได้ประโยชน์จากการเปลี่ยนแปลงเงื่อนไขเล็กน้อย ( abbottanalytics.com/assets/pdf/… )
Mark Horvath


3

ในการสรุปสั้น ๆ การห่อและการเร่งกำลังนั้นมักใช้ภายในอัลกอริทึมเดียวในขณะที่การซ้อนจะใช้เพื่อสรุปผลลัพธ์หลายอย่างจากอัลกอริทึมที่แตกต่างกัน

  • การทำ Bagging : ชุดย่อยBootstrapของฟีเจอร์และตัวอย่างเพื่อให้ได้การคาดการณ์และผลลัพธ์โดยเฉลี่ย (หรือวิธีอื่น ๆ ) Random Forestซึ่งจะช่วยลดความแปรปรวนและไม่มีปัญหาการบรรจุเกิน
  • การเพิ่มประสิทธิภาพ : ความแตกต่างจากการห่อเป็นแบบในภายหลังพยายามที่จะเรียนรู้ข้อผิดพลาดที่ทำโดยหนึ่งก่อนหน้าเช่นGBMและXGBoostซึ่งกำจัดความแปรปรวน แต่มีปัญหาการ overfitting
  • การเรียงซ้อน : ปกติใช้ในการแข่งขันเมื่อใช้หลายอัลกอริทึมในการฝึกอบรมในชุดข้อมูลและค่าเฉลี่ยเดียวกัน (สูงสุด, ต่ำสุดหรือชุดค่าผสมอื่น ๆ ) ผลลัพธ์เพื่อให้ได้ความแม่นยำในการทำนายที่สูงขึ้น

2

ทั้งการบรรจุและการส่งเสริมใช้ขั้นตอนวิธีการเรียนรู้เดียวสำหรับทุกขั้นตอน แต่พวกเขาใช้วิธีการต่าง ๆ ในการจัดการตัวอย่างการฝึกอบรม ทั้งสองเป็นวิธีการเรียนรู้ทั้งมวลที่รวมการตัดสินใจจากหลายรูปแบบการ
บรรจุถุง :
1 รวบรวมข้อมูลการฝึกอบรมใหม่เพื่อให้ได้ชุดย่อย M (bootstrapping);
2. ฝึกอบรมตัวจําแนก M (อัลกอริทึมเดียวกัน) ตามชุดข้อมูล M (ตัวอย่างที่ต่างกัน);
3. ลักษณนามสุดท้ายรวมเอาท์พุท M โดยการลงคะแนน;
น้ำหนักตัวอย่างอย่างเท่าเทียมกัน;
น้ำหนักลักษณนามเท่า ๆ กัน;
ลดข้อผิดพลาดโดยการลดความแปรปรวน
Boosting : ที่นี่มุ่งเน้นไปที่อัลกอริทึม adaboost
1 เริ่มต้นด้วยน้ำหนักที่เท่ากันสำหรับตัวอย่างทั้งหมดในรอบแรก;
2. ใน M-1 รอบต่อไปนี้เพิ่มน้ำหนักของตัวอย่างที่ผิดประเภทในรอบสุดท้ายลดน้ำหนักของตัวอย่างที่จำแนกอย่างถูกต้องในรอบสุดท้าย
3. ใช้การลงคะแนนแบบถ่วงน้ำหนักตัวแยกประเภทสุดท้ายรวมตัวแยกประเภทหลายตัวจากรอบก่อนหน้า ไปที่ตัวแยกประเภทที่มีการจัดประเภทน้อยกว่า
reweights ตัวอย่างที่ชาญฉลาด น้ำหนักสำหรับแต่ละรอบขึ้นอยู่กับผลลัพธ์จาก
ตัวอย่างน้ำหนักรอบสุดท้าย(การเพิ่ม) แทนการสุ่มใหม่ (การบรรจุถุง)


0

การใส่ถุงและการส่งเสริมมักใช้โมเดลที่เป็นเนื้อเดียวกันหลายแบบ

การเรียงซ้อนจะรวมผลลัพธ์จากประเภทโมเดลที่แตกต่างกัน

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

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