Tworzenie problemu wielorękiego bandyty
Problem wielorękiego bandyty to klasyczny przykład stosowany w uczeniu przez wzmacnianie. Opisuje sytuację, w której agent musi wybierać spośród wielu działań (zwanych „ramionami"), nie znając oczekiwanej nagrody za każde z nich. Z czasem agent uczy się, które ramię przynosi najwyższą nagrodę, eksplorując kolejne opcje. W tym ćwiczeniu przygotujesz podstawową strukturę do symulacji problemu wielorękiego bandyty.
Biblioteka numpy została zaimportowana jako np.
To ćwiczenie jest częścią kursu
Uczenie przez wzmacnianie z Gymnasium w Pythonie
Instrukcje do ćwiczenia
- Wygeneruj tablicę
true_bandit_probsz losowymi prawdopodobieństwami reprezentującymi rzeczywisty współczynnik sukcesu dla każdego bandyty. - Zainicjalizuj dwie tablice,
countsivalues, zerami;countsśledzi, ile razy każdy bandyta został wybrany, avaluesprzechowuje szacowane prawdopodobieństwo wygranej dla każdego bandyty. - Utwórz tablice
rewardsiselected_arms, służące do przechowywania otrzymanych nagród oraz wybranych ramion w każdej iteracji.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def create_multi_armed_bandit(n_bandits):
# Generate the true bandits probabilities
true_bandit_probs = ____
# Create arrays that store the count and value for each bandit
counts = ____
values = ____
# Create arrays that store the rewards and selected arms each episode
rewards = ____
selected_arms = ____
return true_bandit_probs, counts, values, rewards, selected_arms