The Parameter Devil - วิธีการตั้งค่าเมื่อไม่มีการตรวจสอบความถูกต้องกับความจริงของพื้นดิน [ปิด]


9

คำถาม:

ฉันต้องการพูดคุยเกี่ยวกับวิธีที่ผู้คนตั้งค่าพารามิเตอร์อัลกอริทึมเมื่อไม่มีการตรวจสอบความถูกต้องกับความจริงของพื้นดิน (อาจเป็นเพราะความจริงไม่สามารถรับได้หรือเป็นเรื่องยาก / น่าเบื่อมากที่จะได้รับ)

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

ฉันจะขอบคุณถ้าคุณสามารถแบ่งปันความคิดของคุณ และไม่มีคำตอบที่ถูกหรือผิดสำหรับคำถามนี้ ฉันแค่อยากรู้ว่าคนอื่น ๆ เกี่ยวข้องกับเรื่องนี้อย่างไร

ประวัติความเป็นมา / ที่มาของคำถาม:

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

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

ฉันต้องการให้คุณเป็นตัวอย่างที่เป็นรูปธรรมเพียงเพื่อช่วยให้คุณคิดว่า:

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

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

ปีศาจพารามิเตอร์นี้มีปัญหามากขึ้นเมื่อคุณกำลังตั้งค่าพารามิเตอร์สำหรับขั้นตอนกลางบางอย่างในอัลกอริทึมของคุณ

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

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

กรุณาแบ่งปันความคิดของคุณ


1
การเปิดI want to kick up a discussion ...เป็นสิ่งบ่งชี้ที่ดีจริงๆว่าสิ่งที่คุณถามนั้นไม่เหมาะสำหรับรูปแบบ * .SE
Peter K.

คำตอบ:


2

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

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

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

ไม่ว่าในกรณีใดคุณไม่ควรให้พารามิเตอร์แก่ผู้ใช้ซึ่งเขาไม่เข้าใจ หากทุกอย่างล้มเหลวเพียงแค่ยากรหัสพารามิเตอร์


2

นี่เป็นปัญหาที่ยากมากจริง ๆ แต่มีงานจำนวนมากในพื้นที่ ตัวอย่างหนึ่งให้ดูที่บทความนี้โดย Ramani & Fessler ในแนวทาง SURE บทนำมีภาพรวมที่ดีของวิธีการเลือกพารามิเตอร์ตรวจสอบการอ้างอิงของพวกเขา

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