Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es gibt Situationen, in denen eine vollständige Brute-Force-Suche kein Optimum findet, weil die Knoten des Brute-Force-Gitters nicht auf dieses fallen.
Maxim Dmitrievsky #:
1. Какой-нибудь конкретный критерий оценки кач-ва оптимизации есть?)
2. Wenn der Algorithmus mehr Iterationen benötigt, ist das schlecht?
1. die Grenze von 10 000 Zugriffen ist nicht "von oben" festgelegt. Der MetaTrader 5-Optimierer verwendet diese Zahl als das Optimum vom praktischen Standpunkt aus gesehen. Diese Zahl wird als Referenzgrenze für die Praktikabilität verwendet. Sie können zwar mehr Aufrufe machen, aber warum Zeit und Ressourcen verschwenden, wenn Sie einen leistungsfähigeren Algorithmus verwenden und schneller zu den gleichen Ergebnissen kommen können. Diese Zahl ist ein Schwellenwert und wird beim Vergleich verschiedener Algos verwendet.
Siebeschreibt die Eigenschaften von Algorithmen, die berücksichtigt werden sollten:
Genauigkeit der Konvergenz
Reproduzierbarkeit der Ergebnisse (Robustheit)
Skalierbarkeit (Fähigkeit, bei zunehmender Dimensionalität des Problems weiterhin effizient zu arbeiten).
2. Wäre es bei einer zufälligen Punktgenerierung schlecht, wenn eine große Anzahl von Aufrufen des FF erforderlich wäre?
3. wenn sich die Anzahl der Zugriffe auf den FF bei einer vollständigen Suche in vernünftigen Grenzen hält, dann sollte er verwendet werden. Wozu brauchen wir AO, wenn z.B. nur 200 Zugriffe erforderlich sind?
Es gibt auch Situationen, in denen eine vollständige Brute-Force-Suche kein Optimum findet, weil die Knoten des Brute-Force-Gitters nicht auf dieses fallen.
Das ist richtig. Und eine Verkleinerung des Gitters führt zu einem schrittweisen Anstieg der Aufrufe von FF. Hier beginnt der Bereich der praktischen Anwendbarkeit von AO unter Zeit- und Ressourcenbeschränkungen im wirklichen Leben.
1. Es ist noch nicht sichergestellt, dass die Optimierer von alglib korrekt verwendet werden.
1. Sie können alles in Frage stellen, aber es ist immer viel konstruktiver, von der Position vollständiger Quellcodes und korrekter, reproduzierbarer Tests aus zu sprechen.
2) Man kann ein optimales Ergebnis auf einer zweidimensionalen Megacity erhalten, wenn man 9 Milliarden Menschen bittet, mit ihren Fingern wahllos in ein leeres Blatt Papier zu stechen, hinter dem die Oberfläche der Funktion verborgen ist (einer von ihnen wird mit Sicherheit sehr nahe am Globalen sein und sagen, dass er es ist, der das Problem erfolgreich gelöst hat). Aber wir müssen die optimale Lösung nicht in 9 Milliarden Versuchen durch zufälliges Stochern finden, sondern in 10 000 mit Hilfe einer Strategie.
Je höher das durchschnittliche Ergebnis einer Reihe unabhängiger Tests ist (Stabilität, Wiederholbarkeit der Ergebnisse), desto besser ist die getestete Methode im Vergleich zum Zufallsstochern für eine bestimmte Art von Problem (bei einigen Problemen unterscheiden sich einige Methoden nicht wesentlich vom Zufallsstochern, bei anderen sind sie sehr effektiv).
Das ist der Sinn des Testens und Vergleichens verschiedener Algorithmen, für die nicht nur eine Testfunktion, sondern drei verschiedene mit unterschiedlichen Eigenschaften als Benchmarks herangezogen werden, so dass man die Anwendbarkeit verschiedener Algorithmen auf verschiedene Aufgaben, ihre Grenzen und Fähigkeiten bei verschiedenen Aufgaben klar erkennen kann. So kann man sich der Lösung von Optimierungsproblemen auf sinnvolle Weise nähern.
In Zukunft werde ich lieber spezifische Fragen zum Inhalt des Artikels und zu den Codes beantworten.
Wir nehmen die Methoden der lokalen Optimierung, wenden sie auf das globale Problem an und vergleichen sie mit den Methoden der globalen Optimierung. Das ist es, worüber ich spreche.
Ich spreche darüber, wie wir diese Methoden für die globale Optimierung anpassen können. Die einfachste Möglichkeit besteht darin, die Anzahl der Initialisierungen zu erhöhen.
Wenn ich es richtig verstanden habe, werden Adam usw. auf Geschwindigkeit und nicht auf Qualität getrimmt.
Es wäre interessant zu sehen, wie die Bewertung ausfällt, wenn sie durch die Zeit und nicht durch die Anzahl der Wiederholungen begrenzt wird.
Wenn ich das richtig verstanden habe, geht es bei Adam usw. um Geschwindigkeit, nicht um Qualität.
Es wäre interessant zu sehen, wie die Bewertung ausfällt, wenn sie durch die Zeit und nicht durch die Anzahl der Wiederholungen begrenzt wird.
Die Algorithmen der ADAM-Familie (AdamW, RAdam, AdaBelief und andere) sowie SGD, SGRAD und andere (es gibt viele davon) wurden als moderner Ersatz für die klassischen Gradientenmethoden entwickelt und sind darauf ausgelegt, Probleme mit großen Dimensionen ohne Kenntnis der analytischen Formel zu lösen, oft zum Training neuronaler Netze (alle haben ihre Vor- und Nachteile). Es gibt auch interessante Lion-Methoden von Google (2023) und einige andere sehr aktuelle Methoden. Es ist sehr interessant, sich mit diesem Thema zu befassen, vor allem im Zusammenhang mit dem Training neuronaler Netze, bei dem es nützlich und informativ ist, eine Zieloberfläche für ein einfaches (oder vielleicht auch komplexes) Beispiel zu erstellen und Experimente durchzuführen (mit dem Parsing ihrer Innereien, mit einer eingehenden Untersuchung der Eigenschaften der Methoden, einer sorgfältigen Bewertung ihrer Fähigkeiten - alles, was wir wollen).
Es gibt keine zeitlichen Beschränkungen, an die man gebunden wäre. Ein Nutzer wird in einer Minute 1 Million Zugriffe auf das Ziel durchführen, ein anderer 1 Milliarde. Wie können wir Algos unter solchen Bedingungen vergleichen? Deshalb verwenden wir ein Limit für die Anzahl der Treffer und vergleichen die Effizienz innerhalb dieses Limits.
Bei zeitlichen Beschränkungen gibt es nichts, woran man sich binden könnte. Ein Nutzer wird in einer Minute 1 Million Zugriffe auf das Ziel durchführen, ein anderer 1 Milliarde. Wie können wir unter solchen Bedingungen Algos miteinander vergleichen? Deshalb verwenden wir eine Obergrenze für die Anzahl der Treffer und vergleichen die Effizienz innerhalb dieser Grenze.
Bindung an den PC des Autors. Nehmen Sie die Zeit von 10000 Iterationen von ANS als Basis.
Meine Ergebnisse mit dem Code von fxsaber:
PS-Codegröße als zusätzliche Metrik (wie komplex ist die Implementierung des Algorithmus)