Sự khác biệt giữa Tối ưu hóa Bayes (Quy trình Gaussian) và luyện kim mô phỏng trong thực tế


8

Cả hai quá trình dường như được sử dụng để ước tính giá trị tối đa của một hàm chưa biết và rõ ràng cả hai đều có cách làm khác nhau.

Nhưng trong thực tế, phương pháp này có thể thay thế cho nhau? Tôi muốn sử dụng cái này hơn cái kia ở đâu?

https://en.wikipedia.org/wiki/Simulation_anneals

http://www.iro.umontreal.ca/~bengioy/cifar/NCAP2014-summerschool/slides/Ryan_adams_140814_bayesopt_ncap.pdf

Câu hỏi tương tự
Bayesian tối ưu hóa hoặc giảm độ dốc?


Tôi không nghĩ rằng điều này là đủ đầy đủ để là một câu trả lời, nhưng mô phỏng ủ thường đòi hỏi một số lượng lớn hơn các đánh giá chức năng để tìm một điểm gần tối ưu toàn cầu. Mặt khác, Tối ưu hóa Bayes đang xây dựng một mô hình ở mỗi lần lặp nhưng yêu cầu tương đối ít đánh giá chức năng. Vì vậy, tùy thuộc vào mức độ đắt của chức năng để đánh giá, bạn sẽ thích cái này hơn cái kia bởi vì cái này sẽ có thời gian treo tường nhỏ hơn: Tối ưu hóa Bayes trong trường hợp hàm này rất đắt và ủ khi hàm tương đối rẻ.
Sycorax nói Phục hồi lại

@Sycorax Trả 10 bài đăng về cùng một chủ đề trong 10 phút - bạn có nghĩ hơi quá không? Rõ ràng là không, nhưng tôi làm.
Mark L. Stone

@ MarkL.Stone Đó là "thời gian chậm" ít nhiều (8 giờ tối ngày thứ Sáu, kể từ thời điểm chỉnh sửa) là thời gian ưa thích để thực hiện việc này. Có một chủ đề meta.
Sycorax nói Phục hồi lại

Câu trả lời:


8

Mô phỏng luyện kim (SA) là một thuật toán rất đơn giản so với Tối ưu hóa Bayes (BO). Không phương thức nào giả định độ lồi của hàm chi phí và không phương thức nào chuyển tiếp nhiều vào thông tin độ dốc.

SA là một cách đi bộ ngẫu nhiên giáo dục một chút. Giải pháp ứng viên nhảy xung quanh không gian giải pháp có lịch nhảy cụ thể (tham số làm mát). Bạn không quan tâm nơi bạn hạ cánh trước đó, bạn không biết nơi bạn sẽ hạ cánh tiếp theo. Đó là một cách tiếp cận Chuỗi Markov điển hình. Bạn không mô hình bất kỳ giả định mạnh mẽ nào về bề mặt giải pháp lót. Tối ưu hóa MCMC đã đi một chặng đường dài từ SA (xem ví dụ Hamiltonian Monte Carlo ) nhưng chúng tôi sẽ không mở rộng thêm. Một trong những vấn đề chính với SA là bạn cần đánh giá rất nhiều lần "nhanh". Và nó có ý nghĩa, bạn cần càng nhiều mẫu càng tốt để khám phá càng nhiều trạng thái (ví dụ: giải pháp ứng viên) càng tốt. Bạn chỉ sử dụng một chút thông tin độ dốc (mà hầu như bạn luôn chấp nhận các giải pháp "tốt hơn").

Nhìn vào BO. Hồi quy BO (hoặc đơn giản là Gaussian Process (GP) đối với các đánh giá hàm chi phí của bạn) cố gắng thực hiện ngược lại về mặt đánh giá chức năng. Nó cố gắng giảm thiểu số lượng đánh giá bạn làm. Nó xây dựng một mô hình phi tham số cụ thể (thường là GP) cho hàm chi phí của bạn thường giả định nhiễu. Nó hoàn toàn không sử dụng thông tin độ dốc. BO cho phép bạn xây dựng một mô hình thông tin về hàm chi phí của bạn với một số lượng nhỏ các đánh giá chức năng. Sau đó, bạn "truy vấn" chức năng được trang bị này cho extrema của nó. Một lần nữa ma quỷ là trong các chi tiết; bạn cần lấy mẫu một cách thông minh (và giả sử rằng trước đó của bạn cũng hợp lý một nửa). Có công việc về nơi đánh giá chức năng của bạn tiếp theo đặc biệt là khi bạn biết rằng chức năng của bạn thực sự phát triển một chút theo thời gian (ví dụ: ở đây ).

