Epsilon-greedy-functie definiëren
In RL is de epsilon-greedystrategie een balans tussen exploratie en exploitatie. Deze methode kiest met kans epsilon een willekeurige actie en met kans 1-epsilon de best bekende actie. Het implementeren van de functie epsilon_greedy() is cruciaal voor algoritmen zoals Q-learning en SARSA. Het helpt het leerproces van de agent door zowel de omgeving te verkennen als bekende beloningen te benutten, en dat is het doel van deze oefening.
De numpy-bibliotheek is geïmporteerd als np.
Deze oefening maakt deel uit van de cursus
Reinforcement Learning met Gymnasium in Python
Oefeninstructies
- Schrijf binnen de functie de juiste voorwaarde voor een agent om de omgeving te verkennen.
- Kies bij verkennen een willekeurige
action. - Kies bij benutten de beste
actionvolgens deq_table.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
epsilon = 0.2
env = gym.make('FrozenLake')
q_table = np.random.rand(env.observation_space.n, env.action_space.n)
def epsilon_greedy(state):
# Implement the condition to explore
if ____ < ____:
# Choose a random action
action = ____
else:
# Choose the best action according to q_table
action = ____
return action