Thema: Stiller Leser
Einzelnen Beitrag anzeigen
  #8 (permalink)  
Alt 27.07.16
stotzout stotzout ist offline
Neues Mitglied
 
Registriert seit: Jul 2016
Beiträge: 17
stotzout befindet sich auf einem aufstrebenden Ast
Standard

Das wichtige bei einer Künstlichen Intelligenz ist nicht, diese zu Programmieren, sondern zu Trainieren.

Ich kann dir das Lernprinzip gerne im Zusammenhang mit dem QLearning Algorithmus erklären.

Der Algorithmus basiert auf mehreren Zuständen, denen jeweils alle Möglichen Aktionen zugeordnet sind.

Aktionen definiere ich in dem Beispiel als Folgende: Buy, Sell, Nothing

Einen Zustand kann man Folgend kreieren, dieser ist ein Normaler Integer:
Als Beispiel möchte ich eine KI Programmieren die probiert mittels Moving Average bestmöglich zu Traden.

Der Zustand kann sich dann folgendermaßen Zusammenstellen:
Erster Gleitender Durchschnitt (200) = 100% über aktueller Kurs
Zweiter Gleitender Durchschnitt(50) = 50% über aktuellen Kurs

Der Zustand wird dann mittels Skalierung in einen Integer gepackt:
Z.B. in dem Fall: 10050 (100(erster Wert)50(Zweiter Wert))

Also beinhaltet der Algorithmus am Ende seiner Testphase eine Riesige Tabelle die folgende Struktur haben könnte:

Zustand / Aktion / Erfolg
10050 1 1.0
10050 2 -1.2
10050 3 - 0.2
10051 1 1.3
10051 2 1.6
10051 3 1.7
....

Jetzt kam noch der Erfolg hinzu:
Der Erfolg bestimmt welche Aktion bei welchem Algorithmus die beste Wahl ist. Anhand des Erfolges entscheidet sich dann die KI, welche Aktion er wählt. Z.B. bei Zustand 10050 würde er Aktion 1 Wählen, da diese den größten Erfolgswert aller Aktionen besitzt.

Woher kommt der Erfolgswert?
Durch eine Mathematische Berechnung während des Trainings. Das Training sieht folgendermaßen aus:

Du lässt die noch dumme KI x-mal mittels Strategietester über dieselben Historische Daten laufen. Mit jedem geschlossenen Trade belohnst du die KI, indem du diesem den Erfolg des Trades mitteilst (z.B. 5€ Gewinn). Die Mathematische Berechnung (siehe Wiki) sorgt dann dafür, dass die Erfolgswerte verteilt werden.

Nach x Durchläufen konvergieren dann die Erfolgswerte und die dumme KI ist schlau geworden. Sie hat für die Historischen Daten die Ein und Ausstiegspunkte gefunden, die die besten Ergebnisse erzielen.

Anschließend lässt man die KI über weitere Historische Daten laufen um zu gucken, das die Daten nicht nur optimal für den ursprünglich gewählten Zeitraum sind, sondern auch für andere Zeiträume Gewinne abwerfen.

Wenn ich x-mal sage, dann meine ich z.B. x > 1000 Durchläufe.

Welchen Vorteil bring das alles:
1. Leichte Veränderbarkeit - Du kannst der KI deine individuell zusammengestellten Zustände mitgeben
2. Automatische Gewinnmaximierung - Die KI sucht automatisch nach den besten Ein-und Ausstiegspunkten
3. Genauigkeit - Die KI findet Ein und Ausstiegspunkte (Zusammenhänge) die du vielleicht nicht Siehst

Nachteile:
1. "Langes" Training
2. Findet zusammenhänge die vielleicht nur im Trainingsintervall bestehen

Geändert von stotzout (27.07.16 um 15:33 Uhr)