การส่งเสริมการเรียนรู้ของเครื่อง: ฟังก์ชัน ประเภท และคุณลักษณะคืออะไร
เผยแพร่แล้ว: 2020-05-29การส่งเสริมการเรียนรู้ของเครื่องเป็นหัวข้อสำคัญ นักวิเคราะห์หลายคนสับสนเกี่ยวกับความหมายของคำนี้ ด้วยเหตุนี้ ในบทความนี้ เราจะมาเรียนรู้ว่าการเพิ่มประสิทธิภาพ Machine Learning มีความหมายอย่างไรและทำงานอย่างไร การบูสต์ช่วยโมเดล ML ในการปรับปรุงความแม่นยำในการทำนาย มาพูดถึงอัลกอริทึมนี้โดยละเอียดกัน:
สารบัญ
Boosting ในการเรียนรู้ของเครื่องคืออะไร?
ก่อนที่เราจะพูดถึง ' การเพิ่มประสิทธิภาพการเรียนรู้ด้วยเครื่อง ' เราควรพิจารณาคำจำกัดความของคำศัพท์นี้ก่อน Boosting หมายถึง 'การให้กำลังใจหรือช่วยบางอย่างในการปรับปรุง' การเพิ่มประสิทธิภาพของแมชชีนเลิร์นนิงทำในสิ่งเดียวกันได้อย่างแม่นยำโดยให้พลังแก่โมเดลการเรียนรู้ของเครื่องและเพิ่มความแม่นยำ ด้วยเหตุนี้จึงเป็นอัลกอริธึมที่เป็นที่นิยมในวิทยาศาสตร์ข้อมูล
การบูสต์ใน ML หมายถึงอัลกอริธึมที่แปลงโมเดลการเรียนรู้ที่อ่อนแอให้กลายเป็นโมเดลที่แข็งแกร่ง สมมติว่าเราต้องจัดประเภทอีเมลในหมวดหมู่ 'สแปม' และ 'ไม่ใช่สแปม' เราสามารถใช้แนวทางต่อไปนี้เพื่อสร้างความแตกต่างเหล่านี้:
- หากอีเมลมีไฟล์ภาพเพียงไฟล์เดียว แสดงว่าเป็นสแปม (เพราะว่ารูปภาพมักจะโปรโมต)
- หากอีเมลมีวลีที่คล้ายกับ "คุณถูกล็อตเตอรี่" แสดงว่าเป็นสแปม
- หากอีเมลมีเพียงลิงก์จำนวนมาก แสดงว่าอีเมลนั้นเป็นสแปม
- หากอีเมลนั้นมาจากแหล่งที่อยู่ในรายชื่อผู้ติดต่อของเรา แสดงว่าไม่ใช่สแปม
แม้ว่าตอนนี้เราจะมีกฎเกณฑ์สำหรับการจัดหมวดหมู่แล้ว แต่คุณคิดว่ากฎเกณฑ์แต่ละข้อแข็งแกร่งพอที่จะระบุได้หรือไม่ว่าอีเมลเป็นสแปมหรือไม่ พวกเขาจะไม่. ในแต่ละบุคคล กฎเหล่านี้ไม่เข้มงวดและไม่เพียงพอที่จะจำแนกอีเมลใน "ไม่ใช่สแปม" หรือ "สแปม" เราจะต้องทำให้พวกเขาแข็งแกร่งขึ้น และเราสามารถทำได้โดยใช้ค่าเฉลี่ยถ่วงน้ำหนักหรือพิจารณาการคาดการณ์ของคะแนนที่สูงขึ้น
ดังนั้น ในกรณีนี้ เรามีตัวแยกประเภทห้าตัว โดยตัวแยกประเภทสามตัวทำเครื่องหมายอีเมลว่าเป็น 'สแปม' ดังนั้น เราจะพิจารณาว่าเป็นอีเมล 'สแปม' โดยค่าเริ่มต้น เนื่องจากคลาสนี้มีคะแนนเสียงที่สูงกว่า 'ไม่ใช่สแปม' หมวดหมู่.
ตัวอย่างนี้คือเพื่อให้คุณทราบว่าอัลกอริธึมการเพิ่มประสิทธิภาพคืออะไร พวกมันซับซ้อนกว่านี้

