Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 action volgens de q_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
Code bewerken en uitvoeren