TL; DR
ฉันแนะนำให้ใช้ LIPO มันถูกต้องและสามารถพิสูจน์ได้ดีกว่าการค้นหาแบบสุ่มบริสุทธิ์ (PRS) นอกจากนี้ยังเป็นเรื่องง่ายมากที่จะใช้และไม่มีพารามิเตอร์ ฉันไม่ได้ทำการวิเคราะห์ที่เปรียบเทียบ LIPO กับ BO แต่ความคาดหวังของฉันคือความเรียบง่ายและมีประสิทธิภาพของ LIPO แสดงให้เห็นว่ามันจะทำผลงานได้ดีกว่า BO
(ดูเพิ่มเติมที่: ข้อเสียของการเพิ่มประสิทธิภาพพารามิเตอร์ไฮเปอร์เบย์คืออะไร )
การปรับให้เหมาะสมแบบเบส์
วิธีการเพิ่มประสิทธิภาพแบบเบย์สร้างแบบจำลองตัวแทนแบบเกาส์กระบวนการเพื่อสำรวจพื้นที่พารามิเตอร์ แนวคิดหลักคือพารามิเตอร์ tuples ที่อยู่ใกล้กันจะมีค่าฟังก์ชั่นที่คล้ายกันดังนั้นสมมติฐานของโครงสร้างความแปรปรวนร่วมระหว่างจุดทำให้อัลกอริทึมทำการคาดเดาที่มีการศึกษาเกี่ยวกับสิ่งที่พารามิเตอร์ tuple ที่ดีที่สุด กลยุทธ์นี้ช่วยลดจำนวนการประเมินฟังก์ชัน ในความเป็นจริงแรงจูงใจของวิธีการ BO คือการทำให้จำนวนการประเมินฟังก์ชั่นต่ำที่สุดเท่าที่จะเป็นไปได้ในขณะที่ "ใช้ควายทั้งหมด" เพื่อคาดเดาที่ดีเกี่ยวกับสิ่งที่จะทดสอบต่อไป มีตัวเลขของการทำบุญที่แตกต่างกัน (การปรับปรุงที่คาดไว้การปรับปรุงที่คาดหวังความน่าจะเป็นของการปรับปรุง ... ) ซึ่งใช้ในการเปรียบเทียบคะแนนเพื่อเข้าชมต่อไป
เปรียบเทียบสิ่งนี้กับการค้นหากริดซึ่งจะไม่ใช้ข้อมูลใด ๆ จากการประเมินฟังก์ชั่นก่อนหน้าของมันเพื่อแจ้งตำแหน่งที่จะไปต่อไป
อนึ่งนี่เป็นเทคนิคการเพิ่มประสิทธิภาพระดับโลกที่ทรงพลังและทำให้ไม่มีข้อสันนิษฐานเกี่ยวกับความนูนของพื้นผิว นอกจากนี้หากฟังก์ชั่นนั้นสุ่ม (กล่าวคือการประเมินมีสัญญาณรบกวนแบบสุ่มโดยธรรมชาติ) สิ่งนี้สามารถนำมาใช้โดยตรงในโมเดล GP
ในอีกทางหนึ่งคุณจะต้องใส่ GP อย่างน้อยหนึ่งครั้งในการคำนวณซ้ำ (หรือหลายครั้งเลือก "ดีที่สุด" หรือเฉลี่ยมากกว่าทางเลือกหรือวิธีเบส์แบบเต็ม) จากนั้นแบบจำลองจะใช้ในการทำนาย (อาจเป็นพัน) โดยทั่วไปจะอยู่ในรูปแบบของการเพิ่มประสิทธิภาพท้องถิ่นแบบหลายขั้นตอนด้วยการสังเกตว่ามันถูกกว่ามากในการประเมินฟังก์ชั่นการทำนาย GP มากกว่าฟังก์ชั่นการเพิ่มประสิทธิภาพ แต่แม้จะมีค่าใช้จ่ายในการคำนวณนี้ก็มีแนวโน้มที่จะเป็นกรณีที่แม้ฟังก์ชั่น nonconvex สามารถปรับให้เหมาะสมกับการเรียกใช้ฟังก์ชั่นจำนวนค่อนข้างน้อย
เอกสารที่อ้างถึงอย่างกว้างขวางในหัวข้อคือJones และคณะ , "ประสิทธิภาพการเพิ่มประสิทธิภาพระดับโลกของฟังก์ชั่นกล่องดำราคาแพง" แต่ความคิดนี้มีหลายรูปแบบ
ค้นหาแบบสุ่ม
แม้ว่าฟังก์ชันต้นทุนมีราคาแพงในการประเมินการค้นหาแบบสุ่มก็ยังมีประโยชน์ การค้นหาแบบสุ่มนั้นง่ายต่อการใช้งาน ทางเลือกเดียวสำหรับนักวิจัยที่จะทำคือการตั้งค่าความน่าจะเป็น ที่คุณต้องการให้ผลลัพธ์ของคุณอยู่ในควอนไทล์ ; ส่วนที่เหลือจะดำเนินการโดยอัตโนมัติโดยใช้ผลลัพธ์จากความน่าจะเป็นพื้นฐานp q
สมมติว่า quantile ของคุณคือและคุณต้องการความน่าจะเป็นที่ผลลัพธ์ของแบบจำลองนั้นอยู่ในเปอร์เซ็นต์ของ tuples hyperparameter ทั้งหมด ความน่าจะเป็นที่tuples ที่พยายามทั้งหมดไม่ได้อยู่ในหน้าต่างนั้นคือ (เพราะพวกมันถูกสุ่มเลือกจากการแจกแจงแบบเดียวกัน) ดังนั้นความน่าจะเป็นที่ tuple อย่างน้อยหนึ่งตัวอยู่ในภูมิภาคนั้นคือ n เรารวบรวมทุกอย่างเข้าด้วยกันq=0.95p=0.95100×(1−q)=5nqn=0.95n1−0.95n
1−qn≥p⟹n≥log(1−p)log(q)
ซึ่งอัตราผลตอบแทนในกรณีเฉพาะของเรา59n≥59
ผลที่ได้นี้คือเหตุผลที่คนส่วนใหญ่แนะนำให้ tuples พยายามสำหรับการค้นหาแบบสุ่ม เป็นที่น่าสังเกตว่านั้นเปรียบได้กับจำนวนการทดลองที่ต้องใช้เพื่อให้ได้ผลลัพธ์ที่ดีด้วยวิธีการที่ใช้กระบวนการแบบเกาส์เซียนเมื่อมีพารามิเตอร์จำนวนปานกลาง ซึ่งแตกต่างจากกระบวนการแบบเกาส์, จำนวนการค้นหา tuples ไม่เปลี่ยนแปลงด้วยจำนวนของพารามิเตอร์ในการค้นหามากกว่า; อันที่จริงแล้วสำหรับพารามิเตอร์จำนวนมากจำนวนมากวิธีการแบบอิงกระบวนการแบบเกาส์เซียนสามารถใช้การวนซ้ำหลายครั้งเพื่อทำให้เกิดความคืบหน้าn = 60n=60n=60
เนื่องจากคุณมีการรับประกันความน่าจะเป็นของผลลัพธ์ที่ดีมันอาจเป็นเครื่องมือโน้มน้าวใจที่โน้มน้าวใจเจ้านายของคุณว่าไม่จำเป็นต้องทำการทดลองเพิ่มเติม
LIPO และตัวแปร
นี่คือการเดินทางมาถึงที่น่าตื่นเต้นซึ่งถ้ามันไม่ได้เป็นใหม่เป็นแน่นอนใหม่ให้ฉัน มันดำเนินการโดยการสลับระหว่างการวางขอบเขตข้อมูลบนฟังก์ชันและการสุ่มตัวอย่างจากขอบเขตที่ดีที่สุดและใช้การประมาณกำลังสอง ฉันยังคงทำงานต่อไปในรายละเอียดทั้งหมด แต่ฉันคิดว่านี่เป็นสิ่งที่ดีมาก นี่เป็นบทความเขียนบล็อกที่ดีและบทความนี้ก็คือCédric Malherbe และ Nicolas Vayatis " การเพิ่มประสิทธิภาพระดับโลกของฟังก์ชั่น Lipschitz "