Зміст курсу
Вступ до навчання з підкріпленням
Вступ до навчання з підкріпленням
Епсилон-Жадібний Алгоритм
Алгоритм epsilon-greedy (-greedy) — це простий, але надзвичайно ефективний підхід для розв'язання задачі багаторукого бандита. Хоча він може бути менш стійким порівняно з деякими іншими методами для цієї конкретної задачі, його простота та універсальність забезпечують широку застосовність у сфері навчання з підкріпленням.
Як це працює
Алгоритм виконує такі кроки:
- Ініціалізація оцінок значень дій для кожної дії ;
- Вибір дії за наступним правилом:
- З імовірністю : вибір випадкової дії (дослідження);
- З імовірністю : вибір дії з найвищою оцінкою (експлуатація).
- Виконання дії та спостереження за винагородою;
- Оновлення оцінки значення дії на основі отриманої винагороди;
- Повторення кроків 2-4 протягом фіксованої кількості кроків.
Гіперпараметр (епсилон) визначає баланс між дослідженням і експлуатацією:
- Велике (наприклад, 0.5) стимулює більше дослідження;
- Мале (наприклад, 0.01) сприяє експлуатації найкращої відомої дії.
Зразок коду
class EpsilonGreedyAgent:
def __init__(self, n_actions, epsilon):
"""Initialize an agent"""
self.n_actions = n_actions # Number of available actions
self.epsilon = epsilon # epsilon
self.Q = np.zeros(self.n_actions) # Estimated action values
self.N = np.zeros(self.n_actions) # Action selection counters
def select_action(self):
"""Select an action according to the epsilon-greedy strategy"""
# With probability epsilon - random action
if np.random.rand() < self.epsilon:
return np.random.randint(self.n_actions)
# Otherwise - action with highest estimated action value
else:
return np.argmax(self.Q)
def update(self, action, reward):
"""Update the values using sample average estimate"""
# Increasing the action selection counter
self.N[action] += 1
# Updating the estimated action value
self.Q[action] += (reward - self.Q[action]) / self.N[action]
Додаткова інформація
Ефективність алгоритму -жадібного вибору значною мірою залежить від значення . Дві стратегії зазвичай використовуються для вибору цього значення:
- Фіксоване : це найбільш загальний варіант, коли значення вибирається як константа (наприклад, 0.1);
- Зменшуване : значення зменшується з часом відповідно до певного графіка (наприклад, починається з 1 і поступово зменшується до 0), щоб заохочувати дослідження на початкових етапах.
Підсумок
Алгоритм -жадібного вибору є базовим підходом для балансування дослідження та використання. Хоча він простий, слугує основою для розуміння більш складних стратегій, таких як верхня довірча межа (UCB) та градієнтні бандити.
Дякуємо за ваш відгук!