Увеличение прибыли - одна из основных задач компании. Одна из стратегий для достижения этого - предложить справедливую и конкурентоспособную цену на ваши продукты или услуги, что приведет к увеличению спроса. Но как получить эту «оптимальную» цену, когда количество продаж и цена максимизируют прибыль?

Ответ не так прост. Даже наличие цены на определенный момент времени не означает, что эта цена не изменится в будущем из-за рыночных условий. В этой статье мы исследуем использование метода обучения с подкреплением (RL) для оценки оптимальной цены продукта, которая максимизирует прибыль.

RL предоставляет несколько функций, которые делают решение этого типа проблем привлекательным. Он может учиться на недавнем опыте и адаптироваться к медленным изменениям рынка, а также поддерживать баланс между краткосрочным и долгосрочным планами, не упуская из виду цели, указанные в модели.

Среди алгоритмов, используемых в RL, мы выбрали Q-Learning, чтобы помочь решить проблему нашей оптимальной цены. Эта модель позволит нам приблизиться к ожидаемому значению и продолжить обучение непрерывно.

Мы сравниваем производительность с моделированием Монте-Карло.

Концепции RL

RL - это область искусственного интеллекта, изучающая процесс принятия решений программными агентами для получения максимального вознаграждения. Окружающая среда обычно описывается в форме марковского процесса принятия решений (MDP),

Базовая модель обучения с подкреплением состоит из:

  1. Набор состояний S
  2. Набор действий A
  3. Правила перехода между состояниями.
  4. Правила, определяющие немедленную награду за переход.
  5. Правила, описывающие, что наблюдает агент (среда).

Алгоритмы RL поддерживают баланс между эксплуатацией и исследованием. Эксплуатация позволяет агентам совершать действия, которые раньше были хорошими, и продолжать получать вознаграждение; в то время как исследование позволяет им открывать новые состояния и совершать действия с неизвестными наградами. Таким образом, алгоритмы RL пытаются определить политику для принятия «хороших» действий на основе прошлого опыта.

Существует два основных типа алгоритмов RL: основанные на моделях и безмодельные. Основанные на модели - это те, которые используют функцию перехода для оценки оптимальной политики. С другой стороны, без модели игнорируют модель и используют выборку для оценки вознаграждения.

Одним из самых известных алгоритмов, не использующих модели, является Q-обучение.

Q-Learning

Q-Learning - одна из наиболее часто используемых техник в RL. Это тип алгоритма, известного как основанный на значениях, который использует функцию Q для поиска оптимального действия. Основная цель - максимизировать значение функции Q таким образом, чтобы она помогала нам предпринимать наилучшие действия для каждого состояния.

Значение Q (s, a) обновляется с использованием уравнения Беллмана. Q (s, a) оценит ожидаемую величину вознаграждения. Формула, которую мы увидим далее, показывает, как итеративно обновляется значение функции Q (s, a).

Q-Learning приближается к оптимальной политике, даже если она действует неоптимально (внеполитическое обучение). Другими словами, обновленная политика (жадная) отличается от политики поведения.

Поскольку это алгоритм проб и ошибок, вам нужно сначала изучить достаточно, чтобы получить хорошее приближение к ожидаемому значению (E [X]). В конце концов, исследование сокращается, и используются наиболее правильные действия.

Моделирование задачи оптимальных цен с помощью RL

Итак, давайте смоделируем MDP для задачи поиска цены, которая максимизирует прибыль; мы будем называть эту цену оптимальной ценой. Оптимальная цена - это цена, при которой продавец может получить максимальную прибыль. Другими словами, цена, при которой общая прибыль продавца максимальна. В этом случае мы предположили, что существует оптимальная цена, которая является справедливой и привлекательной для потенциальных клиентов и напрямую связана с действием покупки.

Состояния - это возможные цены, которые может принимать продукт, от минимальной стоимости, которую мы готовы продать, до максимальной стоимости, которую мы считаем «справедливой ценой». Эти значения помогут сходимости метода и позволят исследовать только те значения, которые имеют смысл.

Действия, которые мы можем предпринять в отношении нашей среды, будет три: сохранить, увеличить или уменьшить цену. В этих двух последних единицах измерения увеличения и уменьшения цены были определены как части переменных модели.

Вознаграждения определялись как цена, по которой продукт был продан, или нулевая цена, если он не был куплен.

Как получить оптимальную цену с учетом Q?

Итак, как получить оптимальное значение цены после обновления Q? Что ж, достаточно выбрать начальную цену, которая в нашем случае будет указывать sₒ, и следовать за действием с максимальным значением max {Q (sᵢ)}, в то время как действие отличается от сохранить цену.

Мы также смогли найти наивысшее значение действия «держать цену» для всех исследованных состояний. Напомним, что значение Q (s, a) - это в точности ожидаемая величина вознаграждения.

Тестирование нашего агента

Чтобы обучить и протестировать нашего агента, мы определили случайную величину, которая соответствует функции распределения, показанной на рисунке 1.0. Эта кумулятивная функция распределения (CDF) представляет собой вероятность того, что покупатель купит данный продукт по фиксированной цене. Мы видим, что увеличение цены снижает вероятность покупки. А когда он близок к нулю (бесплатно), вероятность его покупки возрастает.

На рисунке 2 мы видим ожидаемую прибыль при оптимальной цене и прибыль от продажи продукта на основе рекомендации нашего агента.

Чтобы смоделировать функцию оптимальной прибыли, мы использовали моделирование Монте-Карло в соответствии с вышеупомянутым распределением (рисунок 1).

Как мы видим, агент стремится к оптимальной прибыли.

Теперь давайте покажем, как агент сканировал цены, пока не нашел «оптимальную» цену. Агент начал разведку с совершенно несправедливой цены, которая была адаптирована с учетом покупки клиентов.

Найдя оптимальную цену, агент продолжает поиски, пытаясь увеличить прибыль (долгосрочная цель). Это постоянное исследование позволит ему адаптироваться к окружающей среде.

Выводы

Хотя существуют и другие модели для решения этой ценовой проблемы, которые максимизируют прибыль, RL продемонстрировала свою универсальность.

Мы заметили, что конвергенция может быть медленной и что это очень негативный фактор, когда мы говорим о ценах. Вот почему рекомендуется начинать значения Q на основе предыдущего опыта и выбирать начальное значение с ценой, которую мы не считаем несправедливой.

Еще одно важное соображение заключается в том, что, учитывая характер алгоритма Q-Learning, эта модель не будет оптимально сходиться для продуктов, цена которых изменяется сезонно и резко.

Если вам понравился этот пост, нажмите кнопку хлопка ниже :) Вы также можете подписаться на нас в Facebook, Twitter и LinkedIn.