ε-avido
so che l'algoritmo Q-learning dovrebbe cercare di bilanciare tra esplorazione e sfruttamento. Dato che sono un principiante in questo campo, ho voluto implementare una versione semplice del comportamento di esplorazione/sfruttamento.Epsilon ottimale valore (ε-greedy)
valore epsilon ottimalemia implementazione utilizza il criterio ε-avidi, ma io sono in perdita quando si tratta di decidere il valore Epsilon. L'epsilon dovrebbe essere limitato dal numero di volte in cui l'algoritmo ha visitato una determinata coppia (stato, azione) o dovrebbe essere limitato dal numero di iterazioni eseguite?
I miei suggerimenti:- basso è il valore Epsilon per ogni volta che è stato rilevato un dato (stato, l'azione) coppia.
- Abbassare il valore epsilon dopo aver eseguito un'iterazione completa.
- Abbassare il valore epsilon per ogni volta che incontriamo uno stato s.
Molto apprezzato!
Hai fatto progressi in questo modo? Hai provato i tuoi diversi suggerimenti e li hai confrontati con la risposta accettata? Ho sperimentato epsilon costante positivo e epsilon decadente e ho ottenuto risultati accettabili, ma sono curioso di vedere se avere epsilon come funzione del numero di visite della coppia corrente (stato, azione) non darebbe un risultato migliore . Per me è logico decadere l'epsilon solo quando si considera una coppia (stato, azione) che l'agente ha già visitato diverse volte mentre lo mantiene più alto per una coppia (stato, azione) che l'agente non ha mai visto. –
Sì, ho provato anche "Riduzione della minimizzazione". Ciò accelera il tasso di convergenza, ma a costo di non essere sempre in grado di trovare la soluzione migliore. In casi di grandi problemi, preferisco l'approccio di minimizzazione del rimporso poiché questo guida rapidamente la ricerca verso soluzioni migliori – OccamsMan