Основные концепции обучения с подкреплением
Многорукая бандитская машина — распространенная проблема обучения с подкреплением, поэтому сначала мы дадим некоторые основные концепции обучения с подкреплением:
Обучение с подкреплением требует изучения не только того, что делать, но и того, как действовать соответствующим образом на основе взаимодействия с окружающей средой. Конечным результатом обучения с подкреплением является максимизация сигнала вознаграждения системы. Учащийся не знает заранее, какое поведение ему следует выполнить, и ему необходимо выяснить для себя, какое действие принесет наибольшую награду.
В обучении с подкреплением есть два объекта, которые могут взаимодействовать: агент и среда.
- Агент может воспринимать состояние внешней среды и вознаграждение за обратную связь, а также проводить обучение и принимать решения.
- Функция принятия решений агента относится к совершению различных действий в соответствии с состоянием внешней среды, а функция обучения относится к корректировке стратегии в соответствии с вознаграждением внешней среды.
- Среда — это все, что находится за пределами агента, и ее состояние изменяется действием агента, и соответствующее вознаграждение возвращается агенту.
Exploration-Exploitation tradeoff
Исследование: исследовать. Это относится к стоимости изучения дополнительных возможностей во время обучения с подкреплением. Эксплуатация: в обучении с подкреплением стоимость постоянного выполнения текущего оптимального решения.
Всегда внедрять текущее оптимальное решение означает отказываться от возможности потенциально лучшего решения, а исследовать больше возможностей означает потенциально исследовать множество ответвлений с чрезвычайно низкой отдачей. Любой алгоритм обучения с подкреплением представляет собой баланс между ними.
Происхождение проблемы многорукого бандита
Часть контента воспроизводится сОт выборки Томпсона к обучению с подкреплением — снова проблема многорукого бандита
Игровые автоматы являются наиболее распространенным оборудованием в казино, в казино так много автоматов, что вы можете сожалеть или получать определенную сумму вознаграждения каждый раз, когда качаете, вы максимизируете свои интересы, выбирая разные руки игровых автоматов.
В самой примитивной задаче о многоруком бандите выигрыши, получаемые каждой рукой, постоянны и не меняются в зависимости от характеристик пользователя или контекста. который:
описание проблемы
(Bernoulli Bandit) Допустим у нас есть бандитская машина K-плеч, отдача (reward_i) каждой руки (действия) фиксирована, но агент не знает, какова эта отдача, как агент может максимизировать свою за T раундов Отдача (обратите внимание, что T здесь обычно намного больше, чем K).
В интернет-индустрии проблема многоруких игровых автоматов очень популярна, потому что эти действия можно рассматривать как разные места размещения рекламы.Когда пользователи заходят на сайт, чтобы посмотреть рекламу, и имеют фиксированный рейтинг кликов для каждой рекламы, то Платформа должна найти оптимальную стратегию показа рекламы, чтобы максимизировать ваши собственные интересы.
Problem Formulation
Мы определяем здесь в простейшей форме K-вооруженную бандитскую машину, которая состоит из K распределений вероятности вознаграждения.состав, который, как ожидается,
, дисперсия
. В каждом раунде попыток (t = 1, 2, ...) игрок выбирает руку
, и получить возврат
.
Цель алгоритма — минимизировать общее ожидаемое сожаление и определяется как:
- В определенном фиксированном раунде T
,в
представляет собой ожидаемую доходность руки с наибольшей доходностью.
- Следовательно, мы можем выразить общее ожидаемое сожаление следующим образом:
.в
— случайная величина, используемая для обозначения того, сколько раз k-я рука была вытянута в первом T раунде.
алгоритм
Самый простой способ — быть жадным.Модель находит способ рассчитать отдачу от каждого действия, а затем выбирает действие с наибольшей отдачей для работы. Проблема с этим жадным подходом заключается в том, что легко потерять оптимальное решение, не изучив полностью возможности других вероятностей вознаграждения.
Алгоритм представляет собой улучшенное решение исходного жадного алгоритма, который заключается в исследовании в соответствии с эпсилон-вероятностью, выборе руки для попытки в соответствии с равномерным распределением и выборе действия с наибольшей отдачей в текущей ситуации в соответствии с вероятностью 1-эпсилон. Хотя этот подход лучше, чем чисто жадный случай, для следующего случая мы знаем из исследования, что вероятность действия 2 намного меньше, чем вероятность действия 1, но он все равно будет многократно проверять действие 2 с определенной вероятностью, увеличивая потеря.
Проще говоря, при заданном параметре, вероятность того, что алгоритм примет решение в t+1-м раунде при k, равна:
Thompson Sampling
Основная идея выборки Томпсона состоит в том, чтобы выбрать руку с наибольшей вероятностью, чтобы быть оптимальной рукой. Это байесовский алгоритм. Для простоты рассмотрим возврат Бернулли, задачу МАВ с возвратом 0 или 1. при этих обстоятельствах, Мы можем использовать бета-распределение, чтобы описать распределение вознаграждения за каждое действие, и мы задаем параметры априорной вероятности распределения альфа и бета, а затем функцию плотности вероятности вознаграждения за действие:
И мы можем обобщить результат распределения Бернулли. Если доходность любого плеча распределена между [0, 1] и среднее значение равно, Мы получаем каждый раз
Обновите результат после награды. Мы завершаем показатель успеха
Испытания Бернулли со случайными величинами
Указывает результаты теста. все еще использую
Записывая количество успехов и неудач до текущего номера раунда, мы обновляем результаты по следующему алгоритму:
Upper Confidence Bounds(UCB)
UCB — это семейство алгоритмов, включающее множество различных алгоритмов, ядром которых является оценка UCB.
Самый простой алгоритм UCDB — UCB1. Для каждой руки он записывает число, представляет количество раз, когда i-я рука выбирается в первых t раундах. В начале каждая рука будет выбрана один раз. После этого в раунде t он выбирает
можно выразить как
LinUCB (Linear UCB)
Этот раздел переведен из «Контекстно-бандитский подход к рекомендации персонализированных новостных статей». LinUCB — это контекстный алгоритм MAB. Так называемый контекстный алгоритм представляет собой форму: в нашем исходном предположении ожидание результата одной руки всегда постоянно, независимо от того, какое время. Но в практических приложениях, в разных средах, преимущества, которые пользователи получают от разных элементов, часто различны. На этом этапе нам нужно использовать контекстный алгоритм обработки, то есть мы обучаем модель для каждой руки, и эта модель будет выводить разные ожидаемые результаты в соответствии с разными входными характеристиками. В LinUCB эта модель является линейной.
Ключом к LinUCB является то, что параметр определяется как d-мерный вектор. Определим параметры плеча a как, а для d-мерного вектора признаков вознаграждение любой руки представляет собой линейное произведение вектора признаков и вектора параметров. Тогда для любого t в t раунде для d-мерного признака ожидание вознаграждения руки a равно
LinUCB with disjoint Linear Models
Если параметры не распределяются между плечами, мы будем называть такие модели LinUCB с непересекающимися линейными моделями.
Мы разрабатываем размерную матрицу m * d, в раунде t,
Состоит из m обучающих входных данных (скажем, m предыдущих наблюдений для руки a). m-мерный вектор
Представляет соответствующий вектор ответа.
для конкретной матрицы
, мы можем использовать гребенчатую регрессию для оценки матрицы параметров
.
При этом условии можно показать, что по крайней мереуверенность,
,в
. Это UCB под эту модель.
Поэтому в этой модели в каждом испытании t мы выбираем,в
.
LinUCB with Hybrid Linear Models
Во многих системах будут некоторые общие параметры для различных ветвей, и каждая ветвь будет иметь независимые параметры. Например, в задаче системы рекомендаций функции о пользователе и текущем времени могут иметь общие параметры, а параметры каждого элемента не зависят друг от друга. При этом определении мы по-прежнему определяем параметры независимой части как, и задайте параметры общей части как
. следовательно
. В этом случае алгоритм такой:
hLinUCB (Hidden Linear UCB)
Этот раздел переведен из «Изучение скрытых функций для контекстных бандитов».
LinUCB построен на предположении, что мы можем наблюдать все соответствующие функции и добавлять их в модель. Но на самом деле такая ситуация почти невозможна, и должны быть скрытые и ненаблюдаемые особенности. Основанный на linUCB, hLinUCB пытается смоделировать скрытые функции. Он по-прежнему следует линейной модели, но добавляет скрытый вектор признаков и соответствующий параметр.
определение,в
.
и
представляют наблюдаемый ввод и скрытый ввод, соответственно,
является соответствующим параметром. Эти переменные удовлетворяют ограничениям
. В дополнение к этим переменным
неизвестны, мы ставим цель гребневой регрессии как
По этой формуле можно оценитьи
.
а также
,в
В конечном итоге выбор, сделанный согласно UCB, таков: