Was ist ein Meta-Algorithmus?

8

Ich lese gerade ein Umfragepapier über den Metaalgorithmus zur multiplikativen Gewichtsaktualisierung. Ich bin mir nicht ganz sicher, was sie unter "Meta-Algorithmus" verstehen. Ist es einfach ein allgemeiner Algorithmus, der für verschiedene Zwecke verwendet werden kann?

Ich konnte keine genaue Definition für diesen Begriff finden, obwohl ich Beispiele für Metaalgorithmen wie Boosting beim maschinellen Lernen gefunden habe.

Monadoboi
quelle

Antworten:

13

Ich interpretiere es als "algorithmische Technik". Es ist ein allgemeiner Rahmen, mit dem eine Reihe von Problemen gelöst werden können.

Mach dir keine Sorgen über die Bedeutung dieses Satzes. Es ist nichts mit einer akzeptierten Definition, und Sie müssen es nicht verstehen, um den Wert dieses Umfragepapiers zu nutzen. Es ist nur eine vorübergehende Phrase. Konzentrieren Sie sich stattdessen darauf, die Ideen und technischen Ergebnisse im Umfragepapier zu verstehen.

DW
quelle
4
Wissen Sie, für ein Feld, das auf der rücksichtslosen Genauigkeit basiert, die von den Maschinen verlangt wird, die wir codieren, sind wir wirklich sehr, sehr schlecht darin, mit Mitmenschen zu kommunizieren.
CorsiKa
1
@corsiKa Der Implementierer von Menschen folgte dem Postel-Prinzip (gut die Hälfte davon ...), das es schwierig macht zu sagen, wenn mehrdeutige oder fehlerhafte Eingaben falsch verarbeitet werden. Wenn die Kommunikation mit Menschen rücksichtslose Genauigkeit erfordern würde und eine klare Rückmeldung über das Scheitern hätte, wäre die Kommunikation sicher viel präziser. Das Prinzip von Postel führt jedoch dazu, dass die Fehlerkompatibilität beibehalten werden muss, sodass wir nicht erwarten können, dass sie in einer zukünftigen Version behoben wird. Im Ernst, ich denke nicht, dass Informatiker an dieser Front besonders schlecht als der Durchschnitt sind.
Derek Elkins verließ SE
2

Der Begriff "Meta-Algorithmus" hat im Kontext der Lerntheorie, dem Forschungsgebiet, aus dem multiplikative Gewichte stammen, eine recht gut akzeptierte Bedeutung.

Insbesondere ist ein Metaalgorithmus im Kontext der Lerntheorie ein Algorithmus, der entscheidet, wie eine Reihe anderer (typischerweise, aber nicht notwendigerweise nicht meta) "Algorithmen" (die so dumm sein können wie eine konstante Ausgabe) verwendet werden. zum Beispiel) und konstruiert daraus einen neuen Algorithmus, häufig durch Kombinieren oder Gewichten der Ausgaben der Komponentenalgorithmen. (Betrachten Sie dies jedoch nicht als kanonische Definition.) In der Regel werden diese Komponentenalgorithmen als Blackboxes angesehen, die Eingaben vornehmen und ihre Ausgaben erzeugen, wobei das Innenleben verborgen / irrelevant ist.

Es gibt eine Reihe von Beispielen für Metaalgorithmen. Der referenzierte multiplikative Gewichtungsalgorithmus ist ein Beispiel. Ein besonders einfaches Beispiel ist die Mehrheitsentscheidung für ein Ensemble von Binärklassifikatoren: Angenommen, Sie haben eine Reihe von Binärklassifikationsalgorithmen und wissen nicht, wie Sie einen guten auswählen sollen. Sie können sie einfach alle berechnen und abstimmen lassen. Die Abstimmung ist in diesem Fall der Meta-Algorithmus. Natürlich funktioniert dies möglicherweise nicht sehr gut, und Sie möchten möglicherweise eine gewichtete Abstimmung durchführen, bei der das Gewicht mit der beobachteten Leistung irgendwie skaliert.

Nur ein paar Beispiele für Meta-Algorithmen, an die ich im Moment denken kann:

  • multiplikative Gewichte
  • gewichtete Mehrheit
  • erhöhen
  • Absacken
  • Mittelung des Ensembles, Abstimmung
  • "Folgen sie den Anführer"

Wie immer finden Sie Beispiele, die die Grenze zwischen Meta und nicht Meta verwischen. Zum Beispiel könnten K-nächste Nachbarn als gewichtete Abstimmung / Mittelung von Komponentenalgorithmen betrachtet werden, wobei jeder potenzielle Nachbar (dh die markierten Punkte im Datensatz) sein eigener Komponentenalgorithmus ist, der eine konstante Ausgabe hat und die Gewichtung eine Funktion von ist Abstand von der Algorithmeneingabe.

Bohne
quelle