Wie funktioniert das L-BFGS?


14

Der Zweck des Papiers bestand darin, einige Parameter durch Maximierung der regulierten Log-Wahrscheinlichkeit zu optimieren. Dann berechnen sie partielle Ableitungen. Und dann erwähnen die Autoren, dass sie die Gleichung mit L-BFGS optimieren, einem Standard-Quasi-Newton-Verfahren zur Optimierung der glatten Funktionen vieler Variablen (keine weiteren Details).

Wie funktioniert es ?


3
Welches Papier? Link zum Papier einfügen Benötigt einen Kontext. Fügen Sie Links zu Akronymen ein, z. B. L-BFGS, UND buchstabieren Sie sie: L-BFGS = Broyden-Fletcher-Goldfarb-Shanno-Algorithmus (BFGS) mit begrenztem Speicher
Carl

1
de.wikipedia.org/wiki/Limited-memory_BFGS Es gibt viele Variationen, die sich in Fähigkeit und Leistung stark unterscheiden können.
Mark L. Stone

Hallo, danke Herr Mark :) Ich werde einen Blick darauf werfen. Das Papier ist cs.stanford.edu/people/jure/pubs/circles-tkdd14.pdf (Gleichung 6 Optimierung)
Abir

Stellen Sie sich L-BFGS grundsätzlich als einen Weg vor, ein (lokales) Minimum einer Zielfunktion zu finden, indem Sie die Werte der Zielfunktion und den Gradienten der Zielfunktion verwenden. Diese Beschreibungsebene deckt jedoch neben L-BFGS viele Optimierungsmethoden ab. Weitere Informationen hierzu finden Sie in Abschnitt 7.2 von springer.com/us/book/9780387303031 .
Mark L. Stone

1
BFGS ist eine Möglichkeit, eine Methode erster Ordnung zu erhalten, um eine Methode zweiter Ordnung (Newton) über die Sekantenmethode
nachzuahmen

Antworten:


27

Stellen Sie sich L-BFGS grundsätzlich als einen Weg vor, ein (lokales) Minimum einer Zielfunktion zu finden, indem Sie die Werte der Zielfunktion und den Gradienten der Zielfunktion verwenden. Diese Beschreibungsebene deckt jedoch neben L-BFGS viele Optimierungsmethoden ab. Weitere Informationen hierzu finden Sie in Abschnitt 7.2 von Nocedal and Wright "Numerical Optimization, 2nd Edition" http://www.springer.com/us/book/9780387303031 . Eine sehr flüchtige Diskussion über L-BFGS finden Sie unter https://en.wikipedia.org/wiki/Limited-memory_BFGS .

Methode erster Ordnung bedeutet, dass Gradienten (erste Ableitungen) (und möglicherweise objektive Funktionswerte) verwendet werden, nicht jedoch Hessisch (zweite Ableitungen). Denken Sie zum Beispiel unter anderem an Gefälle und steilsten Abstieg.

