R'de özel bir işlevi en üst düzeye çıkarmanın / en aza indirmenin bir yolu var mı?


18

Özel bir işlevi en aza indirmeye çalışıyorum. Beş parametre ve veri kümesini kabul etmeli ve çıktı olarak tek bir sayı üreterek her türlü hesaplamayı yapmalıdır. İşlevimin en küçük çıktısını veren beş giriş parametresinin bir kombinasyonunu bulmak istiyorum.

Yanıtlar:


23

Kullanarak birkaç öğreticiler listeleyenoptim bir yazı yazdım .

İlgili bölümün bir alıntısı:

  • Msgstr "" R fonksiyonu optimile eksi log olabilirlik fonksiyonu gibi özel olarak oluşturulmuş bir objektif fonksiyonun kombinasyonu , özel modellerin parametre tahmini için güçlü bir araç sağlar.

  • 1
    Son zamanlarda DEoptim ile güzel bir "başlangıç ​​noktasına gerek yok" optimizasyonu yapıyorum.
    Mike Lawrence

    1
    John Myles White'ın R'deki optim komutu üzerine yakın zamanda yayınlanması da ilgi çekici olabilir .
    Andy W

    @Mike kabul etti; DEoptim daha sağlam bir alternatif sunuyor (DE = Diferansiyel Evrim)
    Abe

    12

    Jeromy Anglim'in cevabına ek olarak, daha fazla bağlantım var.

    Bitişik, yanında optim orada istediğini sağlayan baz Ar başka fonksiyonudur: nlminb. Kontrol ?nlminbve ?optimkullanım örnekleri için.

    Optimizasyon yapabilen bir sürü paket var. En ilginç bulduğum paketlerdi optimx , oldukça yeni ve neldermead simpleks algoritması farklı sürümleri için paketi.

    Ayrıca, daha fazla paket için CRAN'ın Optimizasyonda Görev Görünümü'ne göz atmak isteyebilirsiniz

    Önerilerimin hepsinin deterministik bir işleve sahip olduğunuzu varsaydığını unutmayın (yani rastgele gürültü yok). Kesinlikle deterministik olmayan (veya çok büyük) olmayan fonksiyonlar için, benzetilmiş tavlama veya genetik algoritmalar gibi algoritmaları kullanmanız gerekir. Ancak CRAN Görev Görünümünde ihtiyacınız olan her şey olmalıdır.


    1

    İşleviniz sürekli ve farklılaşabilir mi? Kullanıcı tarafından sağlanan türevlerle veya sayısal olarak yaklaştırılmış olanlarla optim'i kullanabilirsiniz.

    Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
    Licensed under cc by-sa 3.0 with attribution required.