Tối ưu hóa một chức năng chưa biết chỉ có thể được đánh giá?


11

Cho một hàm chưa biết , chúng ta có thể đánh giá giá trị của nó tại bất kỳ điểm nào trong miền của nó, nhưng chúng ta không có biểu thức của nó. Nói cách khác, giống như một hộp đen đối với chúng ta. ff:RdRf

Tên của vấn đề tìm tối thiểu hóa của gì? Một số phương pháp ra khỏi đó là gì?f

Tên của bài toán tìm phương trình cho phương trình gì? Một số phương pháp ra khỏi đó là gì?f(x)=0

Trong hai vấn đề trên, có nên nội suy hoặc phù hợp với một số đánh giá của f: bằng cách sử dụng hàm với dạng và tham số đã biết được xác định, và sau đó giảm thiểu hoặc tìm gốc của nó?g θ θ g θ(xi,f(xi)),i=1,,ngθθgθ

Cảm ơn và trân trọng!


1
Bạn có thể đánh giá độ dốc của nó tại một điểm nhất định?
chaohuang

@chaohuang: Có hai trường hợp: bạn có thể hoặc không thể đánh giá độ dốc của nó, tùy thuộc vào các giả định.
Tim

Nếu độ dốc khả dụng, các tác vụ bạn yêu cầu có thể được thực hiện bằng thuật toán dựa trên độ dốc. Ví dụ, tối thiểu, hoặc ít nhất là tối thiểu cục bộ, có thể được tính bằng phương pháp gốc dốc nhất, và rễ có thể được tìm thấy bằng phương pháp của Newton.
chaohuang

Và nếu độ dốc không xác định, có các phương pháp siêu hình , còn được gọi là phương pháp hộp không đạo hàm hoặc hộp đen và thường ở dạng tối ưu hóa ngẫu nhiên.
chaohuang

2
Bạn có biết chức năng có trơn tru không (ngay cả khi bạn không thể đánh giá độ dốc)? Bạn có biết hàm có lồi không? Nếu nó không lồi, bạn có biết ít nhất nó có liên tục không? Nếu chức năng là hoàn toàn chung chung, thì đây là một vấn đề vô vọng.
Brian Borchers

Câu trả lời:


13

Các phương thức bạn đang tìm kiếm - tức là chỉ sử dụng các đánh giá hàm chứ không sử dụng các dẫn xuất - được gọi là các phương thức tối ưu hóa miễn phí phái sinh . Có một khối lượng lớn tài liệu về chúng, và bạn có thể tìm thấy một chương về các phương pháp như vậy trong hầu hết các cuốn sách về tối ưu hóa. Cách tiếp cận điển hình bao gồm

  • Xấp xỉ độ dốc bằng sự khác biệt hữu hạn nếu người ta có thể mong đợi một cách hợp lý chức năng sẽ trơn tru và, có thể, lồi;
  • Các phương pháp Monte Carlo như mô phỏng luyện kim;
  • Thuật toán di truyền.

1
Tôi có thể thêm "Mô hình thay thế" vào danh sách đó không? Chúng rất có thể áp dụng để tối ưu hóa hộp đen, đặc biệt nếu chức năng này tốn kém để đánh giá.
OscarB

Có, bạn có thể :-) Chắc chắn là một bổ sung tuyệt vời.
Wolfgang Bangerth

Người ta cũng có thể sử dụng phương pháp Nelder-Mead nếu biết được ước tính tốt về tối ưu.
JM

Vâng, bạn có thể sử dụng Nelder-Mead, nhưng đó là một thuật toán khủng khiếp so với hầu hết mọi thứ khác.
Wolfgang Bangerth

1
@WolfgangBangerth: Nhận xét của bạn về Nelder-Mead chỉ có giá trị trong thứ nguyên d> 2. Trong hai chiều, trên nhiều vấn đề là một phương pháp tuyệt vời và rất khó đánh bại.
Arnold Neumaier

2

Tôi nghĩ bạn nên bắt đầu với: Hội thảo GECCO về Điểm chuẩn tối ưu hóa hộp đen thông số thực (BBOB 2016) http://numbbo.github.io/workairs/index.html

Bạn sẽ tìm thấy nhiều thuật toán khác nhau đã được sử dụng trong các cuộc thi trước đó và đã được so sánh trên cơ sở chung. Nếu bạn bắt đầu ở nơi khác, bạn sẽ sớm chìm đắm trong hàng trăm bài báo tuyên bố phương pháp và thuật toán của họ hoạt động tốt hơn những bài khác với ít bằng chứng thực tế cho những tuyên bố đó.

Cho đến gần đây, đó là, thẳng thắn, một tình trạng ô nhục và tất cả quyền lực đối với INRIA, GECCO và nhiều người khác cho những nỗ lực họ đã làm trong việc thiết lập một khuôn khổ để so sánh hợp lý.


-1

Tôi chỉ cần nói thêm rằng một trong những chìa khóa ở đây là có thể mở rộng phương pháp tối ưu hóa trên CPU đa lõi . Nếu bạn có thể thực hiện đồng thời một số đánh giá chức năng, nó sẽ cung cấp cho bạn một tốc độ bằng với một số lõi liên quan. So sánh điều này với việc chỉ sử dụng mô hình phản hồi chính xác hơn một chút, giúp bạn hiệu quả hơn 10%.

Tôi khuyên bạn nên xem mã này , nó có thể hữu ích cho những người có quyền truy cập vào nhiều lõi. Một toán học đằng sau nó được mô tả trong bài báo này .


1
Câu trả lời này quá ngắn để có ích (và vẫn hữu ích, vì các liên kết có thể biến mất bất cứ lúc nào). Ngoài ra, xin vui lòng đề cập rằng bạn là tác giả của phần mềm này .
Christian Clason
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.