คุณจะใช้ชุดข้อมูล 'ทดสอบ' หลังจากการตรวจสอบข้ามได้อย่างไร


25

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

สมมติว่าเราได้บันทึก 20% ของข้อมูลของเราเป็นชุดทดสอบ จากนั้นเราจะแบ่งส่วนที่เหลือแบ่งออกเป็น k เท่าและโดยใช้การตรวจสอบความถูกต้องเราพบว่าแบบจำลองที่สร้างการทำนายที่ดีที่สุดสำหรับข้อมูลที่ไม่รู้จักจากชุดข้อมูลนี้ สมมติว่าแบบจำลองที่ดีที่สุดที่เราพบมีความแม่นยำ75%

แบบฝึกหัดและคำถามมากมายในเว็บไซต์ถามตอบต่างๆบอกว่าตอนนี้เราสามารถตรวจสอบโมเดลของเราในชุดข้อมูล (ทดสอบ) ที่บันทึกไว้ แต่ฉันก็ยังไม่สามารถเข้าใจได้ว่ามันถูกต้องหรือไม่

สมมติว่าเรามีความแม่นยำ70%ในชุดข้อมูลการทดสอบ แล้วเราจะทำอย่างไรต่อไป เราลองแบบอื่นแล้วลองอีกแบบจนกว่าเราจะได้คะแนนสูงในชุดทดสอบของเราหรือไม่ แต่ในกรณีนี้จริงๆมันดูเหมือนว่าเราก็จะได้พบกับรูปแบบที่เหมาะกับการ จำกัด (เพียง 20%) ชุดทดสอบของเรา ไม่ได้หมายความว่าเราจะพบกับโมเดลที่ดีที่สุดโดยทั่วไป

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

ในทางกลับกันถ้าเราใช้ข้อมูลทั้งหมดที่เรามีแล้วเลือกแบบจำลองโดยใช้การตรวจสอบความถูกต้องข้ามของ K-fold เราจะพบรูปแบบที่ทำให้การทำนายที่ดีที่สุดสำหรับข้อมูลที่ไม่รู้จักจากชุดข้อมูลทั้งหมดที่เรามี


1
คุณประเมินโมเดลที่ดีที่สุดของคุณในชุดทดสอบนั้นและรายงานประสิทธิภาพ มันเป็นค่าประมาณที่ดีที่สุดของคุณเกี่ยวกับประสิทธิภาพของรุ่นของคุณ ฉันขอแนะนำให้คุณอ่านหนังสือสองเล่มแรกที่ยอดเยี่ยม "การเรียนรู้จากข้อมูล" โดย Yaser Abu-Mostafa รวบรัดและเข้าถึงได้ง่ายมาก work.caltech.edu/telecourse.html
Vladislavs Dovgalecs

1
ขอบคุณสำหรับหนังสือที่คุณแนะนำ! แต่เกี่ยวกับคำตอบของคำถาม - คุณบอกว่ามันเป็น "การประมาณประสิทธิภาพที่ดีที่สุดของแบบจำลองของคุณ" แต่จริงๆแล้วมันเป็นการประมาณประสิทธิภาพของแบบจำลองในชุดทดสอบขนาดเล็ก (20%)แต่ก็ไม่ได้ หมายถึงแบบจำลองประสิทธิภาพการทำงานโดยทั่วไป
Serhiy

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

ขอบคุณ xeon! สิ่งเดียวที่ยังไม่ชัดเจนสำหรับฉันคือเราจะทำอย่างไรหลังจากประเมินโมเดลโดยใช้ชุดข้อมูลทดสอบ ?
Serhiy

คุณจัดส่งแบบจำลองหากคุณพอใจกับผลลัพธ์หรือค้นหาฟีเจอร์ / อัลกอริทึมที่ดีกว่า / ข้อมูลเพิ่มเติมเพื่อปรับปรุงโมเดล
Vladislavs Dovgalecs

คำตอบ:


20

นี้จะคล้ายกับคำถามอื่นผมตอบเกี่ยวกับการข้ามการตรวจสอบและการทดสอบชุด แนวคิดที่สำคัญที่จะเข้าใจนี่เป็นชุดข้อมูลที่เป็นอิสระ พิจารณาเพียงสองสถานการณ์:

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

ตอนนี้ถ้าฉันเป็นนักวิจัยที่โชคดีฉันจะทำยังไงดี? คุณสามารถลองเลียนแบบสถานการณ์สมมตินั้นได้:

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

วิธีจัดการกับข้อกังวลอื่น ๆ ของคุณ:

สมมติว่าเรามีความแม่นยำ 70% ในชุดข้อมูลทดสอบเราจะทำอย่างไรต่อไป เราลองแบบอื่นแล้วลองอีกแบบจนกว่าเราจะได้คะแนนสูงในชุดข้อมูลทดสอบของเราหรือไม่

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

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

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


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

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

