Классификация с пользовательской функцией полезности - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть проблема, которая включает оптимизацию действий во времени:

  • Предположим, у меня есть набор входных переменных X, где каждый X_i_t имеет значение в каждый момент времени t = 0 ... T.
  • Для каждого момента времени я хотел бы выбрать действие a_t из набора действий A,
  • таким, чтобы функция полезности U(a0, ..., a_T) была максимизирована.

Обратите внимание, что функция полезности не имеет решения в замкнутой форме, и ее значение зависит от всей последовательности действий a_0 ... a_T.

Как я буду реализовыватьчто-то вроде этого? Я очень доволен ключевым словом, которое могу использовать для поиска соответствующей литературы.Мне не нужно полное решение.- Хотя, если кто-то может указать мне на функцию sklearn в python, которая делает это, я бы точно не сказал нет ...

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

1 Ответ

1 голос
/ 24 сентября 2019

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

Если функция утилиты дискретна, она становится хитрой, но есть несколько хитростей, которые вы можете попробовать.Одним из них является алгоритм REINFORCE (градиент политики Монте-Карло).Другой популярный трюк - это Gubmle softmax , который позволяет выполнять выборку дискретных действий и распространять ошибку в сети.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...