Я работаю над проектом, в котором смоделированный робот исследует неизвестную, но структурированную среду (например, офисное здание), перемещаясь в предопределенные «места обнаружения». Другими словами, в каждой точке робот должен выбрать новое местоположение для перемещения из доступных видимых местоположений. Наша конечная цель - научить робота использовать шаблоны в среде для оптимизации времени глобального исследования.
Робот выбирает, в какое место двигаться дальше, назначая ему полезную оценку на основе линейной комбинации ряда известных характеристик местоположения (таких как расстояние до точки, среднее расстояние от точки до всех остальных, площадь вокруг точки уже исследовано и т. д.). Моя цель - оптимизировать вес этой служебной функции, чтобы дать самое быстрое время для изучения всей среды.
Поскольку оценка зависит от всего пути исследования, я не хочу изменять вес в середине исследования. Чтобы протестировать комбинацию весов, я хочу, чтобы смоделированный робот пробежал всю среду с этими весами и получил итоговый результат. Поэтому я могу создать массив данных | w | +1 x n, где | w | количество весов, например, следующее:
w1 w2 w3 w4 score
0.23, 4.30, -0.33, -2.001, 17030
-1.3, 2.03, -10.1, -0.021, 21983
3.65, -1.1, 5.021, 0.2301, 19508
etc...
Мой вопрос: какой алгоритм обучения подкреплению будет лучше для этого? Большая часть того, что я нахожу в литературе и моих исследованиях, связана с классификацией, и, очевидно, многомерная регрессия не сработает. Я также пытался реализовать алгоритм q-learning, но он не работает, так как существует переменное число состояний и действий в зависимости от выбранного пути и структуры среды. Что мне действительно нужно, так это какая-то структура, которая занимает строку за строкой данных и определяет значения весов и их комбинации, которые максимизируют ожидаемый результат. Любая помощь / идеи? Спасибо.