Vor kurzem gab es eine ML-ähnliche Frage zum theoretischen Stapelaustausch, und ich gab eine Antwort, in der Powells Methode, Gradientenabstieg, genetische Algorithmen oder andere "Approximationsalgorithmen" empfohlen wurden . In einem Kommentar sagte mir jemand, diese Methoden seien "Heuristiken" und keine "Approximationsalgorithmen" und näherten sich häufig nicht dem theoretischen Optimum (weil sie "häufig in lokalen Minima stecken bleiben").
Stimmen andere dem zu? Außerdem scheint es mir ein Gefühl zu geben, dass heuristische Algorithmen garantiert den theoretischen Optimalwerten nahe kommen können, wenn sie dazu eingerichtet sind, einen großen Teil des Suchraums zu erkunden (z. B. Parameter / Schrittgrößen klein zu setzen), obwohl ich es nicht weiß Das habe ich in einer Zeitung nicht gesehen. Weiß jemand, ob dies in einem Papier gezeigt oder bewiesen wurde? (Wenn nicht für eine große Klasse von Algorithmen, vielleicht für eine kleine Klasse, sagen wir NNs usw.)
Antworten:
Ich denke, Sie mischen mehrere wichtige Konzepte. Lassen Sie mich versuchen, ein paar Dinge zu klären:
Es gibt metaheuristische Methoden, die iterativ versuchen, eine Kandidatenlösung zu verbessern. Beispiele hierfür sind Tabusuche, simuliertes Tempern, genetische Algorithmen usw. Beachten Sie, dass es zwar viele Fälle gibt, in denen diese Methoden gut funktionieren, jedoch kein tiefes Verständnis darüber besteht, wann diese Methoden funktionieren und wann nicht. Und was noch wichtiger ist: Wenn sie nicht zur Lösung kommen, können wir willkürlich weit davon entfernt sein. Probleme, die durch metaheuristische Methoden gelöst werden, sind in der Regel diskreter Natur, da es weitaus bessere Werkzeuge gibt, um kontinuierliche Probleme zu lösen. Ab und zu gibt es aber auch Metaheuristiken für kontinuierliche Probleme.
Es gibt numerische Optimierungsmethoden. Die Mitglieder dieser Community untersuchen sorgfältig die Art der zu optimierenden Funktion und die Einschränkungen der Lösung (in Gruppen wie konvexe Optimierung, quadratische Programmierung, lineare Programmierung usw.) und wenden die gezeigten Algorithmen an für diese Art von Funktion und diese Art von Einschränkungen zu arbeiten. Wenn Leute in diesem Bereich "zur Arbeit gezeigt" sagen, meinen sie einen Beweis. Die Situation ist, dass diese Arten von Methoden in kontinuierlichen Problemen arbeiten. Wenn Ihr Problem jedoch in diese Kategorie fällt, ist dies definitiv das zu verwendende Werkzeug.
Es gibt diskrete Optimierungsmethoden, bei denen es sich in der Regel um Dinge handelt, die in der Natur mit Algorithmen verbunden sind, um genau untersuchte diskrete Probleme zu lösen: z. Es gibt eine Untergruppe von Personen in dieser Gruppe, die wirklich schwierige Probleme untersuchen, für die kein schneller Algorithmus zu erwarten ist. Anschließend untersuchen sie Approximationsalgorithmen, die schnelle Algorithmen sind, für die sie zeigen können, dass ihre Lösung innerhalb eines konstanten Faktors des wahren Optimums liegt. Dies nennt man "Approximationsalgorithmen". Diese Leute zeigen auch ihre Ergebnisse als Beweise.
Um Ihre Frage zu beantworten: Ich glaube nicht, dass Metaheuristiken Approximationsalgorithmen sind. Es scheint mir nichts mit der Meinung zu tun zu haben, es ist einfach eine Tatsache.
quelle
Beim maschinellen Lernen geht es häufig um die Optimierung einer Funktion, die viele lokale Minima aufweist. Ein gutes Beispiel ist die Vorwärtskopplung neuronaler Netze mit versteckten Einheiten. Unabhängig davon, ob diese Funktionen diskret oder kontinuierlich sind, gibt es keine Methode, die ein globales Minimum erreicht und stoppt. Es ist leicht zu beweisen, dass es keinen allgemeinen Algorithmus gibt, um ein globales Minimum einer stetigen Funktion zu finden, selbst wenn es eindimensional und glatt ist (unendlich viele Ableitungen hat). In der Praxis stecken alle Algorithmen zum Lernen neuronaler Netze in einem lokalen Minimum. Dies lässt sich leicht überprüfen: Erstellen Sie ein zufälliges neuronales Netzwerk, nehmen Sie eine große Anzahl von Antworten auf zufällige Eingaben vor und versuchen Sie dann, ein anderes neuronales Netzwerk mit derselben Architektur zu erlernen, um die Antworten zu kopieren. Es gibt zwar die perfekte Lösung, aber weder Backpropagation noch ein anderer Lernalgorithmus werden sie entdecken können.
Einige Lernmethoden, wie simuliertes Tempern oder genetische Algorithmen, untersuchen viele lokale Minimas. Für stetige Funktionen gibt es Methoden wie Gradientenabstieg, die das nächstgelegene lokale Minimum finden. Sie sind viel schneller, deshalb sind sie in der Praxis weit verbreitet. Wenn jedoch genügend Zeit zur Verfügung steht, übertrifft die erste Gruppe von Methoden die spätere Gruppe in Bezug auf den Trainingssatzfehler. Bei Problemen in der realen Welt ist die letztgenannte Gruppe mit vertretbaren zeitlichen Einschränkungen normalerweise besser.
Für einige Modelle, wie die logistische Regression, gibt es ein lokales Minimum, die Funktion ist konvex, die Minimierung konvergiert zum Minimum, aber die Modelle selbst sind simpel.
Das ist die bittere Wahrheit.
Beachten Sie auch, dass der Konvergenznachweis und der Konvergenznachweis für die beste Lösung zwei verschiedene Dinge sind. Ein Beispiel hierfür ist der K-Means-Algorithmus.
Schließlich wissen wir bei einigen Modellen überhaupt nicht, wie man lernt. Wenn die Ausgabe beispielsweise eine willkürlich berechenbare Funktion von Eingaben ist, kennen wir keine guten Algorithmen, die in angemessener Zeit eine Turing-Maschine oder eine äquivalente Maschine finden, die diese Funktion implementiert. Wenn zum Beispiel f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (zehn erste Primzahlen), ziehen wir an Ich kenne keinen Lernalgorithmus, der in angemessener Zeit vorhersagen könnte, dass f (11) = 31 ist, es sei denn, er kennt das Konzept der Primzahlen bereits.
quelle