โดยทั่วไปการปีนเขาแบบ Stochastic Hillจะแย่กว่าการปีนเขาแบบ Steepest แต่ในกรณีที่การเล่นแบบเดิมนั้นทำได้ดีกว่า
โดยทั่วไปการปีนเขาแบบ Stochastic Hillจะแย่กว่าการปีนเขาแบบ Steepest แต่ในกรณีที่การเล่นแบบเดิมนั้นทำได้ดีกว่า
คำตอบ:
อัลกอริธึมการปีนเขาที่สูงที่สุดทำงานได้ดีสำหรับการเพิ่มประสิทธิภาพของนูน อย่างไรก็ตามโดยปกติแล้วปัญหาในโลกแห่งความจริงนั้นเป็นประเภทของการปรับให้เหมาะสมแบบไม่มีนูน: มีหลายจุดสูงสุด ในกรณีเช่นนี้เมื่ออัลกอริทึมนี้เริ่มต้นด้วยการสุ่มแก้ปัญหาความน่าจะเป็นของมันถึงหนึ่งในยอดเขาท้องถิ่นแทนที่จะเป็นยอดเขาทั่วโลกสูง การปรับปรุงเช่นการจำลองการอบอ่อนช่วยแก้ไขปัญหานี้ได้ด้วยการอนุญาตให้อัลกอริทึมย้ายออกจากจุดสูงสุดในท้องถิ่นและเพิ่มโอกาสที่จะพบจุดสูงสุดทั่วโลก
เห็นได้ชัดว่าสำหรับปัญหาง่าย ๆ ที่มีเพียงยอดเขาเดียวการปีนเขาที่ชันที่สุดจะดีกว่าเสมอ นอกจากนี้ยังสามารถใช้การหยุดก่อนถ้าพบจุดสูงสุดทั่วโลก ในการเปรียบเทียบอัลกอริทึมการหลอมจำลองจะกระโดดออกจากจุดสูงสุดของโลกกลับไปแล้วกระโดดกลับมาอีกครั้ง สิ่งนี้จะทำซ้ำจนกว่าจะเย็นลงพอหรือจำนวนการทำซ้ำที่กำหนดไว้เสร็จสมบูรณ์
ปัญหาโลกแห่งความจริงจัดการกับข้อมูลที่มีเสียงดังและหายไป วิธีการปีนเขาแบบสุ่มในขณะที่ช้าลงมีความแข็งแกร่งมากขึ้นสำหรับปัญหาเหล่านี้และกิจวัตรการเพิ่มประสิทธิภาพมีโอกาสสูงที่จะไปถึงจุดสูงสุดของโลกเมื่อเปรียบเทียบกับขั้นตอนวิธีการปีนเขาที่สูงที่สุด
บทส่งท้าย: นี่เป็นคำถามที่ดีซึ่งทำให้เกิดคำถามแบบถาวรเมื่อออกแบบโซลูชันหรือเลือกระหว่างอัลกอริธึมต่าง ๆ : การคำนวณต้นทุนประสิทธิภาพ ในขณะที่คุณอาจสงสัยคำตอบอยู่เสมอ: ขึ้นอยู่กับลำดับความสำคัญของอัลกอริทึมของคุณ หากเป็นส่วนหนึ่งของระบบการเรียนรู้ออนไลน์ที่ทำงานกับกลุ่มของข้อมูลแสดงว่ามีข้อ จำกัด ด้านเวลาอย่างมาก แต่ข้อ จำกัด ด้านประสิทธิภาพที่อ่อนแอ (ชุดข้อมูลถัดไปจะแก้ไขได้สำหรับอคติที่ผิดพลาดจากชุดข้อมูลแรก) ในทางตรงกันข้ามถ้าเป็นงานการเรียนรู้แบบออฟไลน์ที่มีข้อมูลทั้งหมดที่มีอยู่ในมือแล้วประสิทธิภาพเป็นข้อ จำกัด หลักและแนวทางสุ่มพยายามแนะนำ
เริ่มจากนิยามก่อนกัน
การปีนเขาเป็นอัลกอริธึมการค้นหาที่ง่ายเพียงแค่วนลูปและเคลื่อนที่อย่างต่อเนื่องในทิศทางของการเพิ่มมูลค่านั่นคือขึ้นเนิน การวนซ้ำจะหยุดลงเมื่อถึงจุดสูงสุดและเพื่อนบ้านไม่มีค่าสูงกว่า
การไต่เขา Stochasticซึ่งเป็นตัวแปรของการปีนเขาเลือกสุ่มจากการเคลื่อนไหวขึ้นเขา ความน่าจะเป็นของการเลือกอาจแตกต่างกันไปตามความชันของการขึ้นเขาสองวิธีที่รู้จักกันดีคือ:
การปีนเขาแบบเลือกครั้งแรก:สร้างผู้สืบทอดแบบสุ่มจนกว่าจะมีการสร้างที่ดีกว่าสถานะปัจจุบัน * ถือว่าดีถ้ารัฐมีผู้สืบทอดหลายคน (เช่นหลายพันคนหรือหลายล้านคน)
ปีนเขาสุ่มเริ่มใหม่:ทำงานตามปรัชญาของ "ถ้าคุณไม่ประสบความสำเร็จลองลองอีกครั้ง"
ตอนนี้คำตอบของคุณ ปีนเนินเขา Stochastic จริงสามารถทำงานได้ดีขึ้นในหลายกรณี พิจารณากรณีต่อไปนี้ ภาพแสดงภูมิทัศน์พื้นที่รัฐ ตัวอย่างที่อยู่ในภาพจะถูกนำมาจากหนังสือปัญญาประดิษฐ์: วิธีโมเดิร์น
สมมติว่าคุณอยู่ในจุดที่แสดงโดยสถานะปัจจุบัน หากคุณใช้อัลกอริธึมการปีนเขาที่เรียบง่ายคุณจะถึงจุดสูงสุดในท้องถิ่น แม้ว่าจะมีสถานะที่มีค่าฟังก์ชันวัตถุประสงค์ที่เหมาะสมที่สุด แต่อัลกอริทึมไม่สามารถเข้าถึงได้เนื่องจากมันติดอยู่ที่ค่าสูงสุดในท้องถิ่น อัลกอริทึมยังสามารถติดที่maxima ท้องถิ่นแบน
การรีสตาร์ทแบบสุ่มการปีนเขาดำเนินการชุดการค้นหาการปีนเขาจากสถานะเริ่มต้นที่สร้างแบบสุ่มจนกว่าจะพบสถานะเป้าหมาย
ความสำเร็จของการปีนเขาขึ้นอยู่กับรูปร่างของภูมิประเทศของรัฐ ในกรณีที่มีสูงสุดเพียงไม่กี่ท้องถิ่นที่ราบสูงแบน; การไต่เขาแบบสุ่มเริ่มใหม่จะพบทางออกที่ดีอย่างรวดเร็ว ปัญหาในชีวิตจริงส่วนใหญ่มีภูมิทัศน์พื้นที่รัฐที่ขรุขระมากทำให้ไม่เหมาะสำหรับการใช้อัลกอริธึมการปีนเขาหรือตัวแปรใด ๆ
หมายเหตุ:อัลกอริทึม Hill Climb ยังสามารถใช้เพื่อค้นหาค่าต่ำสุดและไม่เพียง แต่ค่าสูงสุด ฉันใช้คำสูงสุดในคำตอบของฉันแล้ว ในกรณีที่คุณกำลังมองหาค่าต่ำสุดทุกสิ่งจะย้อนกลับรวมถึงกราฟ
ฉันยังใหม่ต่อแนวคิดเหล่านี้เช่นกัน แต่วิธีที่ฉันเข้าใจการปีนเขาแบบ Stochastic จะทำงานได้ดีขึ้นในกรณีที่เวลาในการคำนวณมีค่า (รวมถึงการคำนวณฟังก์ชั่นการออกกำลังกาย) แต่มันไม่จำเป็นจริงๆ ทางออกที่เป็นไปได้ การเข้าถึงแม้แต่การปรับให้เหมาะสมกับท้องถิ่นก็โอเค หุ่นยนต์ที่ทำงานในฝูงจะเป็นตัวอย่างหนึ่งที่สามารถใช้งานได้
ความแตกต่างเพียงอย่างเดียวที่ฉันเห็นในการปีนเขาที่ลาดชันที่สุดคือความจริงที่ว่ามันไม่เพียง แต่ค้นหาโหนดเพื่อนบ้านเท่านั้น แต่ยังรวมถึงผู้สืบทอดของเพื่อนบ้านด้วยเหมือนวิธีการค้นหาอัลกอริธึมหมากรุก
TLDR : หากคุณพยายามที่จะหาสิ่งที่เหมาะสมที่สุดในโลกที่ไหน เป็นฟังก์ชั่นให้คะแนนที่มี optima ท้องถิ่นหลายแห่งซึ่งไม่ใช่ Optima ท้องถิ่นทั้งหมดที่มีค่าเท่ากัน