L-BFGS nasıl çalışır?


15

Bu makalenin amacı, düzenli log olasılığını en üst düzeye çıkararak bazı parametreleri optimize etmekti. Sonra Kısmi türevleri hesaplarlar. Ve sonra yazarlar, denklemi, birçok değişkenin pürüzsüz işlevlerini optimize etmek için standart bir yarı Newton prosedürü olan L-BFGS'yi kullanarak optimize ettiklerini belirtiyorlar (daha fazla ayrıntı yok).

O nasıl çalışır ?


3
Hangi kağıt? Kağıda bağlantı koy Bağlam gerektirir. Kısaltmalar ile bağlantı kurun, örneğin L-BFGS ve bunları heceleyin: L-BFGS = Sınırlı bellek Broyden – Fletcher – Goldfarb – Shanno (BFGS) algoritması
Carl

1
en.wikipedia.org/wiki/Limited-memory_BFGS Yetenek ve performans bakımından büyük farklılıklar gösterebilen birçok varyasyon vardır.
Mark L. Stone

merhaba, teşekkürler Bay Mark :) Bir göz atacağım. Makale cs.stanford.edu/people/jure/pubs/circles-tkdd14.pdf (denklem 6 optimizasyonu)
Abir

Temel olarak L-BFGS'yi objektif bir fonksiyonun asgari (yerel) bulma, objektif fonksiyon değerlerini ve objektif fonksiyonun gradyanını kullanma yolu olarak düşünün. Bu açıklama seviyesi, L-BFGS'ye ek olarak birçok optimizasyon yöntemini kapsamaktadır. Bununla ilgili daha fazla bilgiyi springer.com/us/book/9780387303031 sayfasının 7.2 bölümünde okuyabilirsiniz .
Mark L. Stone

1
BFGS, sekant yöntemiyle ikinci bir sipariş yöntemini (newton) taklit etmek için bir birinci sipariş yöntemi almaya çalışmanın bir yoludur
user795305

Yanıtlar:


28

Temel olarak L-BFGS'yi objektif bir fonksiyonun asgari (yerel) bulma, objektif fonksiyon değerlerini ve objektif fonksiyonun gradyanını kullanma yolu olarak düşünün. Bu açıklama seviyesi, L-BFGS'ye ek olarak birçok optimizasyon yöntemini kapsamaktadır. Bu konuda daha fazla bilgiyi Nocedal ve Wright'ın "Sayısal Optimizasyon, 2. baskı" bölüm 7.2'de okuyabilirsiniz http://www.springer.com/us/book/9780387303031 . L-BFGS'nin çok üstünkörü bir tartışması https://en.wikipedia.org/wiki/Limited-memory_BFGS adresinde sağlanır .

Birinci dereceden yöntem gradyanların (birinci türevler) (ve belki de objektif fonksiyon değerlerinin) kullanıldığı, ancak Hessian (ikinci türevlerin değil) kullanıldığı anlamına gelir. Örneğin, diğerleri arasında gradyan iniş ve en dik iniş düşünün.

