วิธีการสร้างเพื่อนบ้านในอัลกอริทึมการปีนเขา?


9

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

ตัวอย่างเช่นผมกำลังเพิ่มประสิทธิภาพการแก้ปัญหาx_3) นี่อยู่ในช่วง ,อยู่ในช่วง ,อยู่ในช่วง1000000) วิธีที่ดีที่สุดในการสร้าง "เพื่อนบ้าน" คืออะไร? ฉันไม่สามารถจริงๆเลือกขนาด "ขั้นตอน" ที่นี่เพราะมีขนาดขั้นตอนที่ 1 เป็นอย่างมากที่จะแต่น้อยมากที่จะx_3(x1,x2,x3)x1(0,0.1)x2(0,100)x3(0,1000000)x1x3

อะไรคือวิธีที่ดีที่สุดในการสร้าง "เพื่อนบ้าน" ในอัลกอริทึมการปีนเขา

คำตอบ:


3

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

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


2

วิธีที่ง่ายที่สุด (และปลอดภัยที่สุด) คือแก้ไขปัญหาของคุณอีกครั้งเพื่อให้พารามิเตอร์ทั้งหมดมีช่วงที่เปรียบเทียบได้พูดว่า [0,1]

หรือคุณสามารถใช้ขนาดขั้นตอนที่แตกต่างกันสำหรับแต่ละพารามิเตอร์

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