Я ищу идеи / опыт / ссылки / ключевые слова, касающиеся адаптивного управления параметрами из алгоритма поиска параметров ( онлайн-обучение ) вкомбинаторная оптимизация.
Немного подробнее:
У меня есть структура, отвечающая за оптимизацию сложной задачи комбинаторной оптимизации.Это делается с помощью некоторой «малой эвристики», которая используется итеративным способом (поиск больших окрестностей; подход «разрушение и восстановление»).Каждый алгоритм этой «малой эвристики» принимает некоторые внешние параметры, которые в некоторой степени управляют эвристической логикой (на данный момент: просто случайные значения; некоторый шум; диверсифицируйте поиск).
Теперья хочу иметь контрольную платформу для выбора этих параметров как можно более общим с улучшением сходимости, чтобы последующие добавления новых эвристик были возможны без изменения контроля параметров.
По крайней мере, естьнеобходимо принять два общих решения:
- A: выбрать пару алгоритмов (один алгоритм уничтожения и один алгоритм восстановления), которые будут использоваться в следующей итерации.
- B: выбратьслучайные параметры алгоритмов.
Единственная обратная связь - функция оценки нового найденного решения.Это подводит меня к теме подкрепления-обучения .Это правильное направление?
На самом деле не похожее на обучение поведение, но на данный момент упрощенные идеи таковы:
- A: Выбор колеса рулетки в соответствии с некоторымизначение производительности, собранное во время итераций (ближайшее прошлое более ценно, чем старые).Так что, если эвристика 1 действительно нашла все новые лучшие мировые решения -> высокая вероятность выбора этого.
- B: Пока не знаю.Возможно, можно использовать некоторые неоднородные случайные значения в диапазоне (0,1), и я собираю некоторый импульс изменений.Таким образом, если эвристика 1 в последний раз использовала альфа = 0,3 и не нашла нового лучшего решения, то использовала 0,6 и нашла новое лучшее решение -> есть импульс в направлении 1 -> следующее случайное значение, вероятно, будет больше 0,3.Возможные проблемы: колебания !
Замечания: - параметры, необходимые для хорошей сходимости одного конкретного алгоритма, могут резко измениться -> возможно, потребуется больше операций диверсификации в начале,более интенсивные операции, необходимые в конце.- Существует возможность хороших синергетических эффектов в конкретной паре алгоритма destroy / rebuild (иногда называемой: связанные окрестности).Как узнать что-то подобное?Это все еще в области обучения подкреплению?- Различные алгоритмы контролируются различным количеством параметров (некоторые принимают 1, некоторые 3).
Есть идеи, опыт, ссылки (статьи), ключевые слова (ml-themes)?
Если естьЕсть идеи относительно решения (б) в офлайн-обучения -машина.Не стесняйтесь упоминать это.
Спасибо за ваш вклад.
Саша