พื้นฐาน AI
อะไรคือ Gradient Boosting?
โมเดลการเรียนรู้ของเครื่องจักรที่มีประโยชน์มากในการแข่งขันทางวิทยาศาสตร์ข้อมูลคือ โมเดลการเพิ่มคุณลักษณะ (Gradient Boosting) โมเดลการเพิ่มคุณลักษณะคือกระบวนการเปลี่ยนโมเดลการเรียนรู้ที่อ่อนให้เป็นโมเดลการเรียนรู้ที่เข้มแข็ง แต่ทำอย่างไรจึงจะทำได้ ลองมาดูกันว่าโมเดลการเพิ่มคุณลักษณะทำงานอย่างไร และทำไมจึงสามารถเปลี่ยนโมเดลการเรียนรู้ที่อ่อนให้เป็นโมเดลการเรียนรู้ที่เข้มแข็งได้
การกำหนด Gradient Boosting
บทความนี้มีจุดมุ่งหมายเพื่อให้คุณเข้าใจว่าโมเดลการเพิ่มคุณลักษณะคืออะไร โดยไม่ต้องมีการแบ่งย่อยทางคณิตศาสตร์ที่ซับซ้อน เมื่อคุณเข้าใจว่าโมเดลการเพิ่มคุณลักษณะทำงานอย่างไรแล้ว คุณสามารถศึกษาคณิตศาสตร์ที่ซับซ้อนได้โดยละเอียด
เรามาเริ่มต้นด้วยการกำหนดว่า “การเพิ่มคุณลักษณะ” คืออะไร โมเดลการเรียนรู้ที่อ่อนสามารถเปลี่ยนเป็นโมเดลการเรียนรู้ที่เข้มแข็งได้โดยการปรับเปลี่ยนคุณสมบัติของโมเดลการเรียนรู้ แต่โมเดลการเรียนรู้แบบไหนที่ถูกใช้ในการเพิ่มคุณลักษณะ?
โมเดลการเพิ่มคุณลักษณะทำงานโดยการเพิ่มคุณสมบัติของโมเดลการเรียนรู้อื่น เช่น โมเดลต้นตัดสินใจ (Decision Tree)
โมเดลต้นตัดสินใจทำงานโดยการแบ่งชุดข้อมูลออกเป็นชุดย่อยๆ จนกระทั่งไม่สามารถแบ่งได้อีก และผลลัพธ์คือต้นไม้ที่มี节点และใบ โหนดในต้นตัดสินใจคือจุดที่การตัดสินใจเกิดขึ้นโดยใช้เงื่อนไขการกรองต่างๆ ใบในต้นตัดสินใจคือจุดที่ข้อมูลถูกจัดประเภท โมเดลต้นตัดสินใจสามารถจัดการข้อมูลทั้งแบบตัวเลขและแบบหมวดหมู่ และการแบ่งต้นไม้ขึ้นอยู่กับตัวแปร/คุณสมบัติเฉพาะ

