การปรับพารามิเตอร์ไฮเปอร์: การค้นหาแบบสุ่มกับการปรับให้เหมาะสมแบบเบย์


14

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

คำถามของฉันคือ: วิธีใดดีกว่าและถ้าคำตอบคือ "บางครั้งการค้นหาแบบสุ่มบางครั้ง Bayesian" เมื่อใดฉันจึงควรเลือกวิธีอื่นมากกว่า?


2
Google กำลังขายบริการคลาวด์สำหรับการเรียนรู้ที่ล้ำลึกของพวกเขาในขณะนี้และผลักดันคุณลักษณะที่ปรับแต่งไฮเปอร์พารามิเตอร์ของคุณโดยอัตโนมัติด้วยการเพิ่มประสิทธิภาพแบบเบย์ ... แน่นอนว่าการอ้างว่าทำได้ดีที่สุดและเร็วกว่าเช่นกัน มีเอกสารหลายฉบับที่ประเมิน BO กับ RS และแสดงให้เห็นว่า BO ทำดีกว่าเล็กน้อย IMO จากสิ่งที่ฉันได้เห็นความแตกต่างคือสิ่งที่คุณสนใจในการแข่งขัน Kaggle มากกว่าชีวิตจริง
JPJ

คำตอบ:


9

ฉันคิดว่าคำตอบที่นี่เหมือนกับทุกที่ในวิทยาศาสตร์ข้อมูล: มันขึ้นอยู่กับข้อมูล :-)

มันอาจเกิดขึ้นได้ว่าวิธีหนึ่งมีประสิทธิภาพเหนือกว่าวิธีอื่น (ที่นี่https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/คนเปรียบเทียบการเพิ่มประสิทธิภาพพารามิเตอร์ hyperesameter แบบเบย์และบรรลุผลที่ดีกว่าในการท้าทายอาชญากรรมในซานฟรานซิสโกมากกว่า ด้วยการค้นหาแบบสุ่ม) แต่ฉันสงสัยว่ามีกฎทั่วไปสำหรับสิ่งนั้น คุณสามารถดู gif ที่สวยงามได้ที่นี่ ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ) ที่ซึ่งผู้คนแสดง 'เส้นทาง' ที่การปรับให้เหมาะสมแบบเบส์ใช้ในแนวนอน ของไฮเปอร์พารามิเตอร์โดยเฉพาะดูเหมือนว่าจะไม่ดีกว่าการค้นหาแบบสุ่มโดยทั่วไป ...

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

สรุปในหนึ่งประโยค:

* เมื่อเวลาการฝึกอบรมมีความสำคัญให้ใช้การเพิ่มประสิทธิภาพพารามิเตอร์ไฮเปอร์พารามิเตอร์แบบเบย์และหากเวลาไม่เป็นปัญหาให้เลือกหนึ่งในทั้งสอง ... *

โดยปกติแล้วฉันขี้เกียจเกินไปที่จะใช้สิ่งที่ Bayesian กับกระบวนการแบบเกาส์หากฉันสามารถบรรลุผลแบบเดียวกันกับการค้นหาแบบสุ่ม ... ฉันเพิ่งฝึก Gradient Bossting ตระการตากับข้อมูล 'ไม่กี่' ดังนั้นสำหรับฉันเวลาไม่มีปัญหา ...


5

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


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

1

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

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