การเข้ารหัสและการตรวจสอบข้าม

Aug 18 2020

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

  1. แยกข้อมูลออกเป็นชุดฝึกและทดสอบ (พักสาย)
  2. ติดตั้งเอ็นโค้ดเดอร์ (อย่างใดอย่างหนึ่งLabelEncoderหรือOneHotEncoder) บนชุดรถไฟ
  3. แปลงทั้งรถไฟและชุดทดสอบโดยใช้ตัวเข้ารหัสที่ติดตั้ง

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

ดังนั้นคำถามของฉันคือ:

  1. ฉันพูดถูกเกี่ยวกับความจำเป็นในการติดตั้งเอนโค้ดเดอร์ใน 4 พับไม่ใช่ในการตรวจสอบความถูกต้องที่ 5 ในแต่ละขั้นตอนการตรวจสอบความถูกต้องข้ามหากเราต้องการป้องกันการใส่อุปกรณ์มากเกินไป
  2. ถ้าไม่เป็นเช่นนั้นเหตุใดจึงจำเป็นต้องดำเนินการทั้ง 3 ขั้นตอนที่กล่าวถึงก่อนหน้านี้ในขณะที่จัดการกับชุดรถไฟและการทดสอบ (การระงับ)

คำตอบ

1 Erwan Aug 18 2020 at 07:50

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

เหตุผลคือเหตุผลที่คุณพูดถึงในความคิดเห็น: หากมีป้ายชื่อชั้นเรียนหรือหมวดหมู่คุณลักษณะที่ไม่ปรากฏโดยบังเอิญในชุดการฝึกอบรมเฉพาะในช่วง CV โมเดลไม่ควรรู้ว่าคลาส / หมวดหมู่นี้ด้วยซ้ำ มีอยู่

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

ปัญหาที่เกี่ยวข้องอย่างใกล้ชิดใน NLP คือเมื่อระบบไม่ได้ออกแบบมาเพื่อจัดการกับคำที่ไม่ใช้คำศัพท์ (OOV): หากคำทั้งหมดในชุดฝึกและชุดทดสอบมีการเข้ารหัส (ข้อผิดพลาดเดียวกัน) แสดงว่าผิดพลาดราวกับว่า ข้อความใด ๆ สามารถเข้ารหัสได้อย่างสมบูรณ์ซึ่งอาจทำให้เกิดความประหลาดใจในภายหลัง

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