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


9

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

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

ขอบคุณ!

ปรับปรุง:

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

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

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

ฉันไม่เคยได้ยินเกี่ยวกับอัลกอริทึมใด ๆ ที่พิจารณาค่าใช้จ่ายในการประเมินฟังก์ชันวัตถุประสงค์ (หรือข้อ จำกัด ใด ๆ ) อย่างชัดเจนเมื่อเลือกคะแนนเพื่อประเมิน อย่างไรก็ตามมีอัลกอริทึมการเพิ่มประสิทธิภาพที่ปราศจากอนุพันธ์ที่พยายามเลือกจุดต่อไปอย่างชาญฉลาดเพื่อประเมินโดยเครื่องมือเพิ่มประสิทธิภาพ หลักฐานคือจำนวนของการประเมินฟังก์ชั่นควรจะลดลงถ้าการประเมินฟังก์ชั่นมีราคาแพง อย่างไรก็ตามฉันไม่แน่ใจว่าการใช้อัลกอริทึมที่ปราศจากอนุพันธ์จะช่วยในกรณีที่คุณใช้งาน
Geoff Oxberry

สวัสดี @Paul ขอบคุณสำหรับการต้อนรับ! ฉันตื่นเต้นที่ได้พบชุมชนนี้ ฉันได้เพิ่มคุณสมบัติ แจ้งให้เราทราบหากมีคุณสมบัติอื่น ๆ ที่สำคัญกว่า
โนวา

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

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

คำตอบ:


4

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

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

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


1

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

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

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

นี่คือการใช้วิธีการโดยตรง (ใน C ++) ที่ยอดเยี่ยม: http://www.gerad.ca/nomad/Project/Home.html

หากดูเหมือนว่าจะให้ผลลัพธ์ที่มีแนวโน้มโปรดกลับมาหาฉันและฉันอาจแนะนำการปรับปรุงอื่น ๆ

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

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