Pseudozufallssequenzvorhersage


9

Haftungsausschluss: Ich bin Biologe und entschuldige mich für (vielleicht) grundlegende Fragen, die so grob formuliert sind.

Ich bin mir nicht sicher, ob ich diese Frage hier oder auf DS / SC stellen soll, aber CS ist die größte von drei. (Nachdem ich gepostet hatte, kam mir der Gedanke, dass Cross-Validated der bessere Ort dafür sein könnte, aber leider).

Stellen Sie sich vor, es gibt einen Agenten, der binäre Entscheidungen trifft. Und eine Umgebung, die für jede Entscheidung des Agenten ("Versuche") den Agenten entweder belohnt oder nicht. Die Kriterien für die Belohnung der Entscheidungen des Agenten sind nicht einfach. Im Allgemeinen sind die Kriterien zufällig, sie haben jedoch Einschränkungen. Beispielsweise belohnt die Umgebung niemals mehr als dreimal für dieselbe Entscheidung und wechselt die belohnte Entscheidung niemals mehr als viermal hintereinander.

Die Reihenfolge der Kriterien könnte dann ungefähr so ​​aussehen

0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 ...

aber nie

0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 ...

weil das Belohnungskriterium nicht mehr als dreimal wiederholt werden kann.

Unter diesen Bedingungen ist es recht einfach, die Strategie zu formulieren, die der ideale Beobachter verfolgen sollte, um die Belohnung zu maximieren. Etwas in der Art von

  1. zufällig entscheiden
  2. Wenn Sie feststellen, dass diese Kriterien dreimal wiederholt wurden, entscheiden Sie sich gegen das letzte Kriterium
  3. Wenn Sie feststellen, dass sich die Kriterien viermal abwechseln, entscheiden Sie sich nach dem letzten Kriterium

Nun der schwierige Teil. Jetzt hängt das Kriterium für jeden Versuch nicht nur von der Historie der vorherigen Kriterien ab, sondern auch von der Historie der Entscheidungen des Agenten. Wenn sich der Agent bei mehr als 8 der letzten 10 Versuche abwechselt, belohnen Sie dieselbe Entscheidung wie beim letzten Mal (als Wenn der Agent vom Wechsel abgehalten werden soll) und wenn der Agent dieselbe Entscheidung in mehr als 8 der letzten 10 Versuche wiederholt hat, dh er voreingenommen ist, machen Sie das Kriterium entgegengesetzt zum Bias. Die Priorität der Kriterienhistorie gegenüber der Entscheidungshistorie wird im Voraus festgelegt, sodass niemals Unklarheiten bestehen.

Die Folgen von Entscheidungen (d) und Kriterien (c) könnten nun so aussehen

d: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 ...
c: 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 ...
                       ↑ here criteria counteract bias in decisions  

Ich sehe keinen einfachen Weg, um die Maximierungsstrategie für den Agenten zu erfinden. Aber ich bin mir sicher, dass es einen geben muss, und eine Art cleverer Algorithmus für maschinelles Lernen sollte ihn identifizieren können.

Meine Frage ist nicht so sehr, wie man dieses Problem löst (obwohl ich mich freuen würde, wenn Sie eine Lösung vorschlagen), sondern vielmehr, wie diese Arten von Problemen genannt werden. Wo kann ich darüber lesen? Gibt es eine abstrakte Lösung oder kann nur eine Simulation helfen? Wie kann ich als Biologe im Allgemeinen mit dieser Art von Problem umgehen?


2
siehe zB autoregressive Zeitreihenanalyse . Es wäre hilfreich, wenn Sie detaillierter über die Eingabedaten wären. ist es aus der Biologie? Es gibt Standardtechniken für Standardprobleme. Auch wiederkehrende ANNs (künstliche neuronale Netze) handhaben dies. Vielleicht auch
vorbeischauen

2
Versteckte Markov-Modelle können ein nützliches Werkzeug sein.
Raphael

1
Sie können auf Follow-The-Führer und andere Varianten lesen wollen - onlineprediction.net/?n=Main.FollowTheLeader
Motin

2
Ich denke, was Sie meinen, kommt dem nahe, was die Leute in ML Reinforcement Learning nennen .
Kaveh

1
ps: Vielleicht möchten Sie versuchen, auf Cross Validated zu posten, wenn Sie hier nach einiger Zeit keine Antwort erhalten.
Kaveh

Antworten:


1

Sie können dieses Problem mit Reinforcement Learning angehen.

Ein klassisches Buch dafür ist Sutton und Barto:

Der Entwurf der zweiten Ausgabe ist kostenlos erhältlich: https://webdocs.cs.ualberta.ca/~sutton/book/the-book.html

Um Ihr Problem markovisch zu machen, definieren Sie jeden Zustand als einen Vektor der letzten zehn Entscheidungen. Ihre Aktionen werden 1 oder 0 sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.