2014-04-02 7 views
13
politica

ε-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 ottimale

mia 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:
  1. basso è il valore Epsilon per ogni volta che è stato rilevato un dato (stato, l'azione) coppia.
  2. Abbassare il valore epsilon dopo aver eseguito un'iterazione completa.
  3. Abbassare il valore epsilon per ogni volta che incontriamo uno stato s.

Molto apprezzato!

+0

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. –

+0

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

risposta

16

Sebbene in molti casi semplici l'εk sia mantenuto come un numero fisso nell'intervallo 0 e 1, è necessario sapere che: Di solito, l'esplorazione diminuisce nel tempo, in modo che la politica utilizzata asintoticamente diventi avida e quindi (come Qk → Q *) ottimale. Questo può essere ottenuto facendo si che l'approccio di εk 0 cresca k. Per esempio, un programma di esplorazione ε-di-gese della forma εk = 1/k diminuisce a 0 come k → ∞, mentre soddisfa ancora la seconda condizione di convergenza di Q-learning, cioè, consentendo infinite visite a tutte le azioni di stato coppie (Singh et al., 2000).

Quello che faccio di solito è questo: imposta l'alfa iniziale = 1/k (considera l'iniziale k = 1 o 2) dopo aver fatto il processo per tentativi mentre k aumenta l'alfa diminuirà. mantiene anche la convergenza garantita.

+3

Conosciuto anche come decadimento epsilon. – danelliottster

0

In genere è consigliabile impostare ε su una costante positiva, a meno che non si abbia una buona ragione per non farlo.

+0

Empiricamente: l'agente non dovrebbe accettare meno l'esplorazione poiché la tabella dei valori Q converge verso le vere tabelle di transizione? Esempio: un agente di gioco dovrebbe preferire la sua strategia perfetta emergente invece di continuare a giocare mosse scarse (esplorazione). – OccamsMan