Có cách nào để tối đa hóa / tối thiểu hóa một chức năng tùy chỉnh trong R không?


18

Tôi đang cố gắng giảm thiểu một chức năng tùy chỉnh. Nó nên chấp nhận năm tham số và tập dữ liệu và thực hiện tất cả các loại tính toán, tạo ra một số duy nhất làm đầu ra. Tôi muốn tìm một sự kết hợp của năm tham số đầu vào mang lại đầu ra nhỏ nhất cho hàm của tôi.

Câu trả lời:


23

Tôi đã viết một bài liệt kê một vài hướng dẫn sử dụngoptim .

Dưới đây là một trích dẫn của phần có liên quan:

  • "Sự kết hợp giữa chức năng R optimvà chức năng mục tiêu được tạo tùy chỉnh, chẳng hạn như chức năng khả năng ghi nhật ký cung cấp một công cụ mạnh mẽ để ước tính tham số của các mô hình tùy chỉnh.

  • 1
    Gần đây tôi đã chơi với DEoptim như một trình tối ưu hóa "không cần điểm bắt đầu".
    Mike Lawrence

    1
    Một bài đăng gần đây của John Myles White về lệnh tối ưu trong R cũng có thể được quan tâm .
    Andy W

    @Mike đồng ý; DEoptim mang đến sự thay thế mạnh mẽ hơn (DE = Sự tiến hóa khác biệt)
    Abe

    12

    Ngoài câu trả lời của Jeromy Anglim, tôi có thêm một số liên kết.

    Bên cạnh optimcó một chức năng khác trong cơ sở R cho phép những gì bạn muốn : nlminb. Kiểm tra ?nlminb?optimcho ví dụ về việc sử dụng.

    Có một loạt các gói có thể làm tối ưu hóa. Điều tôi thấy thú vị nhất là các gói Optimx và, khá mới, gói neldermead cho các phiên bản khác nhau của thuật toán đơn giản.

    Hơn nữa, bạn có thể muốn xem Chế độ xem nhiệm vụ CRAN về Tối ưu hóa cho nhiều gói hơn

    Xin lưu ý rằng tất cả các đề xuất của tôi đều cho rằng bạn có chức năng xác định (nghĩa là không có nhiễu ngẫu nhiên). Đối với các hàm không có tính xác định nghiêm ngặt (hoặc quá lớn), bạn sẽ cần sử dụng các thuật toán như mô phỏng ủ hoặc thuật toán di truyền. Nhưng Chế độ xem nhiệm vụ CRAN nên có những gì bạn cần.


    1

    Là chức năng của bạn liên tục và khác biệt? Bạn có thể sử dụng tối ưu, với các công cụ phái sinh do người dùng cung cấp hoặc các công cụ gần đúng bằng số.

    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.