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
An: CyberCortex
Entschuldigung SanSanych, dass ich mich einmische.
Ich konnte nicht an einer solchen Überheblichkeit und aggressiven Unprofessionalität vorbeigehen.
Betrachten wir die Aussagen des Autors aus seiner Beschreibung des Bewerbungsprogramms der Reihe nach
Zitat: "Vorteile von CyberCortex im Vergleich zu bestehenden Analoga:
Der verwendete Algorithmus. Für viele Trader beginnen und enden Technologien aus dem Bereich der künstlichen Intelligenz mit dem abgedroschenen Thema der klassischen neuronalen Netze. Doch der in CyberCortex implementierte Bousting-Algorithmus ist ein um Größenordnungen mächtigeres und moderneres Werkzeug(?), denn: "
Einspruch:
Woher kommt diese abschätzig-grandiose Meinung vieler Trader?Im Allgemeinen wird dieses Feld als Machine Learning bezeichnet, Künstliche Intelligenz ist etwas anderes. Ich bin sicher, dass viele Trader mit vielen Arten von neuronalen Netzen vertraut sind, von denen Sie noch nicht einmal gehört haben (tiefe Netze, Faltungsnetze und andere moderne Netze). Das Thema der neuronalen Netze ist für diejenigen, die sich auf das Studium von MLP beschränkt haben, abgenutzt. Ich muss Sie enttäuschen, das Thema neuronale Netze hat nach der Entwicklung der Deep-Learning-Methoden einen zweiten Aufschwung erfahren, und für diejenigen, die es kennen und können, ist es noch lange nicht abgeschlossen. Außerdem kennen wir viele andere Klassifikationsalgorithmen, die in zahlreichen R-Sprachpaketen implementiert sind.
Der Bousting-Algorithmus in verschiedenen Modifikationen ist schon lange bekannt (1996) und keineswegs leistungsfähiger als der Algorithmus des neuronalen Netzes. Übrigens sollten Sie uns sagen, welchen Algorithmus Ihr Programm verwendet. Ein kurzer Blick auf die Pakete R -
"ADA"- adaptive stochastic bousting. einer meiner Favoriten, drei Modifikationen des ursprünglichen Algorithmus sind implementiert: Gentle-, Logit-, und Real AdaBoost
.
"adabag" - das Paket verwendet die Mehrklassen-Algorithmen Adaboost.M1 (Freund und Schapire), AdaBoost-SAMME (Zhu et al., 2009) und Breimans Bagging-Algorithmus ;
"boost" - enthält eine Reihe von Boosting-Methoden wie "BagBoost", "LogitBoost", "AdaBoost" und "L2Boost", ergänzt durch eine Vorauswahl von Merkmalen (Prädiktoren) unter Verwendung der Wilcoxon-Teststatistik ;
'pga' - enthält ein Ensemble von Algorithmen, das AdaBoost und Random Forest mit einem evolutionären Algorithmus kombiniert.
Wenn Sie einen originellen, weltweit unbekannten Algorithmus haben, beschreiben Sie bitte zumindest in allgemeiner Formden Unterschied zu den bestehenden Algorithmen und etwaige Vorteile gegenüber diesen, und ein Link zur Beschreibung wäre wünschenswert.
Wie Sie sehen können, ist die Auswahl ziemlich groß.
Für diejenigen, die nicht im Thema sind. "Busting" (Amplifikation) - eine Methode des Resamplings , die ursprünglich vorgeschlagen wurde, umProbleme in Bereichen der Wissenschaft zu lösen, in denen ursprünglich die Anzahl der Beispiele (Ergebnisse von Experimenten), um sie in statistischen Berechnungen zu verwenden , gering war , neue zu extrahieren ist unmöglich oder sehr teuer. Der Kern der Methode besteht darin, aus einer kleinen Ausgangsmenge eine Stichprobe kleineren Umfangszu ziehen , die nach dem Zufallsprinzip gebildet wird.DiesesVerfahren wirdviele Male wiederholt, so dass man eine ausreichend große Gesamtstichprobe erhält, die dann für die statistischen Berechnungen verwendet wird.
Das Wichtigste zuerst. Der Devisenmarkt ist kein Fall von "Datendefizit". Im Gegenteil, es handelt sich um einen Fall von "Datenreichtum".
Zweitens. Die langjährigeErfahrung mit derErforschung und Anwendung von bousting und crossvalidation in der Praxis und an den Universitäten hat gezeigt, dass diese Methoden im Trainingsprozess, d.h. bei der Auswahl eines Modells durch interneFehler, unerwünscht sind. In der Bewertungsphase des trainierten Modells, d. h. bei der Ermittlung des externen Fehlers, sind sie jedoch sehr nützlich. Daher ist für unseren Fall der "Datenfülle" die Aufteilung in train/valid/test während des Trainings ideal. Es gibt noch viele andere Feinheiten, die bei der Datenauswahl und dem Pre-Training berücksichtigt werden sollten und von denen das Ergebnis der Modellierung in hohemMaße abhängt, aber das ist ein eigenes großes Thema.
Aus meiner Erfahrung mit langen Experimenten mit ADA kann ich sagen, dass die Ergebnisse manchmal hervorragend, manchmal ekelhaft = sehr unbeständig sind.
Zitat: "DerAlgorithmus verlangt nicht, die Dimensionalität der Eingabedaten zu reduzieren und herauszufinden, welche Merkmale informativ sind und welche nicht. Im Gegenteil: Je mehr Eingabedaten vorhanden sind, desto höher ist die Wahrscheinlichkeit einer korrekten Klassifizierung. Uninformative Merkmale werden automatisch verworfen."
Frage - wie werden uninformative Merkmaleauf magische Weise aussortiert? Die Bestimmung(Bewertung) derWichtigkeit der Prädiktoren ist in jedem Entscheidungsbaum-Algorithmus enthalten, aber es gibt eine ganze Reihe von Kriterien, die zur Bestimmung der Wichtigkeit verwendet werden , und nicht alle führen zu eindeutigen Ergebnissen. Wie lösen Sie das Problem in Ihrem Programm?
Zitat: "DerAlgorithmus erfordert keine vorherige Normalisierung der Daten oder irgendwelche vorherigen Manipulationen. Alle Daten werden automatisch auf eine Einheitsvarianz und einen mathematischen Erwartungswert von Null reduziert."
Der einzige Algorithmus, der wirklich keine Vorverarbeitung erfordert, istRandomForest. Alle anderen erfordern verschiedene Vorverarbeitungen. Sie wollen damit offensichtlich sagen, dass Ihr Programm den Standardisierungsprozess (x minus Mittelwert geteilt durch die Standardabweichung) für den Benutzer übernimmt? Ich bin mir nicht sicher, ob das eine gute Lösung ist, denn es gibt mindestens ein Dutzend verschiedeneVorverarbeitungsmethoden, und man muss in jedem Einzelfall entscheiden, welche die beste ist.
Zitat: " DerAlgorithmus erfordert im Gegensatz zu neuronalen Netzen keine Anpassung der Trainingsparameter, um ein optimales Klassifikationsergebnis zu erzielen."
Das stimmt nicht. Jeder bekannte Bousting-Algorithmus hat mindestens zwei Parameter, die abgestimmt werden müssen, um das beste Ergebnis zu erzielen.
Zitat:"Der Algorithmus ist praktisch immun gegen die Tendenz zum Übertraining."
Falsche Aussage. Jeder Algorithmus für maschinelles Lernen ist anfällig für diese Krankheit - Überlernen. Das Risiko, ein übertrainiertes Modell zu erhalten, wird durch Regularisierung verringert. Heutzutage sind verschiedene Regularisierungsmethoden bekannt und werden erfolgreich eingesetzt, unter anderem in Bousting-Algorithmen.
Zitat:"Der Algorithmus erlaubt es, Daten in eine beliebige Anzahl von Klassen zu klassifizieren".
Dies ist keine Errungenschaft dieses Algorithmus. Heutzutage tun dies fast alle Algorithmen für maschinelles Lernen.
Zitat:"Die Besonderheit des implementierten Algorithmus besteht darin, dass, wenn es Muster in den Daten gibt, diese auch gefunden werden. Wenn es hingegen keine Muster in den Daten gibt, dann sind die Vorhersagen des Programms nicht besser als ein einfacher Münzwurf, was logisch ist.
Es mag Sie überraschen, aber alle Algorithmen haben diese Eigenschaft.
Fazit: Der unverständliche Algorithmus, den Sie für Geld anbieten, kann transparent, einfach und in verschiedenen Varianten in der Sprache R implementiert werden , und wohlgemerkt absolut frei, d.h. kostenlos. Dieses Programm wird 10-15 Zeilen lang sein. Dies ist der erste. Der zweite, unbestreitbare Vorteil der Sprache R ist, dass sie von der weltweiten wissenschaftlichen Gemeinschaft (praktisch alle Universitäten der Welt) und nun auch von den Giganten der Softwarebranche entwickelt und unterstützt wird. Microsoft hatmit MicrosoftAzure Machine Learning Studio"einen Cloud-DienstAzure" ins Leben gerufen , der es Ihnen ermöglicht, alle Phasen der Erstellung, des Trainings und der Bewertung des Modells in der Cloud durchzuführen und anschließend Vorhersagen zu erhalten, indem Sie Daten an den Dienst für Ihr Modell senden. Der Dienst basiert vollständig auf der Sprache R und verfügt über eine grafische Schnittstelle, die es Ihnen ermöglicht, den Prozess auf das "Zeichnen" eines Bildes zu reduzieren (ich vereinfache natürlich). War die Sprache früher ein De-facto-Standard in Forschungskreisen, so ist sie jetzt praktisch zu einem solchen im angewandten und industriellen Bereich geworden.
Ein letzter Punkt. Ich habe nichts dagegen, dass Sie Ihre im Programm verkörperte Arbeit monetarisieren. Das ist gut so. Ich bin dagegen, dass Sie dem Produkt zu Werbezwecken nicht vorhandene oder übertriebene Eigenschaften zuschreiben. Das sieht unprofessionell aus.
Seien Sie vorsichtig. Wie der Klassiker sagte.
Viel Glück
Hallo!
"Im Allgemeinen wird dieser Bereich als maschinelles Lernen bezeichnet, künstliche Intelligenz ist ein wenig anders." - Maschinelles Lernen ist ein Teilbereich der künstlichen Intelligenz. Aber ich bin sicher, du hast es einfach vergessen. Das kommt vor...
Ich habe von neuen Arten von neuronalen Netzen gehört:) Und, falls Sie es bemerkt haben, in der Beschreibung meines Programms steht"klassische neuronale Netze", nicht alle Netze. Mit klassisch meine ich MLP, seine Derivate, Hopfield-Netz, probabilistisches Netz und andere.
"Woher kommt diese abschätzig-grandiose Meinung vieler Händler?" - Diese mega-überhebliche Meinung kommt von der Tatsache, dass die große Mehrheit der Trader, die versuchen, schwache Technologien der künstlichen Intelligenz zu nutzen, klassische neuronale Netze verwenden.
"Im Übrigen wäre es notwendig zu sagen, mit welchem konkreten Algorithmus Ihr Programm arbeitet." - Adaptives Bousting von einstufigen Entscheidungsbäumen (Stümpfen). So steht es dort geschrieben. Da ich ihn von Grund auf selbst implementiert habe, ohne ein Vorbild vor mir zu sehen, und es keine normale Beschreibung im Internet gab, habe ich bei der Entwicklung einige meiner Heuristiken angewandt.
"Für diejenigen, die sich nicht auskennen. "Boosting ist eine Resampling-Methode , die von..." - Ich weiß nicht, woher Sie das kopiert haben, aber ich denke, diese Definition beschreibt nicht Boosting, sondern Bootstrap:) Boosting ist das Boosten von einfachen Klassifikatoren. Beim Bousting erhält man nicht eine große Stichprobe N aus einer kleinen Stichprobe m. Beim Bousting werden für jeden nachfolgenden einfachen Klassifikator Beispiele, die vom vorherigen Klassifikator falsch klassifiziert wurden, bevorzugt ausgewählt. Die Anzahl der Beispiele ist immer gleich der ursprünglichen Anzahl von Beispielen. Danach ist es besonders witzig, Ihren ernsthaften Satz zu lesen:"Für diejenigen, die nicht auf dem Laufenden sind." xD
"Zunächst einmal. Der Devisenmarkt ist kein Fall von "Datenknappheit". Im Gegenteil, es handelt sich um einen Fall von 'Datenreichtum'." - Nun, das hängt davon ab, von welcher Seite man es betrachtet. Wenn Sie Devisenkurse und einen Haufen "pseudo-mathematischer" Indikatoren, die nach alten Zeiten riechen, und verschiedene Derivate davon meinen, dann ja, dann gibt es keinen Mangel. Da Sie aber in eine andere Richtung gegangen sind und versehentlich Bousting mit Bootstrap verwechselt haben, wird Ihre Maxime unbeachtet bleiben, denn ich habe keine Ahnung, was für eine Antwort Sie erwarten.
"LangjährigeErfahrung in derErforschung und Anwendung von bousting und crossvalidation in der Praxis und an Universitäten hat gezeigt..." - wirklich? Langweilig...
"Aus meiner Erfahrung langjähriger Experimente mit ADA kann ich sagen - manchmal tolle Ergebnisse, manchmal ekelhaft = sehr instabil. " - Deine Erfahrung ist kein Axiom für uns, vielleicht hast du da ein paar Knöpfe verwechselt oder so, ähnlich wie bei der Verwirrung oben. Ich weiß es nicht.
"Wie lösen Sie das in der Software? " - Jeder einfache Klassifikator konzentriert sich auf das Merkmal, das den geringsten Klassifikationsfehler erzeugt. Wenn das Merkmal nicht informativ ist, ist der Fehler hoch. Das ist die Magie des Ganzen. Lassen Sie uns diese Logik mit noch mehr wissenschaftlichem Unsinn darüber, wie Universitäten..... Nein, im Ernst, schreiben Sie etwas.
"Ich bin mir nicht sicher, ob das eine gute Lösung ist" - finden Sie nicht, dass Sie ein bisschen zu kategorisch sind? Mir scheint, dass der Softwareentwickler ein wenig genauer weiß, was hinzugefügt werden muss, damit es wie vorgesehen funktioniert.
"Nicht wahr. Jeder bekannte Bousting-Algorithmus hat mindestens zwei Parameter, die angepasst werden müssen, um ein besseres Ergebnis zu erzielen." - Welche Parameter haben Sie denn in R, die eingestellt werden müssen? Ich mache mir Notizen...
"Zitat:"Der Algorithmus ist praktisch immun gegen die Tendenz zum Übertraining. "Falsche Aussage...."" - Ich mag deine Aussagen so sehr :). Nun, zunächst einmal steht da "praktisch". Auf Russisch heißt das "fast". Aber wenn es ein stabiles Muster in den Daten gibt, wie z. B. in dem Experiment mit der Kfz-Kennzeichenerkennung, dann wird der Algorithmus nicht umtrainiert. Bei der Trainingsstichprobe geht der Fehler gegen Null, und bei der Teststichprobe bleibt der Fehler konstant, etwa 1 %. Die Fragen?
"Das ist nicht die Leistung dieses Algorithmus, das machen heute fast alle maschinellen Lernalgorithmen." - Sie können mir sagen, dass das ein Nachteil ist. Es ist ein Vorteil im Vergleich zu einem binären Klassifikator. Oder sehen Sie das nicht so?
"Es mag dich überraschen, aber alle Algorithmen haben diese Eigenschaft." - Lies genau: "Wenn es Muster in den Daten gibt, werden sie gefunden." Das ist meine Betonung. Das Hauptproblem bei Algorithmen für maschinelles Lernen ist, wie viele Muster gefunden werden. Mein Programm kommt damit gut zurecht. Nach Ihrer Logik ergibt sich, dass Menschen, die einen MLP haben, keine anderen Algorithmen entwickeln sollten, denn ein mehrschichtiges Perseptron ist ein maschineller Lernalgorithmus, und Sie sagen, dass"alle Algorithmen diese Eigenschaft haben.
"Ein obskurer Algorithmus, den Sie gegen Geld anbieten" - ich biete keinen Algorithmus an, sondern ein Programm. Ich habe nichts gegen die Sprache R. Aber Sie sehen, worum es geht: Nicht alle Menschen können und wollen die Logik und die Syntax der Programmiersprache verstehen, die Einstellungen der Algorithmen verstehen, einige Dateien konvertieren und über verschiedene Krücken eine Verbindung zum Terminal herstellen, um das Ergebnis der Berechnungen zu nutzen. Wenn jemand das alles kann, gratuliere ich ihm. Manche Leute brauchen es einfach nur, dass es "out of the box" funktioniert. Man könnte meinen, ich würde Ihnen hinterherlaufen und Sie zwingen, unsere Software zu kaufen. Verwenden Sie R, ich versichere Ihnen, dass ich mich darüber nicht aufregen werde.
"Ich habe nichts dagegen, dass Sie Ihre harte Arbeit mit Software zu Geld machen." - Es tut mir leid, ich habe vergessen, Sie nach Ihrer Meinung zu fragen. Aber solange du damit einverstanden bist, ist es für mich in Ordnung.
"Ich bin dagegen, dass Sie einem Produkt zu Werbezwecken nicht vorhandene oder übertriebene Eigenschaften zuschreiben. - und ich protestiere dagegen, dass Sie über etwas schreiben, von dem Sie keine Ahnung haben.
Ich danke Ihnen. Das war's für mich. Wie der Klassiker sagte.
P.S.: Ich reagiere nur auf Aggression. Nichts für ungut. Frieden.
P.P.S.: Und ja, du hättest nicht anfangen sollen, mit mir zu streiten:))
Я не понимаю содержание Скрежет обучение режим? В частности, о том, как использовать платформу использовать платформу MT4 MQL предварительной подгото вки?
Leute, hallo! Eure Energie geht in die richtige Richtung!
Herzlichen Glückwunsch, Sie haben einen strategischen Fehler!
Ich zitiere die erste Zeile Ihres Artikels: "Ursprünglich besteht der Zweck des Aufbaus eines Handelssystems darin, das Verhalten eines bestimmten Marktinstruments, z.B. eines Währungspaares, vorherzusagen".
Ich habe den Artikel gar nicht weiter gelesen. Es ist besser, ALLE Prognosemethoden zu studieren!
Ich verrate Ihnen ein Geheimnis: Der Zweck des Aufbaus eines Handelssystems ist es, "ein Modell des (eigenen) Verhaltens zu erstellen".
Es ist nicht wichtig, was der Markt (Marktführer) tun wird, es ist wichtig, was Sie tun werden: UND, ODER, NICHT.
Zum Beispiel: UND - dem Marktführer hinterherlaufen (die Aktionen des Marktführers wiederholen).
Ich habe versucht, Rattle auf Linux (Kubuntu) zu installieren, es hat nicht funktioniert, es gibt eine Menge Abhängigkeiten für die Codekompilierung.
Durch die Analyse von Installationsfehlern erhielt ich die folgende Liste von Paketen, die im Betriebssystem selbst installiert werden müssen, bevor rattle in R installiert werden kann:
console -
$ sudo apt-get install libxml2-dev unixodbc-dev libssl-dev libgtk2.0-dev
Und dann können Sie die Installation in R selbst durchführen -
> install.packages("rattle", dependencies=TRUE)
Und wenn Ihnen noch einige *.h-Dateien fehlen, um rattle zu installieren, können Sie das benötigte Paket wie folgt finden
$ sudo apt-get install apt-file
$ apt-file update
$ apt-file search /someheaderfile.h
Vielleicht hilft das jemand anderem :)
Nach dem Update des Betriebssystems funktioniert rattle nicht mehr, der Aufruf von rattle() gibt einen Fehler
Error in method(obj, ...) : Invalid root element: 'requires'
Die erste Möglichkeit, die fast geholfen hätte, war, rattle mit einem zusätzlichen Parameter auszuführen
Es stellte sich heraus, dass die von cran installierte Version von rattle veraltet ist, man muss rattle neu installieren, indem man das Repository der Entwickler angibt, um eine neue Version zu erhalten.rattle(useGtkBuilder = TRUE)
das Programmfenster öffnete sich, aber die Schaltflächen funktionierten nicht, die Methode half nicht weiter.
install.packages("rattle", repos="https://rattle.togaware.com", type="source")
Und danach funktionierte alles gut.