@DennisSoemers มีทางออกที่ดี ฉันจะเพิ่มโซลูชันที่คล้ายกันสองวิธีซึ่งมีความชัดเจนมากกว่าและอิงตามฟีเจอร์วิศวกรรมและการเลือก: แนวทางปฏิบัติสำหรับแบบจำลองการทำนายโดย Max Kuhn และ Kjell Johnson
Kuhn ใช้คำresample
เพื่ออธิบายfold
ชุดข้อมูล แต่ดูเหมือนว่าคำที่โดดเด่นใน StackExchange จะเป็นfold
ดังนั้นฉันจะใช้คำfold
ด้านล่าง
ตัวเลือก 1 - การค้นหาที่ซ้อนกัน
หากกำลังคำนวณไม่ได้เป็นปัจจัย จำกัด แนะนำให้ใช้วิธีการตรวจสอบความซ้อนหลายระดับซึ่งมีการซ้อน 3 ระดับ:
1) การพับภายนอกแต่ละครั้งมีการเซ็ตย่อยที่แตกต่างกัน
2) การพับภายในแต่ละครั้งพร้อมการค้นหาพารามิเตอร์
3) การพับภายในของการค้นหาพารามิเตอร์แต่ละครั้งแต่ละครั้งจะมีการตั้งค่าพารามิเตอร์ไฮเปอร์พารามิเตอร์ที่แตกต่างกัน
นี่คืออัลกอริทึม:
-> Split data into train and test sets.
-> For each external fold of train set:
-> Select feature subset.
-> Split into external train and test sets.
-> For each internal fold of external train set:
-> Split into internal train and test sets.
-> Perform hyperparameter tuning on the internal train set. Note that this
step is another level of nesting in which the internal train set is split
into multiple folds and different hyperparameter sets are trained and tested on
different folds.
-> Examine the performance of the best hyperparameter tuned model
from each of the inner test folds. If performance is consistent, redo
the internal hyperparameter tuning step on the entire external train set.
-> Test the model with the best hyperparameter set on the external test set.
-> Choose the feature set with the best external test score.
-> Retrain the model on all of the training data using the best feature set
and best hyperparameters for that feature set.
ภาพจากบทที่ 11.2: ตัวกรองแบบง่าย
-> Select feature subset
ขั้นตอนที่บอกเป็นนัย ๆ จะสุ่ม แต่มีเทคนิคอื่น ๆ ซึ่งมีการระบุไว้ในหนังสือเล่มนี้ในบทที่ 11
ชี้แจง-> Perform hyperparameter tuning step
คุณสามารถอ่านข้อมูลเกี่ยวกับวิธีการที่แนะนำของการตรวจสอบข้ามซ้อนกัน แนวคิดคือการทดสอบความทนทานของกระบวนการฝึกอบรมโดยทำซ้ำขั้นตอนการฝึกอบรมและการทดสอบในส่วนต่าง ๆ ของข้อมูลและดูค่าเฉลี่ยของผลการทดสอบ
ตัวเลือกที่ 2 - พารามิเตอร์ไฮเปอร์พารามิเตอร์แยกต่างหากและการค้นหาการเลือกคุณลักษณะ
-> Split data into hyperameter_train, feature_selection_train, and test sets.
-> Select a reasonable subset of features using expert knowledge.
-> Perform nested cross validation with the initial features and the
hyperparameter_train set to find the best hyperparameters as outlined in option 1.
-> Use the best hyperparameters and the feature_selection_train set to find
the best set of features. Again, this process could be nested cross
validation or not, depending on the computational cost that it would take
and the cost that is tolerable.
นี่คือวิธีที่คุณและ Johsnon วลีดำเนินการ:
เมื่อรวมวิธีการค้นหาทั่วโลกเข้ากับแบบจำลองที่มีพารามิเตอร์การปรับแต่งเราขอแนะนำว่าหากเป็นไปได้ชุดคุณลักษณะจะได้รับการทำความเข้าใจก่อนโดยใช้ความรู้จากผู้เชี่ยวชาญเกี่ยวกับปัญหา ถัดไปเป็นสิ่งสำคัญที่จะต้องระบุช่วงที่เหมาะสมของการปรับค่าพารามิเตอร์ หากมีตัวอย่างจำนวนเพียงพอก็สามารถแบ่งออกเป็นสัดส่วนและใช้เพื่อค้นหาช่วงของค่าพารามิเตอร์ที่อาจเป็นไปได้ที่ดีโดยใช้คุณลักษณะทั้งหมด ค่าพารามิเตอร์การปรับอาจไม่ใช่ตัวเลือกที่สมบูรณ์แบบสำหรับชุดย่อยคุณลักษณะ แต่ควรมีประสิทธิภาพพอสมควรสำหรับการค้นหาชุดย่อยที่ดีที่สุด
บทที่ 12.5: วิธีการค้นหาทั่วโลก