16 ตุลาคม 2026 · วิจัย

เอเจนต์วิจัย AI ของคุณเห็นชุดทดสอบแล้ว: 3 วิธีที่ทำให้คะแนนปนเปื้อน

เอเจนต์วิจัย AI ของคุณเห็นชุดทดสอบแล้ว: 3 วิธีที่ทำให้คะแนนปนเปื้อน

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

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

ข้อผิดพลาดที่ 1: ปล่อยให้เอเจนต์แอบดูหลังการรันทุกครั้ง

ร่องรอยความเสียหายมักปรากฏเป็นค่า Sharpe บนชุดทดสอบที่ค่อยๆ สูงขึ้นเป็นขั้นอย่างเป็นระเบียบ เอเจนต์ลอง 30 รูปแบบ เลือกรูปแบบที่ดีที่สุด แล้วลองอีก 30 รูปแบบโดยอิงจากรูปแบบนั้น การเปลี่ยนแปลงแต่ละครั้งดูสมเหตุสมผลเมื่อพิจารณาแยกกัน แต่เมื่อรวมกันแล้ว ช่วงทดสอบก็กลายเป็นเป้าหมายของการหาค่าที่เหมาะที่สุด

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

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

ข้อผิดพลาดที่ 2: เรียกทุกช่วงเวลาหลังจากนั้นว่า “ใหม่”

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

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

การประเมินแบบ walk-forward ที่เลื่อนไปตามเวลาอาจช่วยประเมินได้ว่ากระบวนการวิจัยแบบคงที่มีพฤติกรรมอย่างไรเมื่อเวลาผ่านไป แต่นั่นไม่ได้หมายความว่าจะเปิดดูผลของทุกช่วงย่อยได้ไม่จำกัด หากเอเจนต์เห็นผลของแต่ละช่วงแล้วปรับการค้นหา ช่วงเหล่านั้นก็เป็นข้อมูลป้อนกลับเช่นกัน เก็บช่วงเวลาสุดท้ายที่ยังไม่แตะต้องไว้สำหรับการตัดสินใจที่คุณต้องการทำจริงๆ

ข้อผิดพลาดที่ 3: ล็อกโค้ดไว้ แต่เปลี่ยนคำถาม

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

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

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

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

ฉันยังเรียนรู้อะไรจากชุดข้อมูลที่กันไว้ซึ่งปนเปื้อนแล้วได้บ้าง?

มันยังมีประโยชน์ ใช้ดูได้ว่ากลยุทธ์มีพฤติกรรมอย่างไรในช่วงเวลานั้น และช่วยวินิจฉัยความล้มเหลวได้ เพียงหยุดนำคะแนนของมันมาแสดงเสมือนเป็นการยืนยันผลอย่างอิสระ ใช้มันเป็นหลักฐานประกอบการพัฒนา ล็อกตัวเลือกถัดไป แล้วประเมินตัวเลือกนั้นกับช่วงข้อมูลอนาคตสำหรับทดสอบบนกระดาษ โดยใช้สมมติฐานด้านบัญชีและการส่งคำสั่งแบบเดิม

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

เอเจนต์ AIการฟิตเกินการวิจัยกลยุทธ์การทดสอบย้อนหลัง
แชร์XLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← บทความทั้งหมด