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 ?
algorithms
optimization
Abir
quelle
quelle
Antworten:
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
"Exakte" hessische Matrix (oder endliche Unterschiede von Gradienten), in welchem Fall sie als Newton-Methoden oder bekannt sind
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.
quelle