ไม่ข้ามการตรวจสอบความถูกต้องเพียงแค่แบ่งการฝึกอบรมและชุดทดสอบซ้ำ ๆ (ตัวอย่างเช่นชุดการทดสอบเป็น 20% แรกจากนั้น 20% ที่สองจากที่สามและต่อ ๆ ไปหรือสุ่มเลือก 20% สำหรับการทดสอบ n ครั้งและคำนวณความแม่นยำเฉลี่ย) และทำสิ่งเดียวกันแน่นอนซึ่งคุณอธิบายทำกับชุดทดสอบ ไม่แสดงอัลกอริทึมเลยจนกว่าจะทดสอบ?
Zelphir Kaltstahl

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

1
ฉันต้องการเพิ่มที่จริงการกระทำของมองที่มีประสิทธิภาพในชุดทดสอบที่เป็นอิสระของคุณและตัดสินใจที่จะกลับไปฝึกรูปแบบของคุณทำให้ชุดทดสอบของคุณไม่สมบูรณ์อิสระ ในความเป็นจริงคุณสามารถทำสิ่งนี้ได้หลายครั้งจนคุณได้รับความแม่นยำ เกี่ยวกับการอ้างอิงทางวิชาการฉันแนะนำหนังสือ "การเรียนรู้จากข้อมูล" นอกจากนี้ยังมีหลักสูตรออนไลน์ฟรีโดยผู้แต่ง ( work.caltech.edu/telecourse.html )
ไมเคิล

4

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

อย่างไรก็ตามทันทีที่ความรู้ของคุณเกี่ยวกับข้อมูลทำให้คุณทำการเปลี่ยนแปลงใด ๆ จากกลยุทธ์เดิมของคุณคุณได้ "เสีย" ผลลัพธ์ของคุณ ตัวอย่างบางส่วน ได้แก่ :

  • ตัวเลือกรุ่น: คุณทดสอบโลจิสติก, บ่วง, ฟอเรสต์แบบสุ่ม, XGBoost, และสนับสนุนเวกเตอร์แมชชีนและเลือกรุ่นที่ดีที่สุด

  • การปรับพารามิเตอร์: คุณปรับ XGBoost เพื่อหาพารามิเตอร์ที่เหมาะสม

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

  • Missing Imputation: คุณใส่ตัวแปรที่ขาดหายไปด้วยค่าเฉลี่ยหรือด้วยแบบจำลองอย่างง่ายโดยยึดตามตัวแปรอื่น ๆ

  • การแปลงคุณสมบัติ: คุณอยู่กึ่งกลางและปรับขนาดตัวแปรตัวเลขของคุณเพื่อแทนที่ด้วยคะแนน z (จำนวนส่วนเบี่ยงเบนมาตรฐานจากค่าเฉลี่ย)

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

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

https://mlr.mlr-org.com/articles/tutorial/nested_resampling.html


1

ฉันสมมติว่าคุณกำลังจัดหมวดหมู่

นำข้อมูลของคุณและแบ่ง 70/30 เป็นชุดย่อย trainingData / testData ใช้ชุดย่อย trainingData และแยก 70/30 อีกครั้งลงในชุดย่อย trainingData / validateData ตอนนี้คุณมี 3 ส่วนย่อยของข้อมูลดั้งเดิมของคุณ - trainingData (.7 * .7), validateData (.7 * .3) และ testData (.3)

คุณฝึกโมเดลของคุณด้วย trainingData จากนั้นคุณตรวจสอบประสิทธิภาพของโมเดลนั้นโดยใช้ validateData ซึ่งเราสามารถคิดได้ว่าเป็นอิสระจาก trainingData และดังนั้นจึงเป็นการประเมินที่ดีว่าโมเดลนั้นใช้การได้ดีเพียงใด สมมติว่าคุณบรรลุความแม่นยำ 75%

ตอนนี้คุณสั่งสอนแบบจำลองซ้ำหลายครั้ง การอบรมขึ้นใหม่แต่ละครั้งคุณกำลังประเมินชุดพารามิเตอร์หลายมิติ (พารามิเตอร์ที่ป้อนเข้ากับโมเดลของคุณตั้งแต่แรกเทียบกับรุ่นที่คุณปรับให้เหมาะสม) แต่ยังคงใช้ชุดย่อย trainingData การฝึกอบรมแต่ละครั้งคุณจะตรวจสอบอีกครั้งว่าโมเดลใหม่ทั่วไปดีเพียงใดโดยตรวจสอบประสิทธิภาพใน validateData

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

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

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


คำตอบนี้แตกต่างจากคำตอบที่ยอมรับอย่างไร
Jan Kukacka

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

0

ให้เราดูวิธีต่อไปนี้

  1. การปฏิบัติทั่วไป

    a) ข้อมูลการฝึกอบรม - ใช้สำหรับเลือกพารามิเตอร์รุ่น

     i) E.g., finding intercept and slope parameters for an ordinary linear 
        regression model. 
    
     ii) The noise in the training data-set is used in some extent 
         in over-fitting model parameters. 
    

    b) ข้อมูลการตรวจสอบความถูกต้อง - ใช้สำหรับการเลือกพารามิเตอร์ไฮเปอร์

     i)  E.g., we may want to test three different models at step 1.a, say 
         linear model with one, two or three variables.   
    
     ii) The validation data-set is independent from training data, and thus, they provide 
         'unbiased' evaluation to the models, which help to decide which 
         hyper-parameter to use. 
    
     iii) We note that, a model trained in 1.a, say y = b_0+b_1*x_1, does 
         not learn anything from this data-set. So, the noise in this data- 
         set is not used to over-fit the parameters (b_0, b_1), but, over- 
         fit exists in choosing which linear model to use (in terms of 
         number of variables). 
    

    c) ข้อมูลทดสอบ - ใช้เพื่อสร้างความมั่นใจในผลลัพธ์จากสองขั้นตอนข้างต้น

    i) Used once a model is completely trained
    
  2. อีกวิธีในการดูตอนที่ 1

    a) โมเดลผู้สมัครของเราเป็นชุด 5-dimenson กล่าวคือ

    i) Dimension 1: number of variables to keep in the regression model, 
       e.g., [1, 2, 3].
    
    ii) Dimension 2-5: (b_0, b_1, b_2, b_3). 
    

    b) ขั้นตอนที่ 1a ลดผู้สมัครรุ่นจาก 5 มิติเป็น 1 มิติ

    c) ขั้นตอนที่ 1b ลดผู้สมัครรุ่นจาก 1 มิติเป็น 0 มิติซึ่งเป็นรุ่นเดียว

    d) อย่างไรก็ตาม OP อาจคิดว่าผลลัพธ์ 'สุดท้าย' ด้านบนนั้นทำงานได้ไม่ดีพอในชุดข้อมูลการทดสอบและทำซ้ำกระบวนการทั้งหมดอีกครั้งโดยใช้การถดถอยแบบสันแทนการถดถอยเชิงเส้นปกติ จากนั้นชุดข้อมูลทดสอบจะถูกใช้หลายครั้งและอาจทำให้เกิดเสียงรบกวนในข้อมูลนี้อาจทำให้เกิดการ overfitting ในการตัดสินใจว่าจะใช้การถดถอยเชิงเส้นหรือการถดถอยแนวสัน

    e) เพื่อจัดการกับพูลโมเดลมิติสูงที่มีพารามิเตอร์พารามิเตอร์ไฮเปอร์พารามิเตอร์ประเภทโมเดลและวิธีการประมวลผลล่วงหน้าการแยกใด ๆ กับข้อมูลที่มีให้เรานั้นสำคัญคือการกำหนดกระบวนการตัดสินใจ

    i)  Sequentially reducing the model pool to zero-dimension.
    
    ii) Allocating data noise overfitting to different steps of dimension 
        reductions (overfitting the noise in the data is not avoidable but 
        could be allocated smartly). 
    
  3. สรุปและตอบคำถามของ OP

    a) Two-split (การฝึกอบรมและการทดสอบ), Three-Split (การฝึกอบรม, การตรวจสอบและการทดสอบ) หรือจำนวนที่สูงขึ้นของการแบ่งเป็นหลักเกี่ยวกับการลดขนาดและการจัดสรรข้อมูล (โดยเฉพาะเสียงรบกวนและความเสี่ยง

    b) ในบางขั้นตอนคุณอาจพบกลุ่มผู้สมัครสุดท้ายและจากนั้นคุณสามารถคิดถึงวิธีการออกแบบกระบวนการลดมิติตามลำดับเช่น

    i) At each step of reducing the dimensions, the output is satisfactory, 
      e.g., not using just 10 data points with large noise to estimate a 
      six-parameter liner model. 
    
    ii) There are enough data for you to reduce the dimension to zero 
       finally. 
    

    c) ถ้าคุณไม่สามารถบรรลุข

    i) Use model and data insight to reduce the overall dimensionality of 
      your model pool. E.g., liner regression is sensitive to outliers thus 
      not good for data with many large outliers. 
    
    ii) Choose robust non-parametric models or models with less number of 
       parameter if possible. 
    
    iii) Smartly allocating the data available at each step of reducing the 
        dimensionality. There is some goodness of fit tests to help us decide 
        whether the data we use to train the model is enough or not. 
    
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.