Обсуждение статьи "Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации" - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Видится 2 подхода к решению задачи оценки устойчивости решения, найденного в ходе оптимизации: теоретический и практический.
Теоретический предполагает погружение в математические выкладки статей, которые обычно имеют в своем названии слова stability и optimization.
Практический можно реализовать по-разному, но он сводится к исследовательской работе, которую проделали авторы статей из первого пункта. Например, за счет избыточных N вызовов ФФ в окрестностях каждой пройденной точки, чтобы оценить локальные производные и в зависимости от них корректировать показатели на какие-то штрафные критерии. Или можно зашумлять координаты и/или значения ФФ в процессе оптимизации - это самый дешевый способ (ничего не нужно менять в основе самих алгоритмов оптимизации). Есть еще идея кластеризовать результаты оптимизации и выявлять точки с максимумом условной формулы (Показатель-ФФ)/(разброс-показателя-ФФ)*(минимальный-разброс-по-параметрам). Точка, куда попадет единичный хороший результат, будет иметь нулевой разброс, и должна трактоваться как неудовлетворительная.
Видится 2 подхода к решению задачи оценки устойчивости решения, найденного в ходе оптимизации: теоретический и практический.
Теоретический предполагает погружение в математические выкладки статей, которые обычно имеют в своем названии слова stability и optimization.
Практический можно реализовать по-разному, но он сводится к исследовательской работе, которую проделали авторы статей из первого пункта. Например, за счет избыточных N вызовов ФФ в окрестностях каждой пройденной точки, чтобы оценить локальные производные и в зависимости от них корректировать показатели на какие-то штрафные критерии. Или можно зашумлять координаты и/или значения ФФ в процессе оптимизации - это самый дешевый способ (ничего не нужно менять в основе самих алгоритмов оптимизации). Есть еще идея кластеризовать результаты оптимизации и выявлять точки с максимумом условной формулы (Показатель-ФФ)/(разброс-показателя-ФФ)*(минимальный-разброс-по-параметрам). Точка, куда попадет единичный хороший результат, будет иметь нулевой разброс, и должна трактоваться как неудовлетворительная.
Ваш пост немного забегает вперёд. Это неплохо, но не поможет ответить на некоторые вопросы, возникшие здесь в обсуждении.
Сабер уже дал свой ответ на мой вопрос, ответьте ещё Вы, пожалуйста, Станислав и подождем ответ Андрея. Напомню вопрос:
представим, что нам доступна возможность провести полный перебор параметров системы. Мы делаем прогон на истории системы со всеми возможными в принципе параметрами. Теперь, ответь, пожалуйста на вопрос: "У тебя есть способ выбрать из всех возможных параметров один сет (или несколько), которые ты готов использовать для работы системы на новых данных?
Тогда сможем раскрыть наиболее полно проблемные места в этих вопросах.
Обращаю внимание: в этой постановке вопроса никакой речи об алгоритмах оптимизации не идет.
Сабер уже дал свой ответ на мой вопрос, ответьте ещё Вы, пожалуйста, Станислав и подождем ответ Андрея. Напомню вопрос:
ИМХО, я как раз на этот вопрос и ответил - 3 варианта на вскидку (кто-то может придумать еще): считать производные(*/**), кластеризовать (**), зашумлять (*) - (одна звездочка - в процессе оптимизации, две звездочки - на результатах оптимизации). Любой из вариантов приведет к корректировке показателей точек ФФ. Далее выбор лучшего сета как обычно, но это уже будет не просто максимум ФФ, а с поправкой на устойчивость.
Но, давай для начала, поговорим здесь. Итак, снова представим, что нам доступна возможность провести полный перебор параметров системы. Мы делаем прогон на истории системы со всеми возможными в принципе параметрами. Теперь, ответь, пожалуйста на вопрос: "У тебя есть способ выбрать из всех возможных параметров один сет (или несколько), которые ты готов использовать для работы системы на новых данных? Это вопрос не только к тебе, но и ко всем, кто готов ответить на этот вопрос. Как видим, сейчас ни о каком алгоритме оптимизации речи вообще не идёт, только о выборе сета параметров для работы системы на неизвестных данных.
Пусть это будет вершина одного из холмов. Но я сразу оговорился, что "Определение "лучшести" -- отдельный интересный вопрос".
Финальный результат должен учитывать результаты проходов в определенном радиусе.
На 3д-графике это будет вершина холма, который выше других, или немного ниже, но имеет более пологие склоны.
С точки зрения ТС -- это будет агрегированный результат работы ТС в некотором диапазоне значений каждого из ее параметров.
ИМХО, я как раз на этот вопрос и ответил - 3 варианта на вскидку (кто-то может придумать еще): считать производные(*/**), кластеризовать (**), зашумлять (*) - (одна звездочка - в процессе оптимизации, две звездочки - на результатах оптимизации). Любой из вариантов приведет к корректировке показателей точек ФФ. Далее выбор лучшего сета как обычно, но это уже будет не просто максимум ФФ, а с поправкой на устойчивость.
Первая строка в Вашем сообщении:
Видится 2 подхода к решению задачи оценки устойчивости решения, найденного в ходе оптимизации: теоретический и практический.
Пока оптимизацию не делаем, сделали полный перебор параметров.
Пусть это будет вершина одного из холмов. Но я сразу оговорился, что "Определение "лучшести" -- отдельный интересный вопрос".
Финальный результат должен учитывать результаты проходов в определенном радиусе.
На 3д-графике это будет вершина холма, который выше других, или немного ниже, но имеет более пологие склоны.
С точки зрения ТС -- это будет агрегированный результат работы ТС в некотором диапазоне значений каждого из ее параметров.
Задача -- находить эту область без полного перебора.
Итак, есть способ выбрать из всех возможных параметров в результатах полного перебора тот сет, который будем использовать на незнакомых данных? Мы сделали полный перебор, оптимизацией тут и не пахнет.
Сейчас очень важно ответить на этот вопрос.
Задача -- находить эту область без полного перебора.
Уверен, что такая задача часто ставится и потому имеет несколько опубликованных решений.
Кстати, если есть уже вычисленные значения ФФ в триллионах точек (полный перебор), то найти среди них многомерные холмы - это задача оптимизации.
Поэтому в любом случае сводится к оптимизации.
Предлагал итерационный подход, когда перед каждой итерацией в виде очередного запуска ГА выкалываются области найденной вершины (на предыдущей итерации).
Первая строка в Вашем сообщении:
Пока оптимизацию не делаем, сделали полный перебор параметров.
Это какая-то терминологическая игра? Я предложил 3 способа как выбрать лучший сет - они подходят и для случая полного прогона на истории во всем возможным комбинациям.
Например, такая известная задача: есть НС (допустим, торгующая по приращениям цен), и оптимизация используется для нахождения весов этой сети. Если применить ваши алгоритмы в лоб - мы получим переобученную НС, которая не сможет работать на новых данных. Поэтому критически важно поделить исходный набор данных на два, и проводя оптимизацию на одной половине, контролировать качество на второй.