ต้นขั้ว Gradient Boosting คืออะไร? - Unite.AI
เชื่อมต่อกับเรา
มาสเตอร์คลาส AI:

AI 101

Gradient Boosting คืออะไร?

mm
วันที่อัพเดท on

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

การกำหนดการเพิ่มการไล่ระดับสี

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

เรามาเริ่มด้วยการนิยามความหมายของการ “ส่งเสริม” ผู้เรียน ผู้เรียนที่อ่อนแอจะถูกเปลี่ยนให้เป็นผู้เรียนที่เข้มแข็งโดยการปรับคุณสมบัติของรูปแบบการเรียนรู้ อัลกอริทึมการเรียนรู้ใดที่ได้รับการส่งเสริมกันแน่?

การส่งเสริมโมเดลทำงานโดยการเพิ่มโมเดลแมชชีนเลิร์นนิงทั่วไป ต้นไม้ตัดสินใจ

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

ภาพประกอบของวิธีการฝึกโมเดลการบูสต์
รูปภาพ: SeattleDataBuy ผ่าน Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

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

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

กระบวนการที่อธิบายไว้ข้างต้นใช้ Decision Trees และตัวทำนาย/ตัวแบบพื้นฐาน แต่วิธีการส่งเสริมสามารถดำเนินการได้ด้วยตัวแบบที่หลากหลาย เช่น ตัวแยกประเภทมาตรฐานและตัวจำลองแบบถดถอย แนวคิดหลักที่ต้องทำความเข้าใจคือตัวทำนายที่ตามมาจะเรียนรู้จากข้อผิดพลาดที่เกิดขึ้นโดยตัวทำนายก่อนหน้า และตัวทำนายจะถูกสร้างขึ้นตามลำดับ

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

ไล่โทนสี

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

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

ใช้ฟังก์ชันการสูญเสียที่พบบ่อยที่สุด – ค่าเฉลี่ยกำลังสองข้อผิดพลาด (MSE) - ตัวอย่างเช่น, การไล่ระดับสี ใช้เพื่ออัปเดตการคาดคะเนตามอัตราการเรียนรู้ที่กำหนดไว้ล่วงหน้า โดยมีเป้าหมายเพื่อค้นหาค่าที่สูญเสียน้อยที่สุด

เพื่อให้ชัดเจนยิ่งขึ้น:

การคาดคะเนโมเดลใหม่ = ตัวแปรเอาต์พุต - การคาดคะเนแบบเก่าที่ไม่สมบูรณ์

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

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

โปรดทราบว่า GBM สามารถใช้ฟังก์ชันการสูญเสียอื่นๆ ได้หลากหลาย (เช่น การสูญเสียลอการิทึม) เลือก MSE ด้านบนเพื่อความเรียบง่าย

รูปแบบต่างๆ ของโมเดลการเพิ่มการไล่ระดับสี

Gradient Boosting Models เป็นอัลกอริธึมโลภที่มีแนวโน้มที่จะใช้ชุดข้อมูลมากเกินไป สามารถป้องกันได้ด้วย หลากหลายวิธี ที่สามารถปรับปรุงประสิทธิภาพของ GBM

GBM สามารถควบคุมได้ด้วยสี่วิธีที่แตกต่างกัน: การหดตัว ข้อจำกัดของต้นไม้ การส่งเสริมการไล่ระดับสีแบบสุ่ม และการเรียนรู้ที่ถูกลงโทษ

การหดตัว

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

ข้อจำกัดของต้นไม้

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

สุ่มตัวอย่าง

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

การเรียนรู้ที่ถูกลงโทษ

นอกเหนือจากการจำกัดโมเดลด้วยการจำกัดโครงสร้างของต้นไม้แล้ว ยังสามารถใช้แผนผังการถดถอยได้อีกด้วย ต้นไม้ถดถอยจะมีค่าตัวเลขติดอยู่กับใบไม้แต่ละใบ และฟังก์ชันเหล่านี้เป็นน้ำหนักและสามารถปรับเปลี่ยนได้ด้วยฟังก์ชันการทำให้เป็นมาตรฐานทั่วไป เช่น การทำให้เป็นมาตรฐาน L1 และ L2

บล็อกเกอร์และโปรแกรมเมอร์ที่มีความเชี่ยวชาญด้าน เครื่องเรียนรู้ และ การเรียนรู้ลึก ๆ หัวข้อ Daniel หวังว่าจะช่วยให้ผู้อื่นใช้พลังของ AI เพื่อประโยชน์ทางสังคม