İkinci mertebe yöntemi degradelerin ve Hessian'ın (ve belki de objektif fonksiyon değerlerinin) kullanıldığı anlamına gelir. İkinci dereceden yöntemler ya

  1. "Tam" Hessian matrisi (veya sonlu gradyan farkı), bu durumda Newton yöntemleri veya

  2. Bir "sekant" (Quasi-Newton) koşulu oluşturarak, çeşitli iterasyonlarda gradyanların farklılıklarına dayanarak Hessian'a yaklaşan Quasi-Newton yöntemleri. Hessian'ı farklı şekillerde tahmin eden birçok farklı Quasi-Newton yöntemi vardır. En popüler olanlardan biri BFGS'dir. BFGS Hessian yaklaşımı, degradelerin tam geçmişine dayanabilir, bu durumda BFGS olarak adlandırılır veya yalnızca en son m degradelerine dayanabilir, bu durumda kısaltılmış BFGS olarak bilinir, kısaltılır L-BFGS olarak. L-BFGS'nin avantajı, m'nin genellikle yaklaşık 10 ila 20 olduğu en son m degradelerinin korunmasını gerektirmesidir; BFGS ile gerektiği gibi bir Hessian tahmininin (üçgen), burada n problem boyutudur. (Tam) BFGS'den farklı olarak, Hessian'ın tahmini asla açıkça L-BFGS'de oluşturulmaz veya saklanmaz (BFGS'nin bazı uygulamaları Hessian yaklaşımının Choelsky faktörünü oluşturur, ancak Hessian yaklaşımının Choelsky faktörünü oluşturur ve günceller); daha ziyade, Hessian'ın tahminiyle gerekli olan hesaplamalar, açıkça biçimlendirilmeden gerçekleştirilir. L-BFGS, BFGS yerine çok büyük problemler için kullanılır (n çok büyük olduğunda), ancak BFGS kadar iyi performans göstermeyebilir. Bu nedenle, BFGS'nin bellek gereksinimleri karşılanabildiğinde, BFGS L-BFGS'ye göre tercih edilir. Öte yandan, L-BFGS'nin performansı BFGS'den çok daha kötü olmayabilir. Hessian'ın tahmini asla açıkça L-BFGS'de oluşturulmaz veya saklanmaz (BFGS'nin bazı uygulamaları Hessian yaklaşımının kendisinden ziyade yalnızca Hessian yaklaşımının Choelsky faktörünü oluşturur ve günceller); daha ziyade, Hessian'ın tahminiyle gerekli olan hesaplamalar, açıkça biçimlendirilmeden gerçekleştirilir. L-BFGS, BFGS yerine çok büyük problemler için kullanılır (n çok büyük olduğunda), ancak BFGS kadar iyi performans göstermeyebilir. Bu nedenle, BFGS'nin bellek gereksinimleri karşılanabildiğinde, BFGS L-BFGS'ye göre tercih edilir. Öte yandan, L-BFGS'nin performansı BFGS'den çok daha kötü olmayabilir. Hessian'ın tahmini asla açıkça L-BFGS'de oluşturulmaz veya saklanmaz (BFGS'nin bazı uygulamaları Hessian yaklaşımının kendisinden ziyade yalnızca Hessian yaklaşımının Choelsky faktörünü oluşturur ve günceller); daha ziyade, Hessian'ın tahminiyle gerekli olan hesaplamalar, açıkça biçimlendirilmeden gerçekleştirilir. L-BFGS, BFGS yerine çok büyük problemler için kullanılır (n çok büyük olduğunda), ancak BFGS kadar iyi performans göstermeyebilir. Bu nedenle, BFGS'nin bellek gereksinimleri karşılanabildiğinde, BFGS L-BFGS'ye göre tercih edilir. Öte yandan, L-BFGS'nin performansı BFGS'den çok daha kötü olmayabilir. Hessian'ın tahminiyle gerekli olan hesaplamalar açıkça biçimlendirilmeden yapılır. L-BFGS, BFGS yerine çok büyük problemler için kullanılır (n çok büyük olduğunda), ancak BFGS kadar iyi performans göstermeyebilir. Bu nedenle, BFGS'nin bellek gereksinimleri karşılanabildiğinde, BFGS L-BFGS'ye göre tercih edilir. Öte yandan, L-BFGS'nin performansı BFGS'den çok daha kötü olmayabilir. Hessian'ın tahminiyle gerekli olan hesaplamalar açıkça biçimlendirilmeden yapılır. L-BFGS, BFGS yerine çok büyük problemler için kullanılır (n çok büyük olduğunda), ancak BFGS kadar iyi performans göstermeyebilir. Bu nedenle, BFGS'nin bellek gereksinimleri karşılanabildiğinde, BFGS L-BFGS'ye göre tercih edilir. Öte yandan, L-BFGS'nin performansı BFGS'den çok daha kötü olmayabilir.

Bu açıklama seviyesinde bile birçok varyant vardır. Örneğin, yöntemler tamamen güvenli olmayabilir, bu durumda bir şey gider ve dışbükey problemlerde bile hiçbir şeye yaklaşmayabilir. Veya korunabilirler. Korumalı yöntemler genellikle güven bölgelerine veya satır aramasına dayanır ve bir şeye yakınlaşmayı sağlamak içindir. Çok önemli olarak, sadece bir yöntemin L-BFGS olduğunu bilmek kendi başına ne tür bir korumanın kullanıldığını size söylemez. Bu, bir arabanın 4 kapılı bir sedan olduğunu söylemek gibidir - ancak elbette 4 kapılı sedanların tümü performans veya güvenilirlik açısından aynı değildir. Optimizasyon algoritmasının sadece bir özelliğidir.


1
Merhaba mark, tekrar yardımına ihtiyacım var, kısaca newton ve quazi newton yöntemleri arasındaki farkı söyleyebilir misiniz? teşekkürler
Abir

3
Newton yöntemleri Hessian matrisini, "sıfırdan", algoritmanın her yinelemesinde, tam olarak veya bu yinelemedeki degradenin sonlu farkları ile hesaplar. Quasi-Newton yöntemleri, Hessian matrisinin yinelemeler arasındaki gradyan farklılıkları. Bunu yapmanın BFGS, DFP, SR1 ve diğerleri gibi çeşitli Quasi-Newton yöntemlerine yol açmanın birçok farklı yolu vardır. Genellikle Newton yöntemleri, Hessian'ı hesaplamak için her yinelemede büyük miktarda sıkıştırma gerektirir, yineleme başına Quasi-Newton yöntemlerinden çok daha fazla hesaplama gerektirir.
Mark L. Stone
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.