Ich versuche, einen iterativen Markov-Entscheidungsprozess (MDP) -Agent in Python mit den folgenden Eigenschaften zu entwickeln:
Die Grundidee ist also, dass die MDP ihre bestbewertete Bewegung bei T unter Verwendung ihres aktuellen Wahrscheinlichkeitsmodells (und da ihre probabilistische Bewegung erwartungsgemäß stochastisch ist und mögliche Zufälligkeit impliziert) unter Verwendung des neuen Eingabezustands bei T + 1 koppelt mit der Belohnung aus dem vorherigen Zug bei T und neu bewerten das Modell. Die Konvergenz darf nicht permanent sein, da die Belohnung modulieren kann oder sich die verfügbaren Aktionen ändern können.
Ich würde gerne wissen, ob es aktuelle Python-Bibliotheken gibt (vorzugsweise plattformübergreifend, da ich notwendigerweise die Umgebung zwischen Windoze und Linux ändere), die solche Dinge schon tun können (oder sie mit geeigneter Anpassung unterstützen, z : abgeleitete Klassenunterstützung, die es erlaubt, die say reward Methode mit der eigenen neu zu definieren).
Ich finde Informationen über online-pro-Bewegung MDP-Lernen ist eher selten. Die meiste Verwendung von MDP, die ich finden kann, scheint sich darauf zu konzentrieren, die gesamte Richtlinie als Vorverarbeitungsschritt zu lösen.
Ich bin ein Student, der in Python viel MCMC-Kram macht, und meiner Kenntnis nach implementiert nichts direkt MDPs. Am nächsten ist mir PyMC . In der Dokumentation nachschlagen diese , die einige Tipps zur Erweiterung ihrer Klassen gibt. Sie haben definitiv keine Belohnungen, etc., die sofort verfügbar sind.
Wenn es dir ernst damit ist, etwas Gutes zu entwickeln, kannst du das PyMC-Material erweitern und unterklassifizieren, um deine Entscheidungsprozesse zu erstellen, denn dann kannst du es in das nächste Update von PyMC aufnehmen und vielen zukünftigen Leuten helfen.
Hier ist eine Python-Toolbox für MDPs .
Vorbehalt: Es ist für MDPs aus Vanilla-Lehrbüchern und nicht für teilweise beobachtbare MDPs (POMDPs) oder irgendeine Art von Nicht-Stationarität in Belohnungen.
Zweiter Vorbehalt: Ich fand die Dokumentation sehr mangelhaft. Sie müssen in den Python-Code schauen, wenn Sie wissen wollen, was es implementiert, oder Sie können sich schnell die Dokumentation ansehen für eine ähnliche Toolbox haben sie für MATLAB .
Tags und Links python machine-learning markov