Điều chỉnh tham số siêu: Tìm kiếm ngẫu nhiên so với tối ưu hóa Bayes


13

Vì vậy, chúng ta biết rằng tìm kiếm ngẫu nhiên hoạt động tốt hơn tìm kiếm lưới, nhưng một cách tiếp cận gần đây hơn là tối ưu hóa Bayes (sử dụng các quy trình gaussian). Tôi đã tìm kiếm một so sánh giữa hai, và không tìm thấy gì. Tôi biết rằng tại cs231n của Stanford, họ chỉ đề cập đến tìm kiếm ngẫu nhiên, nhưng có thể là họ muốn giữ mọi thứ đơn giản.

Câu hỏi của tôi là: cách tiếp cận nào nói chung là tốt hơn và nếu câu trả lời là "đôi khi tìm kiếm ngẫu nhiên, đôi khi là Bayes" khi nào tôi nên thích phương pháp này hơn phương pháp khác?


2
Google hiện đang bán các dịch vụ đám mây học tập sâu của họ và đẩy một tính năng tự động điều chỉnh siêu âm của bạn với tối ưu hóa Bayes ... tất nhiên khẳng định nó hoạt động tốt nhất và cũng nhanh hơn (tìm kiếm không gian siêu hiệu quả hơn). Có một số bài báo đánh giá BO vs RS cũng cho thấy BO làm tốt hơn một chút. IMO từ những gì tôi đã thấy, khác biệt là thứ bạn quan tâm nhiều hơn trong một cuộc thi Kaggle hơn là đời thực.
JPJ

Câu trả lời:


8

Tôi nghĩ rằng câu trả lời ở đây cũng giống như mọi nơi trong khoa học dữ liệu: nó phụ thuộc vào dữ liệu :-)

Có thể xảy ra một phương pháp tốt hơn một phương pháp khác (ở đây https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ mọi người so sánh tối ưu hóa siêu tham số Bayesian và đạt được kết quả tốt hơn trong thử thách kaggle tội phạm ở San Francisco so với với tìm kiếm ngẫu nhiên), tuy nhiên tôi nghi ngờ rằng có một quy tắc chung cho điều đó. Bạn có thể thấy một gif đẹp ở đây ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ) nơi mọi người hiển thị 'đường dẫn' mà tối ưu hóa Bayes có trong cảnh quan nói riêng về siêu âm, có vẻ như nó không vượt trội so với tìm kiếm ngẫu nhiên nói chung ...

Tôi nghĩ lý do tại sao mọi người có xu hướng sử dụng tối ưu hóa siêu tham số Bayes là vì nó chỉ cần ít bước đào tạo hơn để đạt được kết quả tương đương so với tìm kiếm ngẫu nhiên với số lượng thử nghiệm đủ cao.

Tóm tắt trong một câu:

* Khi thời gian đào tạo là quan trọng, hãy sử dụng tối ưu hóa siêu tham số Bayes và nếu thời gian không phải là vấn đề, hãy chọn một trong cả hai ... *

Thông thường tôi quá lười biếng để triển khai công cụ Bayes với Quy trình Gaussian nếu tôi có thể đạt được kết quả tương tự với tìm kiếm ngẫu nhiên ... Tôi chỉ huấn luyện Gradient Bossting trên dữ liệu 'vài', vì vậy đối với tôi, thời gian không phải là vấn đề ...


5

Tối ưu hóa Bayes là tốt hơn, bởi vì nó đưa ra quyết định thông minh hơn. Bạn có thể kiểm tra bài viết này để tìm hiểu thêm: Tối ưu hóa siêu tham số cho các mạng thần kinh . Bài viết này cũng có thông tin về ưu và nhược điểm cho cả hai phương pháp + một số kỹ thuật bổ sung như tìm kiếm lưới và ước tính parzen có cấu trúc cây. Mặc dù nó được viết để hiển thị ưu và nhược điểm của các phương pháp khác nhau cho các mạng thần kinh, kiến ​​thức chính có thể khái quát cho bất kỳ lĩnh vực máy học nào khác


1
Tôi chỉ muốn chỉ ra rằng trong câu đầu tiên của bạn, lý do thực sự tại sao tối ưu hóa Bayes tốt hơn không phải là các quyết định được đưa ra thông minh hơn , đó là về các quyết định được đưa ra .
Alexander Rossa

1

Lưu ý, tối ưu hóa siêu tham số Bayes là một quá trình tuần tự, do đó có thể mất nhiều thời gian hơn một số phương pháp khác có thể tìm kiếm hoặc được tiến hành song song.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.