Tối ưu hóa toán học trên một hàm nhiễu


10

Đặt là một hàm khá đẹp (ví dụ: liên tục, khác biệt, không quá nhiều cực đại cục bộ, có thể lõm, v.v.). Tôi muốn tìm một cực đại của : một giá trị làm cho càng lớn càng tốt.f:RdRfxRdf(x)

Nếu tôi có một quy trình để đánh giá chính xác về bất kỳ đầu vào nào tôi chọn, tôi có thể sử dụng các kỹ thuật tối ưu hóa toán học tiêu chuẩn : leo đồi, giảm độ dốc (tốt, tăng độ dốc), v.v. Tuy nhiên, trong ứng dụng của tôi, tôi không có cách đánh giáff(x) chính xác. Thay vào đó, tôi có một cách để ước tính giá trị của .f(x)

Đặc biệt, đưa ra bất kỳ và bất kỳ ε , tôi có một lời sấm rằng ý chí sản lượng ước tính của f ( x ) , và có lỗi dự kiến là khoảng ε . Thời gian chạy của lời gọi tiên tri này tỷ lệ với 1 / ε 2 . (Nó được thực hiện bằng một loại mô phỏng; độ chính xác của mô phỏng tăng theo căn bậc hai của số lượng thử nghiệm và tôi có thể chọn số lượng thử nghiệm để chạy, vì vậy tôi có thể chọn độ chính xác mong muốn.) Vì vậy, điều này mang lại cho tôi cách để có được ước tính về bất kỳ độ chính xác nào tôi mong muốn, nhưng tôi muốn ước tính càng chính xác thì càng mất nhiều thời gian.xεf(x)ε1/ε2

Với lời tiên tri ồn ào này cho , có kỹ thuật nào để tính toán cực đại của f hiệu quả nhất có thể không? (Hoặc, chính xác hơn là tìm một cực đại gần đúng.) Có các biến thể của leo đồi, hạ độ dốc, v.v., có hoạt động trong mô hình này không?ff

Tất nhiên, tôi có thể sửa chữa một giá trị rất nhỏ của và áp dụng đồi leo núi hoặc gradient descent với oracle này, giữ cùng ε trong suốt. Tuy nhiên, điều này có thể không hiệu quả một cách không cần thiết: chúng tôi có thể không cần một ước tính chính xác như vậy ở gần đầu, trong khi độ chính xác gần cuối khi bạn không tham gia vào giải pháp là quan trọng hơn. Vì vậy, có cách nào để tận dụng khả năng của tôi để kiểm soát tính chính xác của ước tính của tôi một cách linh hoạt, để làm cho quá trình tối ưu hóa hiệu quả hơn? Loại vấn đề này đã được nghiên cứu trước đây?εε


2
Có vẻ như một vấn đề tối ưu hóa tỷ lệ rất cao để đảm bảo lĩnh vực nghiên cứu riêng của mình. Còn mô phỏng ủ thì sao? Bạn có thể điều chỉnh các ý tưởng từ đó - xác suất chuyển tiếp và lịch trình nhiệt độ? Có mối liên hệ đó - như bạn tiến hành những giọt nhiệt độ, và trong trường hợp của bạn, bạn muốn giảm. ϵ
randomsurfer_123

cybersynchronicity, tình cờ gặp trường hợp này gần đây trong một chương trình GA. đồng ý với rs ở trên mô phỏng ủ trong đó độ chính xác của đánh giá chức năng gần như phù hợp với việc giảm nhiệt độ sẽ hoạt động. một ý tưởng khác là chỉ làm một số mẫu cố định tại mỗi điểm và lấy trung bình làm ước tính. một lý thuyết nâng cao hơn chỉ có thể cho bạn biết rằng bạn không thể nhận được thứ gì đó mà không có gì & rằng không có lối tắt nào để đánh giá cải thiện tối ưu hóa.
vzn

Câu trả lời:


4

f(x,p)f(x+Δx,p+Δp)pΔxΔp

  • Một số kỹ thuật được sử dụng trong tối ưu hóa ngẫu nhiêntối ưu hóa mạnh mẽ có thể được áp dụng.
  • fx0ΔxΔp
  • fx(x~,p~)f(x~,p~)
  • ΔpΔx1/ϵ2
  • Tiếng ồn nhất định so với sự đánh đổi thời gian chạy là điều làm cho vấn đề này khác biệt với các vấn đề được nghiên cứu tốt hơn. Vấn đề là tiếng ồn là không thể tránh khỏi là phổ biến hơn và được nghiên cứu tốt hơn.

f(x,p)f(x+Δx,Δp)pp=0f). Tối ưu hóa ngẫu nhiên và tối ưu hóa mạnh mẽ nghe có vẻ giống như những thứ tôi đang tìm kiếm, vì vậy điều đó rất hữu ích. Cảm ơn bạn.
DW

p=0f(x,0)f(x+Δx,Δp)ΔxΔp
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.