Обсуждение статьи "Популяционные алгоритмы оптимизации: Алгоритм имитации отжига (Simulated Annealing, SA). Часть I" - страница 2

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Именно.
Крайне неудобная технология как для кодинга, так и для последующего использования на практике. Это вполне подтверждается, например, тем, что штатный оптимизатор не использует её.
Вряд ли этот подход можно применить когда нужно выполнять множественную оптимизацию (неопределённое число раз и, возможно, с неопределённым набором параметров в каждом разе). Например, это могут быть ансамблевые модели МО.
Что можно тут сказать... OpenCL не такой уж страшный и не удобный, код на нём синтаксически ничем не отличается от MQL5 (если не использовать специфические для языка MQL5 функции). Можно параллелить, вынося в OpenCL, не только отдельные логические участки кода, но и, например, логику советника целиком, организуя прогоны по истории на манер того, как это делает штатный оптимизатор на агентах. Так можно организовать оптимизацию/обучение в режиме работы советника онлайн.
MetaQuotes предоставила возможности распараллеливания, но если появятся нативные возможности языка, было бы, конечно, здорово. Думаю, как раз триты функций проще реализовать разработчикам (быстрее дождаться пользователям), чем автоматическое распараллеливание участков кода. Как пожелание к разработчикам, надеюсь, будет услышано.
Что можно тут сказать... OpenCL не такой уж страшный и не удобный, код на нём синтаксически ничем не отличается от MQL5 (если не использовать специфические для языка MQL5 функции). Можно параллелить, вынося в OpenCL, не только отдельные логические участки кода, но и, например, логику советника целиком, организуя прогоны по истории на манер того, как это делает штатный оптимизатор на агентах. Так можно организовать оптимизацию/обучение в режиме работы советника онлайн.
MetaQuotes предоставила возможности распараллеливания, но если появятся нативные возможности языка, было бы, конечно, здорово. Думаю, как раз триты функций проще реализовать разработчикам (быстрее дождаться пользователям), чем автоматическое распараллеливание участков кода. Как пожелание к разработчикам, надеюсь, будет услышано.
Имхо, возможности так себе.
Возник вопрос о популяционном отжиге. Может ли иметь смысл для каждого решения из популяции выбирать свои параметры отжига (случайным образом в разумных пределах). Может ли это а) улучшить сходимость и б) быть неким аналогом выбора оптимальных метапараметров?
Проблема не столько в самом кодинге, хотя наверняка они будут из-за нехватки мануалов. Насколько знаю, бывают проблемы при переносе программ на другие GPU, отличные от того на котором отлаживались. Опять же не уверен, что это взлетит когда МТ5 работает в линуксе через вайн. Найденное решение проблем всегда может поломаться из-за неожиданных обновлений МТ и тд и тп.
OpenCL разрабатывался именно как универсальный способ организации параллельных вычислений на многоядерных устройствах (не важно, GPU или CPU). Вероятность возникновения проблем OpenCL-программ на различных устройствах не выше (а может быть и ниже), чем обычных Windows-приложений на компах с различным железом.
C вайном не знаю как обстоят дела, с ним всегда были проблемы, это зависит от специфики и качества виртуализации Windows-окружения.
Возник вопрос о популяционном отжиге. Может ли иметь смысл для каждого решения из популяции выбирать свои параметры отжига (случайным образом в разумных пределах). Может ли это а) улучшить сходимость и б) быть неким аналогом выбора оптимальных метапараметров?
Хороший вопрос. При тестировании алгоритмов и подборе внешних параметров алгоритмов я исходил из общей совокупной результативности на комплексе тестовых функций, хотя на каждой отдельной из них лучшие параметры могут быть иными (а обычно так и есть, иные). Кроме того, для разных размерностей задачи могут быть лучшими так же различные внешние параметры. Поэтому, да:
а) улучшит точность сходимости на различных типах задач и уменьшит вероятность застревания.
б) да
Единственное, этот прием, скорее всего, немного (или много, нужно смотреть) уменьшит скорость сходимости (при увеличении точности сходимости).
Хороший вопрос. При тестировании алгоритмов и подборе внешних параметров алгоритмов я исходил из общей совокупной результативности на комплексе тестовых функций, хотя на каждой отдельной из них лучшие параметры могут быть иными (а обычно так и есть, иные). Кроме того, для разных размерностей задачи могут быть лучшими так же различные внешние параметры. Поэтому, да:
а) улучшит точность сходимости на различных типах задач и уменьшит вероятность застревания.
б) да
Единственное, этот прием, скорее всего, немного (или много, нужно смотреть) уменьшит скорость сходимости (при увеличении точности сходимости).