Một lợi thế rõ ràng của SA so với BO là trong SA rất đơn giản để đặt các ràng buộc vào không gian giải pháp của bạn. Ví dụ: nếu bạn muốn các giải pháp không âm, bạn chỉ giới hạn phân phối mẫu của mình trong các giải pháp không âm. Điều tương tự không phải là trực tiếp trong BO bởi vì ngay cả khi bạn đánh giá các chức năng của mình theo các ràng buộc của bạn (nói không tiêu cực), bạn cũng sẽ cần phải thực sự hạn chế quá trình của mình; điều này trong khi không phải là không thể tham gia nhiều hơn.

Nói chung, người ta thích SA trong các trường hợp hàm chi phí rẻ để đánh giá và BO trong trường hợp hàm chi phí đắt để đánh giá. Tôi nghĩ SA chậm nhưng dần dần không được ủng hộ; đặc biệt là công việc tối ưu hóa không có độ dốc (ví dụ NEWQUA , BOBYQA ) lấy đi một trong những lợi thế chính của nó trong việc so sánh với các phương pháp giảm độ dốc tiêu chuẩn mà không phải đánh giá đạo hàm. Tương tự như vậy, công việc trên MCMC thích ứng (ví dụ: xem tài liệu tham khảo ở trên) làm cho nó lãng phí về mặt tối ưu hóa MCMC cho hầu hết các trường hợp.


Cảm ơn câu trả lời. Tôi thấy rằng bạn có khả năng đúng về việc ủ không được ủng hộ. scipy đã từ chối nó để ủng hộ docs.scipy.org/doc/scipy-0.15.1/reference/generated/ phỏng
canyon289

Tôi vui vì tôi có thể giúp. Cảm ơn vì tiền hỗ trợ; Tôi đã không nhận thức được sự thay đổi đó trong SciPy.
usεr11852

Trừ khi các ràng buộc thực sự sởn gai ốc, vấn đề lớn với việc ràng buộc GP phù hợp là gì? Tất nhiên, khi bạn "truy vấn" chức năng được trang bị, bạn thực hiện tối ưu hóa bị ràng buộc. Tôi không cố gắng để mỉa mai, tôi thực sự muốn biết những gì bạn thấy khó khăn. Ví dụ, các ràng buộc tuyến tính và bất đẳng thức tuyến tính nên là một miếng bánh. Nếu bạn có các ràng buộc không lồi, chẳng hạn như các ràng buộc đẳng thức phi tuyến hoặc các ràng buộc số nguyên, chúng có thể nằm trong danh mục sởn gai ốc của tôi.
Mark L. Stone

@ MarkL.Stone: Ngay cả những hạn chế tuyến tính (chứ chưa nói đến gnarly những người thân) có thể ảnh hưởng đến sự phù hợp trong không gian cao hơn nghiêm trọng - thậm chí nếu bạn phù hợp với " cái gì đó " tôi sẽ nghiêm túc nghi ngờ rằng sự phù hợp này sẽ là đại diện chính xác những gì bạn muốn. Ngoài ra, hầu hết các kết quả dựa trên tính liên tục đằng sau sự tối ưu của GPR đều vượt ra khỏi cửa sổ ... Nói rõ hơn: Tôi đã không sử dụng BO rộng rãi vì nó luôn tỏ ra không tối ưu cho các vấn đề tôi làm việc. Giả sử phương pháp Quasi-Newton tiêu chuẩn thất bại, trước tiên tôi sẽ luôn ủng hộ cách tiếp cận không có đạo hàm hoặc phương pháp tiếp cận HMC.
usεr11852

Chà, nếu tôi có các ràng buộc, điều tôi muốn là cho hàm được trang bị để thỏa mãn các ràng buộc đó. Tin tôi đi, tôi nghi ngờ rằng GP phù hợp đến mức nào sẽ là một đại diện chính xác cho những gì tôi muốn, những hạn chế hay không. Những ràng buộc tốt có thể giúp bạn - chúng hạn chế mọi thứ đến nơi cần đến và giúp bạn tránh lãng phí thời gian ở những khu vực xấu. Tất nhiên, đó là nếu chúng được thực hiện tốt. Bạn có thể đưa ra một ví dụ về kết quả dựa trên tính liên tục đằng sau sự tối ưu GPR đi ra ngoài cửa sổ khi có các ràng buộc tuyến tính không? Để là ví dụ hợp lệ, tốt hơn là đã ở trong cửa sổ mà không có ràng buộc.
Mark L. Stone
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.