ПочатиПочніть безкоштовно

Створення багаторукого бандита

Задача багаторукого бандита — класичний приклад у підкріплювальному навчанні, що описує ситуацію, коли агент має обирати між кількома діями (або «руками»), не знаючи очікуваної винагороди для кожної. З часом агент вчиться, яка «рука» дає найбільшу винагороду, досліджуючи кожен варіант. У цій вправі ви підготуєте базову структуру для моделювання задачі багаторукого бандита.

Бібліотеку numpy вже імпортовано як np.

Ця вправа є частиною курсу

Reinforcement Learning з Gymnasium у Python

Переглянути курс

Інструкції до вправи

  • Згенеруйте масив true_bandit_probs із випадковими ймовірностями, що відображають справжню базову ймовірність успіху для кожного бандита.
  • Ініціалізуйте два масиви — counts і values — нулями; counts відстежує, скільки разів кожного бандита було обрано, а values подає оцінену ймовірність виграшу для кожного бандита.
  • Створіть масиви rewards і selected_arms, щоб зберігати отримані винагороди та вибрані «руки» на кожній ітерації.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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
Редагувати та запускати код