Boosting ในแมชชีนเลิร์นนิงคืออะไร

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

เหตุใด Boosting จึงมีความสำคัญ

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

โปรแกรมเรียนรู้ที่อ่อนแอ

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

โปรแกรมเรียนรู้ที่แข็งแกร่ง

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

Boosting ทำงานอย่างไร

เพื่อทำความเข้าใจว่า Boosting ทำงานอย่างไร เรามาลองอธิบายวิธีการตัดสินใจของโมเดลแมชชีนเลิร์นนิงกัน แม้ว่าจะมีการใช้งานหลากหลายรูปแบบ แต่นักวิทยาศาสตร์ข้อมูลมักใช้ Boosting ร่วมกับอัลกอริทึมต้นไม้ตัดสินใจ:

ต้นไม้ตัดสินใจ

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

วิธีการ Ensemble ของ Boosting

Boosting สร้างโมเดล Ensemble โดยการรวมต้นไม้ตัดสินใจที่อ่อนแอหลายรายการตามลำดับ ซึ่งจะกำหนดน้ำหนักให้กับผลลัพธ์ของต้นไม้แต่ละรายการ จากนั้นจึงทำให้การจัดประเภทที่ไม่ถูกต้องจากต้นไม้การตัดสินใจแรกมีน้ำหนักมากขึ้นและป้อนข้อมูลไปยังต้นไม้ถัดไป หลังจากผ่านไปหลายรอบ วิธีการ Boosting จะรวมกฎที่อ่อนแอเหล่านี้เข้าด้วยกันเป็นกฎการทำนายที่มีประสิทธิภาพเพียงกฎเดียว

ความแตกต่างของ Boosting เมื่อเทียบกับ Bagging

Boosting และ Bagging เป็นวิธีการ Emsemble ทั่วไปสองวิธีที่ช่วยปรับปรุงความแม่นยำในการทำนาย โดยความแตกต่างหลักๆ ระหว่างวิธีการเรียนรู้เหล่านี้คือวิธีการฝึกฝน ในฝั่ง Bagging นักวิทยาศาสตร์ข้อมูลจะปรับปรุงความแม่นยำของโปรแกรมเรียนรู้ที่อ่อนแอโดยการฝึกฝนหลายโปรแกรมพร้อมกันด้วยชุดข้อมูลหลายชุด ในทางตรงกันข้าม Boosting จะฝึกฝนโปรแกรมเรียนรู้ที่อ่อนแอทีละโปรแกรม

 

การฝึกฝนใน Boosting เป็นอย่างไร

วิธีการฝึกฝนแตกต่างกันไปโดยขึ้นอยู่กับประเภทของกระบวนการ Boosting ที่เรียกว่าอัลกอริทึม Boosting อย่างไรก็ตาม อัลกอริทึมใช้ขั้นตอนทั่วไปต่อไปนี้เพื่อฝึกฝนโมเดล Boosting:

ขั้นตอนที่ 1

อัลกอริทึม Boosting จะกำหนดน้ำหนักที่เท่ากันให้กับตัวอย่างข้อมูลแต่ละรายการ ซึ่งจะป้อนข้อมูลไปยังโมเดลแมชชีนตัวแรกที่เรียกว่าอัลกอริทึมพื้นฐาน จากนั้นอัลกอริทึมพื้นฐานจะดำเนินการทำนายสำหรับตัวอย่างข้อมูลแต่ละรายการ

ขั้นตอนที่ 2

อัลกอริทึม Boosting จะประเมินการทำนายของโมเดลและเพิ่มน้ำหนักของตัวอย่างด้วยข้อผิดพลาดที่มีนัยสำคัญมากขึ้น นอกจากนี้ยังกำหนดน้ำหนักตามประสิทธิภาพของโมเดลอีกด้วย โดยโมเดลที่ให้ผลการทำนายที่ยอดเยี่ยมจะมีอิทธิพลอย่างมากต่อการตัดสินใจขั้นสุดท้าย

ขั้นตอนที่ 3

อัลกอริทึมจะส่งข้อมูลถ่วงน้ำหนักไปยังต้นไม้ตัดสินใจถัดไป

ขั้นตอนที่ 4

อัลกอริทึมจะทำซ้ำขั้นตอนที่ 2 และ 3 จนกว่ากรณีตัวอย่างของข้อผิดพลาดในการฝึกฝนจะต่ำกว่าเกณฑ์ที่กำหนด

ขั้นตอนถัดไปสำหรับแมชชีนเลิร์นนิงของ AWS