ดูที่: 25 คำถามและคำตอบสำหรับการสัมภาษณ์การเรียนรู้ของเครื่อง
พวกเขาทำงานอย่างไร
ตัวอย่างข้างต้นแสดงให้เราเห็นว่าการส่งเสริมรวมผู้เรียนที่อ่อนแอเพื่อสร้างกฎเกณฑ์ที่เข้มงวด ดังนั้นคุณจะระบุกฎที่อ่อนแอเหล่านี้ได้อย่างไร หากต้องการค้นหากฎที่ไม่แน่นอน คุณจะต้องใช้อัลกอริทึมการเรียนรู้ตามอินสแตนซ์ เมื่อใดก็ตามที่คุณใช้อัลกอริธึมการเรียนรู้พื้นฐาน มันจะสร้างกฎการคาดการณ์ที่อ่อนแอ คุณจะทำขั้นตอนนี้ซ้ำหลายครั้ง และในการทำซ้ำแต่ละครั้ง อัลกอริธึมการเร่งความเร็วจะรวมกฎที่ไม่รัดกุมเพื่อสร้างกฎที่เข้มงวด
อัลกอริธึมการเพิ่มประสิทธิภาพจะเลือกการกระจายที่เหมาะสมสำหรับทุกการวนซ้ำผ่านหลายขั้นตอน อันดับแรก จะใช้การจัดสรรต่างๆ ทั้งหมดและกำหนดน้ำหนักให้เท่ากัน หากอัลกอริธึมการเรียนรู้พื้นฐานแรกเกิดข้อผิดพลาด ก็จะเพิ่มน้ำหนักให้กับการสังเกตเหล่านั้นมากขึ้น หลังจากกำหนดน้ำหนักแล้ว เราก็ไปขั้นตอนต่อไป
ในขั้นตอนนี้ เราจะทำขั้นตอนซ้ำไปเรื่อยๆ จนกว่าเราจะเพิ่มความแม่นยำของอัลกอริทึม จากนั้นเราจะรวมเอาเอาท์พุตของผู้เรียนที่อ่อนแอ และสร้างผลลัพธ์ที่แข็งแกร่ง ซึ่งจะเสริมศักยภาพโมเดลของเราและช่วยในการคาดการณ์ที่ดีขึ้น อัลกอริธึมการส่งเสริมเน้นที่สมมติฐานที่ก่อให้เกิดข้อผิดพลาดสูงเนื่องจากกฎที่อ่อนแอ
เรียนรู้เพิ่มเติม: 5 แอปพลิเคชั่นสุดล้ำของการเรียนรู้ของเครื่อง
อัลกอริธึมการเพิ่มประสิทธิภาพประเภทต่างๆ
อัลกอริธึมการบูสต์สามารถใช้เอ็นจิ้นพื้นฐานได้หลายประเภท รวมถึง margin-maximizers ตราประทับการตัดสินใจ และอื่นๆ โดยพื้นฐานแล้วอัลกอริธึมการเพิ่มประสิทธิภาพการเรียนรู้ของเครื่องมีสามประเภท:
- Adaptive Boosting (เรียกอีกอย่างว่า AdaBoosta)
- ไล่โทนสี
- XGBoost
เราจะพูดถึงสองข้อแรกคือ AdaBoost และ Gradient Boosting โดยสังเขปในบทความนี้ XGBoost เป็นหัวข้อที่ซับซ้อนกว่ามาก ซึ่งเราจะพูดถึงในบทความอื่น
1. Adaptive Boosting
สมมติว่าคุณมีกล่องที่มีข้อดีห้าข้อและข้อเสียห้าข้อ งานของคุณคือจัดประเภทและใส่ไว้ในตารางต่างๆ
ในการทำซ้ำครั้งแรก คุณจะกำหนดน้ำหนักที่เท่ากันให้กับทุกจุดข้อมูล และใช้ตอการตัดสินใจในกล่อง อย่างไรก็ตาม บรรทัดนี้แยกข้อดีสองประการออกจากกลุ่มเท่านั้น และส่วนอื่นๆ ทั้งหมดยังคงอยู่ด้วยกัน ตอการตัดสินใจของคุณ (ซึ่งเป็นเส้นที่ตัดผ่านกล่องที่เราคาดไว้) ล้มเหลวในการทำนายจุดข้อมูลทั้งหมดอย่างถูกต้อง และใส่เครื่องหมายบวกสามจุดด้วยเครื่องหมายลบ

