Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีการสร้าง Ensemble Classifier (ตัวจำแนกแบบกลุ่ม)


แนวคิดคือสร้าง multiple classifiers จากข้อมูลต้นฉบับ แล้วรวม (aggregate) การทำนายของพวกเขาเมื่อจัดประเภทตัวอย่างที่ไม่รู้จัก (unknown examples) Ensemble of classifiers สามารถสร้างได้หลายวิธี ดังนี้ −

1. โดยการจัดการ Training Set (Manipulating the Training Set) − สร้าง training sets หลายชุดโดย resampling ข้อมูลต้นฉบับตาม sampling distribution บางอย่าง Sampling distribution กำหนดว่า instances ไหนมีโอกาสถูกเลือกฝึกอบรม และอาจเปลี่ยนแปลงจาก trial หนึ่งไปอีก trial หนึ่ง สร้าง classifier จากแต่ละ training set โดย learning algorithm เฉพาะ Bagging และ Boosting เป็นตัวอย่างของ ensemble methods ที่จัดการ training sets

2. โดยการจัดการ Input Features (Manipulating the Input Features) − เลือก subset ของ input features มาสร้างแต่ละ training set Subset อาจเลือกแบบสุ่ม หรืออิงคำแนะนำจาก domain experts หลายๆ study แสดงว่าวิธีนี้ทำงานดีมากกับ data sets ที่มี features ที่ redundant (ซ้ำซ้อน) มาก Random Forest เป็น ensemble technique ที่จัดการ input features และใช้ decision trees เป็น base classifiers

3. โดยการจัดการ Class Labels (Manipulating the Class Labels) − ใช้ได้เมื่อจำนวนคลาสเพียงพอ ข้อมูลฝึกอบรมถูกเปลี่ยนเป็น binary class problem โดยสุ่มแบ่ง class labels เป็น 2 subset ที่ไม่ทับซ้อนกัน เช่น A0 และ A1 Training instances ที่ class labels อยู่ใน A0 ถูกจัดเป็น class 0 ส่วนที่อยู่ใน A1 เป็น class 1 Instances ที่ relabel แล้วถูกนำไป train base classifier โดยทำซ้ำ class-relabeling และ model-building หลายครั้ง จะได้ ensemble ของ base classifiers

เมื่อมี test instance แต่ละ base classifier Ci จะทำนาย class label ถ้าทำนายเป็น class 0 ทุกคลาสใน A0 จะได้โหวต

4. โดยการจัดการ Learning Algorithm (Manipulating the Learning Algorithm) − Learning algorithms บางตัวสามารถจัดการได้เพื่อให้การใช้ algorithm หลายครั้งบน training data เดียวกัน ให้ models หลายแบบ ตัวอย่าง Neural Network สร้างหลายโมเดลโดยเปลี่ยน network topology หรือ initial weights ของ connections ระหว่าง neurons ทương tự ensemble ของ decision trees สร้างได้โดยการ inject randomness เข้าไปใน tree-growing process

วิธี 3 ข้อแรกเป็น generic techniques ใช้ได้กับ classifiers หลายตัว ข้อที่ 4 ขึ้นอยู่กับประเภท classifier Base classifiers สร้างได้แบบ sequential (ต่อเนื่อง) หรือ parallel (พร้อมกัน)

ขั้นตอนแรกคือสร้าง training set จากข้อมูลต้นฉบับ D ขึ้นอยู่กับประเภท ensemble approach training sets จะเป็น identical หรือ slight variations ของ D ขนาด training set คงไว้เท่าเดิม แต่การกระจายของ instances อาจไม่เหมือนกัน บาง instances อาจปรากฏหลายครั้ง บางอาจไม่ปรากฏเลย