มีวิธีการเพิ่ม / ลดฟังก์ชั่นที่กำหนดเองใน R หรือไม่?


18

ฉันกำลังพยายามลดฟังก์ชั่นที่กำหนดเอง ควรยอมรับห้าพารามิเตอร์และชุดข้อมูลและทำการคำนวณทุกประเภทโดยสร้างตัวเลขเดียวเป็นเอาต์พุต ฉันต้องการค้นหาการรวมกันของพารามิเตอร์อินพุตห้าตัวซึ่งให้ผลลัพธ์ที่เล็กที่สุดของฟังก์ชันของฉัน

คำตอบ:


23

ฉันเขียนรายการโพสต์โดยใช้แบบฝึกหัดสองสามoptimข้อ

นี่คือคำพูดของส่วนที่เกี่ยวข้อง:

  • "การรวมกันของฟังก์ชั่น R optimและฟังก์ชั่นวัตถุประสงค์ที่สร้างขึ้นเองเช่นฟังก์ชันลบบันทึกความน่าจะเป็นเครื่องมือที่ทรงพลังสำหรับการประมาณค่าพารามิเตอร์ของโมเดลที่กำหนดเอง

  • 1
    เมื่อเร็ว ๆ นี้ฉันได้เล่นกับ DEoptim เป็นเครื่องมือเพิ่มประสิทธิภาพที่ดี "ไม่จำเป็นต้องเริ่มต้นจุด"
    Mike Lawrence

    1
    การโพสต์ล่าสุดของ John Myles White บนคำสั่ง optim ใน R อาจเป็นที่สนใจเช่นกัน
    Andy W

    @ ไมค์เห็นด้วย DEoptimให้ทางเลือกที่มีประสิทธิภาพมากขึ้น (DE = วิวัฒนาการที่แตกต่าง)
    Abe

    12

    นอกจากคำตอบของ Jeromy Anglim ฉันมีลิงก์อีกจำนวนหนึ่ง

    ถัดไปจะoptimมีฟังก์ชั่นอื่นในฐาน R nlminbที่ช่วยให้สิ่งที่คุณต้องการ: ตรวจสอบ?nlminbและดู?optimตัวอย่างการใช้งาน

    มีแพ็คเกจจำนวนมากที่สามารถเพิ่มประสิทธิภาพได้ สิ่งที่ฉันคิดว่าน่าสนใจที่สุดคือแพ็คเกจoptimxและค่อนข้างใหม่แพ็คเกจneldermeadสำหรับอัลกอริทึม simplex รุ่นต่างๆ

    นอกจากนี้คุณอาจต้องการดู CRAN Task View on Optimization สำหรับแพ็คเกจเพิ่มเติม

    โปรดทราบว่าคำแนะนำของฉันทุกคนคิดว่าคุณมีฟังก์ชั่นที่กำหนดไว้ (เช่นไม่มีเสียงรบกวนแบบสุ่ม) สำหรับฟังก์ชั่นที่ไม่ได้กำหนดอย่างเข้มงวด (หรือใหญ่เกินไป) คุณจะต้องใช้อัลกอริทึมเช่นการจำลองการอบอ่อนหรืออัลกอริทึมทางพันธุกรรม แต่มุมมองงาน CRANควรมีสิ่งที่คุณต้องการ


    1

    ฟังก์ชั่นของคุณต่อเนื่องและสร้างความแตกต่างได้หรือไม่? คุณอาจสามารถใช้ออปติไมซ์ไม่ว่าจะมาจากอนุพันธ์ที่ผู้ใช้กำหนดหรือที่ใกล้เคียงตัวเลข

    โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
    Licensed under cc by-sa 3.0 with attribution required.