ในการทำซ้ำครั้งต่อไป เรากำหนดน้ำหนักเพิ่มเติมให้กับข้อดีสามประการที่เราพลาดไปก่อนหน้านี้ แต่คราวนี้ ตอการตัดสินใจแยกสองนาทีจากกลุ่ม เราจะกำหนดน้ำหนักเพิ่มเติมให้กับ minuses ที่เราพลาดในการวนซ้ำนี้และทำซ้ำขั้นตอน หลังจากการทำซ้ำหนึ่งหรือสองครั้ง เราสามารถรวมผลลัพธ์เหล่านี้สองสามผลลัพธ์เพื่อสร้างกฎการคาดการณ์ที่เข้มงวด
AdaBoost ทำงานในลักษณะนี้ อันดับแรกจะทำนายโดยใช้ข้อมูลเดิมและกำหนดน้ำหนักให้เท่ากันทุกจุด จากนั้นจึงให้ความสำคัญกับข้อสังเกตที่ผู้เรียนคนแรกคาดเดาไม่ถูกต้องมากขึ้น มันทำซ้ำกระบวนการจนกว่าจะถึงขีดจำกัดในความแม่นยำของแบบจำลอง
คุณสามารถใช้ตราประทับการตัดสินใจรวมถึงอัลกอริธึม Machine Learning อื่นๆ กับ Adaboost
นี่คือตัวอย่างของ AdaBoost ใน Python:
จาก sklearn.ensemble นำเข้า AdaBoostClassifier
จาก sklearn.datasets นำเข้า make_classification
X,Y = make_classification(n_samples=100, n_features=2, n_informative=2,
n_redundant=0, n_repeated=0, random_state=102)
clf = AdaBoostClassifier(n_estimators=4, random_state=0, algorithm='SAMME')
clf.fit(X, Y)
2. การเร่งไล่ระดับ
การเร่งความเร็วแบบไล่ระดับใช้ วิธีการไล่ระดับ การไล่ระดับสี เพื่อลดฟังก์ชันการสูญเสียของการดำเนินการทั้งหมด การไล่ระดับสีแบบไล่ระดับเป็นอัลกอริธึมการเพิ่มประสิทธิภาพอันดับแรกที่ค้นหาฟังก์ชันขั้นต่ำในเครื่อง (ฟังก์ชันที่แตกต่าง) การเร่งความเร็วแบบไล่ระดับจะฝึกโมเดลหลายตัวตามลำดับ และสามารถใส่โมเดลใหม่เพื่อให้ได้ค่าประมาณการตอบสนองที่ดีขึ้น
มันสร้างผู้เรียนพื้นฐานใหม่ที่สามารถสัมพันธ์กับการไล่ระดับเชิงลบของฟังก์ชันการสูญเสียและที่เชื่อมต่อกับทั้งระบบ ใน Python คุณจะต้องใช้ Gradient Tree Boosting (เรียกอีกอย่างว่า GBRT) คุณสามารถใช้สำหรับการจัดหมวดหมู่และปัญหาการถดถอย
ต่อไปนี้คือตัวอย่างการเร่งต้นไม้แบบไล่ระดับใน Python:
จาก sklearn.ensemble นำเข้า GradientBoostingRegressor
model = GradientBoostingRegressor(n_estimators=3,learning_rate=1)
รุ่นพอดี(X,Y)
#สำหรับการจัดหมวดหมู่
จาก sklearn.ensemble นำเข้า GradientBoostingClassifier
รุ่น = GradientBoostingClassifier()