Methode zweiter Ordnung bedeutet, dass Gradienten und Hessisch verwendet werden (und möglicherweise objektive Funktionswerte). Methoden zweiter Ordnung können entweder auf basieren

  1. "Exakte" hessische Matrix (oder endliche Unterschiede von Gradienten), in welchem ​​Fall sie als Newton-Methoden oder bekannt sind

  2. Quasi-Newton-Methoden, die den Hessischen Wert basierend auf Gradientendifferenzen über mehrere Iterationen approximieren, indem sie eine "Sekanten" -Bedingung (Quasi-Newton) auferlegen. Es gibt viele verschiedene Quasi-Newton-Methoden, die den Hessischen auf unterschiedliche Weise schätzen. Eines der beliebtesten ist BFGS. Die hessische BFGS-Näherung kann entweder auf der vollständigen Geschichte der Gradienten basieren, in welchem ​​Fall sie als BFGS bezeichnet wird, oder sie kann nur auf den neuesten m-Gradienten basieren, in welchem ​​Fall sie als BFGS mit begrenztem Speicher, abgekürzt, bekannt ist als L-BFGS. Der Vorteil von L-BFGS besteht darin, dass nur die neuesten m-Gradienten beibehalten werden müssen, wobei m normalerweise bei 10 bis 20 liegt, was eine viel geringere Speicheranforderung darstellt als n * (n + 1) / 2 Elemente, die zum Speichern des gesamten Elements erforderlich sind (Dreieck) einer hessischen Schätzung, wie es bei BFGS erforderlich ist, Dabei ist n die Problemdimension. Im Gegensatz zu (vollständigem) BFGS wird die Schätzung des Hessischen niemals explizit in L-BFGS gebildet oder gespeichert (obwohl einige Implementierungen des BFGS nur den Choelsky-Faktor der hessischen Näherung bilden und aktualisieren und nicht die hessische Näherung selbst); Vielmehr werden die Berechnungen, die mit der Schätzung des Hessischen erforderlich wären, durchgeführt, ohne sie explizit zu bilden. L-BFGS wird anstelle von BFGS für sehr große Probleme verwendet (wenn n sehr groß ist), ist jedoch möglicherweise nicht so leistungsfähig wie BFGS. Daher wird BFGS gegenüber L-BFGS bevorzugt, wenn die Speicheranforderungen von BFGS erfüllt werden können. Andererseits ist L-BFGS möglicherweise nicht viel schlechter als BFGS. Die Schätzung des Hessischen wird niemals explizit in L-BFGS gebildet oder gespeichert (obwohl einige Implementierungen von BFGS nur den Choelsky-Faktor der hessischen Näherung bilden und aktualisieren und nicht die hessische Näherung selbst). Vielmehr werden die Berechnungen, die mit der Schätzung des Hessischen erforderlich wären, durchgeführt, ohne sie explizit zu bilden. L-BFGS wird anstelle von BFGS für sehr große Probleme verwendet (wenn n sehr groß ist), ist jedoch möglicherweise nicht so leistungsfähig wie BFGS. Daher wird BFGS gegenüber L-BFGS bevorzugt, wenn die Speicheranforderungen von BFGS erfüllt werden können. Andererseits ist L-BFGS möglicherweise nicht viel schlechter als BFGS. Die Schätzung des Hessischen wird niemals explizit in L-BFGS gebildet oder gespeichert (obwohl einige Implementierungen von BFGS nur den Choelsky-Faktor der hessischen Näherung bilden und aktualisieren und nicht die hessische Näherung selbst). Vielmehr werden die Berechnungen, die mit der Schätzung des Hessischen erforderlich wären, durchgeführt, ohne sie explizit zu bilden. L-BFGS wird anstelle von BFGS für sehr große Probleme verwendet (wenn n sehr groß ist), ist jedoch möglicherweise nicht so leistungsfähig wie BFGS. Daher wird BFGS gegenüber L-BFGS bevorzugt, wenn die Speicheranforderungen von BFGS erfüllt werden können. Andererseits ist L-BFGS möglicherweise nicht viel schlechter als BFGS. Die Berechnungen, die mit der Schätzung des Hessischen erforderlich wären, werden ohne explizite Bildung durchgeführt. L-BFGS wird anstelle von BFGS für sehr große Probleme verwendet (wenn n sehr groß ist), ist jedoch möglicherweise nicht so leistungsfähig wie BFGS. Daher wird BFGS gegenüber L-BFGS bevorzugt, wenn die Speicheranforderungen von BFGS erfüllt werden können. Andererseits ist L-BFGS möglicherweise nicht viel schlechter als BFGS. Die Berechnungen, die mit der Schätzung des Hessischen erforderlich wären, werden ohne explizite Bildung durchgeführt. L-BFGS wird anstelle von BFGS für sehr große Probleme verwendet (wenn n sehr groß ist), ist jedoch möglicherweise nicht so leistungsfähig wie BFGS. Daher wird BFGS gegenüber L-BFGS bevorzugt, wenn die Speicheranforderungen von BFGS erfüllt werden können. Andererseits ist L-BFGS möglicherweise nicht viel schlechter als BFGS.

Auch auf dieser Beschreibungsebene gibt es viele Varianten. Zum Beispiel können die Methoden völlig ungeschützt sein. In diesem Fall ist alles möglich, und sie konvergieren möglicherweise auch bei konvexen Problemen nicht. Oder sie können geschützt werden. Geschützte Methoden basieren normalerweise auf Vertrauensbereichen oder der Zeilensuche und sollen die Konvergenz zu etwas sicherstellen. Nur zu wissen, dass es sich bei einer Methode um L-BFGS handelt, sagt Ihnen nicht aus, welche Art von Schutz, falls vorhanden, angewendet wird. Es ist so, als würde man sagen, dass ein Auto eine viertürige Limousine ist - aber natürlich sind nicht alle viertürigen Limousinen in Leistung oder Zuverlässigkeit gleich. Es ist nur ein Attribut eines Optimierungsalgorithmus.


1
Hallo Markus, ich brauche wieder deine Hilfe. Kannst du mir kurz den Unterschied zwischen Newton- und Quazi-Newton-Methoden erklären? danke
Abir

3
Newton-Methoden berechnen die hessische Matrix "per Scratch" bei jeder Iteration des Algorithmus entweder genau oder durch endliche Differenzen des Gradienten bei dieser Iteration. Quasi-Newton-Methoden bauen eine Approximation der hessischen Matrix unter Verwendung der auf Gradientendifferenzen zwischen Iterationen. Es gibt viele verschiedene Möglichkeiten, dies zu tun, was zu einer Vielzahl verschiedener Quasi-Newton-Methoden führt, wie z. B. BFGS, DFP, SR1 und andere. Normalerweise erfordern Newton-Methoden eine große Menge an Berechnungen bei jeder Iteration, um das Hessische zu berechnen, viel mehr Rechenaufwand pro Iteration als Quasi-Newton-Methoden.
Mark L. Stone
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.