Обсуждение статьи "Роль качества генератора случайных чисел в эффективности алгоритмов оптимизации" - страница 6

 
Stanislav Korotky #:

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

Погодите. Сейчас алгоритмы Андрея отвечают ровно за тот тип оптимизации, который проводит MT5-Tester. В цитируемом говорите о навесе над алгоритмом оптимизации.


В обсуждении еще прочувствовался некий алгоритм оптимизации, который не является формально конкурентом алгоритма в MT5-Tester, а решает совсем иные поисковые задачи. Таких алгоритмов в серии статей Андрея просто не было.

 
Andrey Dik #:

Итак, есть способ выбрать из всех возможных параметров в результатах полного перебора тот сет, который будем использовать на незнакомых данных? Мы сделали полный перебор, оптимизацией тут и не пахнет.

Сейчас очень важно ответить на этот вопрос.

Да, считаем, что есть способ.

В чем интрига?

 

Похоже, есть какая-то путаница в терминах.

Я оптимизацией называю процесс поиска лучших параметров (в данном случае - торговой стратегии). А "лучшими" считаю параметры, которые хорошо пройдут форвард.

 
Andrey Khatimlianskii #:

Похоже, есть какая-то путаница в терминах.

Я оптимизацией называю процесс поиска лучших параметров (в данном случае - торговой стратегии). А "лучшими" считаю параметры, которые хорошо пройдут форвард.

Видимо, действительно, терминологическое непонимание.

Оптимизация в смысле MT5-Tester - поиск наибольшего значения ФФ.

 
fxsaber #:

Видимо, действительно, терминологическое непонимание.

Оптимизация в смысле MT5-Tester - поиск наибольшего значения ФФ.

Мы со Станиславом явно о другом говорили.

Поиск максимума в статьях раскрыт. Но это не всегда может быть полезно с практической точки зрения.

 
Andrey Khatimlianskii #:

Поиск максимума в статьях раскрыт. Но это не всегда может быть полезно с практической точки зрения.

Так это же несколько вне контекста серии статей о разных способах решения классической задачи оптимизации.


Самый лобовой способ найти интересные места для OOS - это насильное прерывание алгоритма оптимизации, решающего классическую задачу.

Например, пусть ГА делает 10 000 проходов для решения задачи. Очевидно, что лучшие 100 результатов из первых 3000 проходов содержат больше локальных экстремумов, чем 100 лучших результатов из 10 000 проходов.

Поэтому прервать после 3000 проходов и посмотреть лучшие 100 - целесообразно для возможного нахождения робастных настроек.

 
Andrey Khatimlianskii #:

В чем интрига?

Интриги нет. Я задал вопрос, в некотором роде тест на понимание терминологии и кто что вкладывает в понятие "оптимизация".

Наиболее близок к использованию терминологии по назначению - fxsaber.

Так или иначе это не плохо и не хорошо, это и не неправильно и не правильно, просто облегчает достижение поставленных целей и позволяет избежать вкладывания смыслов туда, где их нет и наоборот - позволяет обратить больше внимания на аспекты, которые действительно влияют на то, чего требуется достичь.

С точки зрения архитектуры, как устроен штатный тестер и оптимизатор, там сделано всё совершенно правильно, мухи отделены от котлет. Поэтому я вполне могу себе представить, как разработчики в Metaquotes мысленно активно используют ненормативную лексику, возможно даже жестикулируют, сидя на рабочем месте, когда читают фразы пользователей типа "оптимизация в штатном оптимизаторе - подгонка" и тому подобные высказывания.

Попробую уладить терминологическую путаницу.

 
Andrey Khatimlianskii #:

Мы со Станиславом явно о другом говорили.

Поиск максимума в статьях раскрыт. Но это не всегда может быть полезно с практической точки зрения.

Да, вы говорили о другом. Это звучит примерно как "тема приготовления шашлыка раскрыта, но шашлыки могут быть не полезны для здоровья". Ну это ничего, разберёмся вместе, отделим мух от котлет.

 
Stanislav Korotky #:

Это какая-то терминологическая игра? Я предложил 3 способа как выбрать лучший сет - они подходят и для случая полного прогона на истории во всем возможным комбинациям.

Например, такая известная задача: есть НС (допустим, торгующая по приращениям цен), и оптимизация используется для нахождения весов этой сети. Если применить ваши алгоритмы в лоб - мы получим переобученную НС, которая не сможет работать на новых данных. Поэтому критически важно поделить исходный набор данных на два, и проводя оптимизацию на одной половине, контролировать качество на второй.

Поясните, пожалуйста, что значит "применить алгоритмы в лоб"? Мне с трудом представляется, как можно использовать алгоритмы оптимизации не по назначению. Понятия "переобучение" и/или "подгонка" не относятся к алгоритмам оптимизации.

Нет, не терминологическая игра, а моя попытка расставить все точки над i в многолетнем недоразумении, которое происходит вокруг оптимизации вообще и алгоритмов оптимизации в частности.

 
fxsaber #:

Так это же несколько вне контекста серии статей о разных способах решения классической задачи оптимизации.

Да, вот именно, Станислав и Андрей говорят о вещах вне контекста этой серии статей. И, серия статей не о решении задач оптимизации, а об алгоритмах оптимизации. Алгоритм оптимизации лишь часть задачи оптимизации (это так и терминологически, и правильно с точки зрения сравнения алгоритмов между собой, иначе сравнивать алгоритмы было бы невозможно в принципе), в этой серии статей я рассматриваю только алгоритмы оптимизации.

Ниже в комментариях поясню. Я действительно надеюсь, что это поможет взглянуть на привычные вещи под иным углом.

Причина обращения: