ฉันสามารถใช้ชุดการตรวจสอบความถูกต้องจิ๋วได้ไหม?


15

ฉันเข้าใจเหตุผลที่อยู่เบื้องหลังการแยกข้อมูลออกเป็นชุดการทดสอบและชุดการตรวจสอบความถูกต้อง ฉันเข้าใจด้วยว่าขนาดของการแยกจะขึ้นอยู่กับสถานการณ์ แต่โดยทั่วไปจะแตกต่างกันจาก 50/50 ถึง 90/10

ฉันสร้าง RNN เพื่อแก้ไขการสะกดและเริ่มต้นด้วยชุดข้อมูลของประโยค ~ 5m ฉันโกนประโยคที่มีขนาด 500k แล้วฝึกด้วยประโยคที่เหลืออีกประมาณ 4.5m เมื่อการฝึกอบรมเสร็จสิ้นฉันจะใช้ชุดการตรวจสอบความถูกต้องและคำนวณความถูกต้อง

สิ่งที่น่าสนใจคือหลังจากเพียง 4% ของชุดการตรวจสอบความถูกต้องของฉันฉันมีความแม่นยำ 69.4% และเปอร์เซ็นต์นี้ไม่เปลี่ยนแปลงมากกว่า 0.1% ในทิศทางใดทิศทางหนึ่ง ในที่สุดฉันเพิ่งตัดการตรวจสอบสั้นเพราะจำนวนติดอยู่ที่ 69.5%

เหตุใดจึงต้องลดราคา 10% สำหรับการตรวจสอบความถูกต้องเมื่อฉันสามารถหนีไปได้ด้วย 1% มันสำคัญไหม


4
คำตอบทั่วไปคือขนาดตัวอย่างใหญ่ขึ้นแล้วฉันจะบอกว่า 10,000 จะเป็นตัวแทนย่อยของประชากร การเพิ่มตัวอย่างถ้าวาดอย่างถูกต้องอาจมีค่าใช้จ่ายสูงในขณะที่ค่าประมาณที่คุณเห็นจะเท่ากัน มองหาแนวคิดช่วงความมั่นใจ
Alexey Burnakov

คำตอบ:


20

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

เพื่อความแม่นยำในการจำแนกประเภทที่ถูกต้อง / ไม่ถูกต้องคุณสามารถคำนวณข้อผิดพลาดมาตรฐานของการประมาณเป็น (ค่าเบี่ยงเบนมาตรฐานของตัวแปร Bernouilli) โดยที่คือความน่าจะเป็นของการจำแนกประเภทที่ถูกต้องคือขนาดของชุดการตรวจสอบความถูกต้อง แน่นอนคุณไม่รู้แต่คุณอาจมีความคิดเกี่ยวกับช่วงของมัน เช่นสมมติว่าคุณคาดหวังความถูกต้องระหว่าง 60-80% และคุณต้องการให้ค่าประมาณของคุณมีข้อผิดพลาดมาตรฐานน้อยกว่า 0.1%: ขนาดใหญ่ควร (ขนาดเท่ากับ ชุดการตรวจสอบ) เป็นอย่างไร สำหรับเราได้รับ: สำหรับ pnpพี(1-พี)/nพีnพีnp=0.6n> 0.6 - 0.6 2

พี(1-พี)/n<0.001
nพี=0.6p=0.8n>0.8-0.82
n>0.6-0.620.0012=240,000
พี=0.8เราได้รับ: ดังนั้นสิ่งนี้บอกเราว่าคุณสามารถหลีกเลี่ยงการใช้ตัวอย่างข้อมูลน้อยกว่า 5% จาก 5 ล้านตัวอย่างเพื่อตรวจสอบความถูกต้อง เปอร์เซ็นต์นี้จะลดลงหากคุณคาดหวังประสิทธิภาพที่สูงขึ้นหรือโดยเฉพาะอย่างยิ่งถ้าคุณพอใจกับข้อผิดพลาดมาตรฐานที่ต่ำกว่าของการประเมินประสิทธิภาพแบบไม่อยู่ในกลุ่มตัวอย่าง (เช่นและสำหรับ se <1% คุณต้องการตัวอย่างการตรวจสอบเพียง 2100 เท่านั้น หรือน้อยกว่าหนึ่งในยี่สิบของเปอร์เซ็นต์ของข้อมูลของคุณ)p=0.7
n>0.8-0.820.0012=160,000
พี=0.7

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

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


14
โปรดทราบว่าบรรลุสูงสุดที่ซึ่งในกรณีนี้1/4 ดังนั้นคุณสามารถใช้เป็นค่าประมาณที่แย่ที่สุดเสมอ โดยเฉพาะอย่างยิ่งตัวอย่างการตรวจสอบความถูกต้อง 250,000 รายการควรเพียงพอที่จะบรรลุเป้าหมายของคุณที่มีข้อผิดพลาดมาตรฐาน <0.1% สูงสุด (และ 2,500 ตัวอย่างจะเพียงพอสำหรับ <1%) โดยไม่คำนึงถึงความแม่นยำในการจำแนกประเภทที่แท้จริง พี(1-พี)พี=1/2พี(1-พี)=1/4พี(1-พี)/n1/4n
Ilmari Karonen

11

การอภิปรายที่ดีของปัญหานี้ให้บริการโดยแอนดรูอึ้งเขาหลักสูตรการเรียนรู้ลึก Coursera.org ในขณะที่เขาบันทึกแยกมาตรฐานเช่น 8: 2 หรือ 9: 1 จะถูกต้องหากข้อมูลของคุณมีขนาดเล็กถึงใหญ่ แต่ปัญหาการเรียนรู้ของเครื่องวันปัจจุบันจำนวนมากใช้ข้อมูลจำนวนมาก (เช่นการสังเกตหลายล้านครั้งในกรณีของคุณ) และในสถานการณ์เช่นนี้คุณสามารถปล่อยให้ข้อมูล 2%, 1% หรือน้อยกว่าเป็นชุดทดสอบโดยนำข้อมูลที่เหลือทั้งหมดสำหรับชุดฝึกอบรมของคุณ (เขาระบุว่าใช้ชุด dev ด้วย) ข้อมูลที่คุณป้อนอัลกอริทึมของคุณดีกว่าสำหรับประสิทธิภาพของมันและนี่เป็นความจริงโดยเฉพาะอย่างยิ่งสำหรับการเรียนรู้ลึก* (เขายังตั้งข้อสังเกตว่าสิ่งนี้จะต้องไม่เป็นกรณีสำหรับอัลกอริทึมการเรียนรู้

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

* - ข้อสงวนสิทธิ์:ฉันกำลังทำซ้ำข้อโต้แย้งของ Andrew Ng ที่นี่ฉันจะไม่ถือว่าตัวเองเป็นผู้เชี่ยวชาญในการเรียนรู้อย่างลึกซึ้ง


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

โดยเฉพาะอย่างยิ่งนี่คือการบรรยายในชุด 'Train / Dev / Test' ในสัปดาห์ที่ 1 ของ'การปรับปรุงโครงข่ายประสาทเทียมลึก: การปรับจูนพารามิเตอร์, การปรับมาตรฐานและการเพิ่มประสิทธิภาพ' (ซึ่งเป็นข้อ 2 ของความเชี่ยวชาญการเรียนรู้เชิงลึกทั้งหมด)
icc97

2
นี่คือคำพูดที่สมบูรณ์จากการบรรยาย: "ดังนั้นในตัวอย่างนี้ที่คุณมีตัวอย่างนับล้านถ้าคุณต้องการเพียง 10,000 สำหรับ dev ของคุณและ 10,000 สำหรับการทดสอบอัตราส่วนของคุณจะมากกว่านี้ 10,000 คือ 1% ของ 1 ล้านดังนั้นคุณ จะมีรถไฟ 98%, 1% dev, ทดสอบ 1% และฉันยังเห็นแอปพลิเคชั่นที่ถ้าคุณมีตัวอย่างมากกว่าล้านตัวอย่างคุณอาจลงเอยด้วยรถไฟ 99.5% และ 0.25% dev, ทดสอบ 0.25% หรืออาจจะเป็น 0.4% dev, ทดสอบ 0.1% "
icc97

5

ในบทความAsymptotic Statistical Theory of Overtraining and Cross-Validationโดย Shun-ichi Amari และคณะ [1] พวกเขาศึกษาจำนวนตัวอย่างที่เหมาะสมที่สุดที่จะออกไปเป็นชุดการตรวจสอบความถูกต้อง (เพื่อจุดประสงค์ในการหยุดก่อนกำหนด) และสรุปว่าการแยกที่ดีที่สุดคือโดยที่คือจำนวนตัวอย่างที่มีอยู่ ในกรณีของคุณและแยกที่ดีที่สุดคือ\% ตามสูตรตัวอย่าง1580ควรจะเหมาะสมที่สุดในกรณีของคุณ1/2NNN=51060.00032=0.032%

[1] https://www.ncbi.nlm.nih.gov/pubmed/18255701

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.