เมื่อใดที่จะต้องการใช้ AdaBoost


14

ดังที่ฉันเคยได้ยินเกี่ยวกับตัวจําแนก AdaBoost ที่กล่าวถึงในที่ทำงานหลายครั้งฉันต้องการให้ความรู้สึกที่ดีขึ้นเกี่ยวกับวิธีการใช้งานและเมื่อใครต้องการใช้งาน ฉันได้ไปข้างหน้าและอ่านเอกสารและแบบฝึกหัดเกี่ยวกับสิ่งที่ฉันพบใน Google แต่มีลักษณะของตัวจําแนกซึ่งฉันยังคงมีปัญหาในการทำความเข้าใจ:

  1. บทเรียนส่วนใหญ่ที่ฉันเคยเห็นพูดถึง AdaBoost เป็นการหาชุดค่าผสมถ่วงน้ำหนักที่ดีที่สุดของตัวแยกประเภทจำนวนมาก เรื่องนี้ทำให้รู้สึกถึงฉัน สิ่งที่ไม่สมเหตุสมผลคือการนำไปใช้งาน (เช่น MALLET) ซึ่ง AdaBoost ดูเหมือนจะยอมรับผู้เรียนที่อ่อนแอเพียงคนเดียว สิ่งนี้มีเหตุผลอะไรบ้าง? หากมีตัวจําแนกเดียวที่มอบให้กับ AdaBoost มันจะไม่ส่งคืนลักษณนามเดียวกันนั้นด้วยน้ำหนัก 1 หรือไม่ มันสร้างลักษณนามใหม่จากลักษณนามแรกได้อย่างไร

  2. เมื่อไหร่ที่จะต้องการใช้ AdaBoost ฉันได้อ่านว่ามันควรจะเป็นหนึ่งในตัวแยกประเภทที่ดีที่สุดนอกกรอบ แต่เมื่อฉันพยายามเพิ่มตัวแยกประเภท MaxEnt ฉันได้รับคะแนน f- 70% ด้วย AdaBoost ทำการฆาตกรรมและทำให้ฉัน f- คะแนนของบางอย่างเช่น 15% พร้อมการเรียกคืนสูงมากและความแม่นยำต่ำมากแทน ดังนั้นตอนนี้ฉันสับสน เมื่อใดที่ฉันจะต้องการใช้ AdaBoost ฉันกำลังมองหาคำตอบที่เข้าใจง่ายมากกว่าที่จะเป็นคำตอบทางสถิติอย่างเคร่งครัดถ้าเป็นไปได้

คำตอบ:


11

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

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


(+1) หมายเหตุเพิ่มเติม: แม้พารามิเตอร์ของผู้เรียนที่อ่อนแอจะไม่แตกต่างกันพฤติกรรม (เช่นสิ่งที่พวกเขาคาดการณ์) จะเปลี่ยนไปเมื่อโครงสร้างของชุดข้อมูล (ตามที่ทำในการส่งเสริม) เปลี่ยนแปลง
steffen

MaxEnt คือการถดถอยโลจิสติก การแสดงให้เห็นว่าขอบเขตการตัดสินใจวิวัฒนาการจะมีประโยชน์จริง ๆ เราจะทำเช่นนั้นได้อย่างไร? นอกจากนี้ฉันยังไม่เข้าใจว่า AdaBoost ยังคงทำงานได้อย่างไรเมื่อมีเพียงชุดคุณสมบัติเดียวและประเภทลักษณนามประเภทเดียว (เช่นเดียวกับใน MALLET) สำหรับฉันแล้วดูเหมือนว่าจะตอบโต้โดยสิ้นเชิง
YuliaPro

เพียงแค่พล็อตชุดข้อมูลของคุณ นอกจากนี้ให้พล็อตกริดที่คุณเลือกสีสำหรับแต่ละจุดว่ามันถูกจำแนกโดยระบบของคุณอย่างไร มันใช้งานได้ดีสำหรับ 2D ฉันคิดว่า คุณยังสามารถพล็อตขวานหรือสิ่งที่สำคัญที่สุดได้ หากคุณมีชุดคุณลักษณะเพียงชุดเดียวและชุดตัวแยกประเภทหนึ่งชุดจะลดเหลือเพียงชุดตัวแยกประเภทเดียวเท่านั้น ฉันอยู่ภายใต้ความประทับใจเอนโทรปีที่สูงสุดนั้นเป็นกระบวนทัศน์ไม่ใช่ตัวแยกประเภทที่เป็นรูปธรรม อย่างไรก็ตาม.
bayerj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.