ภาพประกอบวิธีการฝึกอบรมโมเดลการเพิ่มคุณลักษณะ
ภาพ: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)
หนึ่งในอัลกอริทึมการเพิ่มคุณลักษณะคือ อัลกอริทึม AdaBoost อัลกอริทึม AdaBoost เริ่มต้นด้วยการฝึกอบรมโมเดลต้นตัดสินใจและกำหนดหน่วยวัดที่เท่ากันสำหรับการสังเกตการณ์ทั้งหมด หลังจากที่ต้นไม้แรกถูกประเมินแล้ว หน่วยวัดสำหรับการสังเกตการณ์ต่างๆ จะถูกปรับเปลี่ยน การสังเกตการณ์ที่สามารถจัดประเภทได้ง่ายจะมีหน่วยวัดที่ลดลง ในขณะที่การสังเกตการณ์ที่ยากต่อการจัดประเภทจะมีหน่วยวัดที่เพิ่มขึ้น ต้นไม้ใหม่จะถูกสร้างขึ้นโดยใช้หน่วยวัดที่ปรับเปลี่ยนแล้ว โดยมีเป้าหมายที่จะให้การคาดการณ์ของต้นไม้ใหม่นั้นแม่นยำกว่าการคาดการณ์ของต้นไม้แรก
โมเดลที่มีอยู่ในขณะนี้ประกอบด้วยการคาดการณ์ของต้นไม้เดิมและต้นไม้ใหม่ (หรือ Tree 1 + Tree 2) ความแม่นยำในการจัดประเภทจะถูกประเมินอีกครั้งโดยอาศัยโมเดลใหม่ ต้นไม้ที่สามจะถูกสร้างขึ้นโดยอาศัยข้อผิดพลาดที่คำนวณสำหรับโมเดล และหน่วยวัดจะถูกปรับเปลี่ยนอีกครั้ง กระบวนการนี้จะดำเนินต่อไปจนกว่าจะถึงจำนวนการวนซ้ำที่กำหนด และโมเดลสุดท้ายจะเป็นโมเดลアンซัมเบิลที่ใช้ผลรวมของการคาดการณ์ของต้นไม้ทั้งหมดที่สร้างขึ้นก่อนหน้านี้
กระบวนการที่อธิบายไว้ข้างต้นใช้ต้นไม้ตัดสินใจและตัวทำนาย/โมเดลพื้นฐาน แต่อัลกอริทึมการเพิ่มคุณลักษณะสามารถใช้กับโมเดลอื่นๆ ได้ เช่น โมเดล分类และโมเดลการถดถอยทั่วไป คอนเซปต์ที่สำคัญที่ต้องเข้าใจคือตัวทำนายที่ตามมาจะเรียนรู้จากข้อผิดพลาดที่ทำโดยตัวทำนายก่อนหน้านี้ และตัวทำนายจะถูกสร้างขึ้นแบบลำดับ
ข้อดีหลักของอัลกอริทึมการเพิ่มคุณลักษณะคือใช้เวลาน้อยกว่าในการค้นหาการคาดการณ์ปัจจุบันเมื่อเทียบกับโมเดลการเรียนรู้ของเครื่องจักรอื่นๆ อย่างไรก็ตาม ควรใช้ความระมัดระวังเมื่อใช้อัลกอริทึมการเพิ่มคุณลักษณะ เนื่องจากมีแนวโน้มที่จะเกิดการ overfitting
Gradient Boosting
เราจะมาดูกันว่าอัลกอริทึมการเพิ่มคุณลักษณะที่ใช้กันมากที่สุดคืออะไร โมเดลการเพิ่มคุณลักษณะ (GBM) มีความแม่นยำสูง และใช้หลักการเดียวกันกับอัลกอริทึม AdaBoost
ความแตกต่างหลักระหว่างโมเดลการเพิ่มคุณลักษณะและอัลกอริทึม AdaBoost คือ GBM ใช้วิธีการคำนวณที่แตกต่างในการกำหนดว่าตัวทำนายใดที่ไม่ถูกต้อง GBM ใช้การลดค่า (Gradient) เพื่อกำหนดความแม่นยำของตัวทำนาย โดยใช้ฟังก์ชันการลดค่า (Loss Function) กับโมเดล ฟังก์ชันการลดค่าเป็นวิธีการวัดความแม่นยำของโมเดลในการ拟合ข้อมูล และการลดค่าให้เหลือน้อยที่สุด GBM ช่วยให้ผู้ใช้สามารถปรับฟังก์ชันการลดค่าที่กำหนดตามเป้าหมายที่ต้องการ
เมื่อใช้ฟังก์ชันการลดค่าที่พบบ่อยที่สุด เช่น Mean Squared Error (MSE) เป็นตัวอย่าง การลดค่า (Gradient Descent) จะถูกใช้ในการปรับการคาดการณ์โดยอาศัยอัตราการเรียนรู้ที่กำหนดไว้ โดยมีเป้าหมายที่จะหาค่าของการลดค่าที่น้อยที่สุด
เพื่อให้เข้าใจได้ดีขึ้น:
การคาดการณ์ใหม่ = ตัวแปรเอาต์พุต – การคาดการณ์เก่าที่ไม่สมบูรณ์
ในแง่ของสถิติ GBM มุ่งหวังที่จะหาความสัมพันธ์ที่เกี่ยวข้องในโมเดล โดยปรับโมเดลให้เข้ากับแบบฟอร์มและนำความสัมพันธ์ให้ใกล้กับศูนย์มากที่สุด หากคุณทำการถดถอยบนการคาดการณ์ของโมเดล ส่วนที่เหลือจะกระจายอยู่รอบศูนย์ (แบบฟอร์มที่สมบูรณ์แบบ) และ GBM จะหาความสัมพันธ์ภายในส่วนที่เหลือและปรับโมเดลให้เหมาะสม
换句话说 การคาดการณ์จะถูกปรับให้ใกล้กับค่าที่แท้จริงมากที่สุด ซึ่งหมายความว่าค่าของการคาดการณ์จะอยู่ใกล้กับค่าที่แท้จริงมากที่สุด
หมายเหตุว่าฟังก์ชันการลดค่าอื่นๆ เช่น ฟังก์ชันการลดค่าแบบลอการิทึม (Logarithmic Loss) สามารถใช้กับ GBM ได้ ฟังก์ชันการลดค่า MSE ถูกเลือกไว้ข้างต้นเพื่อความเรียบง่าย
รูปแบบต่างๆ ของโมเดลการเพิ่มคุณลักษณะ
โมเดลการเพิ่มคุณลักษณะเป็นอัลกอริทึมที่มีความ贪婪 (Greedy) และมีแนวโน้มที่จะเกิดการ overfitting กับชุดข้อมูล สามารถป้องกันการ overfitting ได้ด้วยวิธีการต่างๆ ที่สามารถปรับปรุงประสิทธิภาพของ GBM
GBM สามารถควบคุมได้ด้วยวิธีการต่อไปนี้: การลดค่า (Shrinkage) การจำกัดต้นไม้ (Tree Constraints) การเพิ่มคุณลักษณะแบบสุ่ม (Stochastic Gradient Boosting) และการเรียนรู้ที่มีการลงโทษ (Penalized Learning)
การลดค่า (Shrinkage)
การคาดการณ์ของ GBM จะถูกบวกเข้าด้วยกันในลักษณะลำดับ ใน “การลดค่า” การบวกของต้นไม้ทุกต้นเข้ากับผลรวมทั้งหมดจะถูกปรับเปลี่ยน หน่วยวัดจะถูกใช้เพื่อชะลอความเร็วในการเรียนรู้ของอัลกอริทึม ซึ่งหมายความว่าต้นไม้มากกว่าหนึ่งต้นจะต้องถูกเพิ่มเข้าไปในโมเดล ซึ่งโดยทั่วไปจะช่วยปรับปรุงความแข็งแกร่งและประสิทธิภาพของโมเดล การแลกเปลี่ยนคือโมเดลจะใช้เวลานานกว่าในการฝึกอบรม
การจำกัดต้นไม้ (Tree Constraints)
การจำกัดต้นไม้ด้วยการปรับเปลี่ยนที่หลากหลาย เช่น การเพิ่มความลึกของต้นไม้ หรือการเพิ่มจำนวนโหนดหรือใบในต้นไม้ สามารถช่วยให้โมเดลไม่เกิดการ overfitting ได้ การกำหนดข้อจำกัดในการแบ่งต้นไม้สามารถมีผลกระทบเช่นเดียวกัน การแลกเปลี่ยนคือโมเดลจะใช้เวลานานกว่าในการฝึกอบรม
การเพิ่มคุณลักษณะแบบสุ่ม (Random Sampling)
ตัวทำนายแต่ละตัวสามารถสร้างขึ้นได้โดยใช้กระบวนการสุ่ม โดยอาศัยตัวอย่างย่อยของชุดข้อมูลฝึกอบรมที่เลือกแบบสุ่ม สิ่งนี้จะช่วยลดความสัมพันธ์ระหว่างต้นไม้ และช่วยป้องกันการ overfitting ชุดข้อมูลสามารถถูกสุ่มเลือกก่อนที่จะสร้างต้นไม้หรือก่อนที่จะพิจารณาการแบ่งต้นไม้
การเรียนรู้ที่มีการลงโทษ (Penalized Learning)
นอกเหนือจากการจำกัดโมเดลโดยการจำกัดโครงสร้างของต้นไม้แล้ว ยังสามารถใช้ต้นไม้การถดถอยได้ ต้นไม้การถดถอยมีค่าจำนวนเต็มที่แนบมากับใบแต่ละใบ ซึ่งทำหน้าที่เป็นน้ำหนักและสามารถปรับเปลี่ยนได้ด้วยฟังก์ชันการลงโทษทั่วไป เช่น L1 และ L2