รุ่นพอดี(X,Y)
คุณสมบัติของการส่งเสริมในการเรียนรู้ของเครื่อง
การบูสต์มีข้อดีหลายประการ และเช่นเดียวกับอัลกอริธึมอื่น ๆ มันมีข้อจำกัดเช่นกัน:
- การตีความการคาดการณ์ของการเพิ่มกำลังค่อนข้างเป็นธรรมชาติเพราะเป็นแบบจำลองทั้งมวล
- โดยจะเลือกคุณสมบัติโดยปริยาย ซึ่งเป็นข้อดีอีกอย่างของอัลกอริทึมนี้
- พลังการทำนายของอัลกอริธึมส่งเสริมมีความน่าเชื่อถือมากกว่าแผนผังการตัดสินใจและการบรรจุถุง
- การเพิ่มขนาดขึ้นค่อนข้างยุ่งยาก เนื่องจากตัวประมาณการทุกตัวในการส่งเสริมจะขึ้นอยู่กับตัวประมาณก่อนหน้านี้
อ่านเพิ่มเติม: แนวคิดโครงการการเรียนรู้ของเครื่องสำหรับผู้เริ่มต้น
จะไปจากที่นี่ที่ไหน?
เราหวังว่าคุณจะพบบทความนี้เกี่ยวกับการส่งเสริมมีประโยชน์ ขั้นแรก เราได้พูดถึงว่าอัลกอริธึมนี้คืออะไรและแก้ปัญหาการเรียนรู้ของเครื่องอย่างไร จากนั้นเรามาดูการทำงานและวิธีการทำงานของมัน
นอกจากนี้เรายังกล่าวถึงประเภทต่างๆ เราพบข้อมูลเกี่ยวกับ AdaBoost และ Gradient Boosting ในขณะที่แชร์ตัวอย่างด้วยเช่นกัน หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's PG Diploma in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT- สถานะศิษย์เก่า B, 5+ โครงการหลักที่ใช้งานได้จริง & ความช่วยเหลือด้านงานกับบริษัทชั้นนำ
ฉันจะกำหนดการส่งเสริมในการเรียนรู้ของเครื่องด้วยคำศัพท์ง่ายๆ ได้อย่างไร
การเพิ่มประสิทธิภาพในเครื่องประกอบด้วยการอ้างถึงอัลกอริธึมที่ช่วยแปลงโมเดลการเรียนรู้ที่อ่อนแอเป็นโมเดลที่แข็งแกร่ง หากเรายกตัวอย่างการจำแนกอีเมลว่าเป็นสแปม ไม่ใช่สแปม จะมีความแตกต่างบางประการที่สามารถใช้เพื่อทำความเข้าใจได้ง่ายขึ้น ความแตกต่างเหล่านี้สามารถเข้าถึงได้เมื่ออีเมลมีไฟล์เดียว มีวลีที่คล้ายกันเช่น คุณถูกลอตเตอรี มีลิงก์จำนวนมาก และมาจากรายชื่อผู้ติดต่อ
อัลกอริทึมการเพิ่มประสิทธิภาพทำงานอย่างไร
กฎที่อ่อนแอจะถูกระบุโดยใช้อัลกอริธึมการเรียนรู้ตามอินสแตนซ์ เมื่ออัลกอริธึมการเรียนรู้พื้นฐานถูกนำไปใช้ในการทำซ้ำหลายๆ ครั้ง ในที่สุดก็จะรวมกฎที่ไม่รัดกุมเป็นกฎที่แข็งแกร่งเพียงกฎเดียว อัลกอริธึมการบูสต์เป็นทางเลือกที่เหมาะสมสำหรับการกระจายทุกการวนซ้ำผ่านหลายขั้นตอน หลังจากจัดสรรแล้ว จะกำหนดน้ำหนักให้เท่ากันจนกว่าจะเกิดข้อผิดพลาด หลังจากนั้นจึงกำหนดน้ำหนักให้มากขึ้น กระบวนการนี้ทำซ้ำจนกว่าจะได้ความแม่นยำที่ดีขึ้น หลังจากนั้น ผลลัพธ์ที่อ่อนแอทั้งหมดจะถูกรวมเข้าด้วยกันเพื่อสร้างความแข็งแกร่ง
อัลกอริธึมการบูสต์ประเภทต่าง ๆ และคุณลักษณะมีอะไรบ้าง
ประเภทต่างๆ ได้แก่ การเพิ่มแบบปรับตัว การเพิ่มระดับการไล่ระดับสี และ XGBoost การส่งเสริมมีลักษณะเหมือนเลือกคุณสมบัติโดยปริยาย ต้นไม้แห่งการตัดสินใจมีความน่าเชื่อถือน้อยกว่าพลังการทำนาย นอกจากนี้ การปรับขนาดจะยากขึ้นเนื่องจากตัวประมาณจะขึ้นอยู่กับค่าก่อนหน้านี้ และการตีความการคาดคะเนการบูสต์นั้นเป็นธรรมชาติเนื่องจากเป็นแบบจำลองทั้งมวล