Обсуждение статьи "Самооптимизация экспертов: Эволюционные и генетические алгоритмы"

 

Опубликована статья Самооптимизация экспертов: Эволюционные и генетические алгоритмы:

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

Решаемые реальные задачи могут быть сформулированы как поиск оптимального значения, где значение — сложная функция, зависящая от некоторых входных параметров. В некоторых случаях представляет интерес найти те значения параметров, при которых достигается наилучшее точное значение функции. В других случаях точный оптимум не требуется, и решением может считаться любое значение, которое лучше некоторой заданной величины. В этом случае генетические алгоритмы часто становятся наиболее приемлемым методом для поиска "хороших" значений. Сила генетического алгоритма — в его способности манипулировать одновременно многими параметрами. Эта особенность ГА использовалась в сотнях прикладных программ, включая проектирование самолетов, настройку параметров алгоритмов и поиск устойчивых состояний систем нелинейных дифференциальных уравнений.

Однако нередки случаи, когда ГА работает не так эффективно, как ожидалось.

Предположим, есть реальная задача, сопряженная с поиском оптимального решения. Как узнать, подходит ли для этого ГА? Строго ответа на этот вопрос до настоящего времени еще не получено. Однако многие исследователи разделяют предположения о том, что ГА имеет хорошие шансы стать эффективной процедурой поиска в следующих случаях:

  • если пространство поиска, которое предстоит исследовать, велико и предполагается, что оно не совершенно гладкое и унимодальное (т.е. содержит один гладкий экстремум);
  • если функция приспособленности содержит шумы;
  • или если задача не требует строгого нахождения глобального оптимума.  

Самые важные опции, влияющие на качество, — это те, которые определяют численность популяции (pop.size) и число поколений, выполняемых алгоритмом (max.generations, wait.generations, hard.generation.limit и gradient.check). Поисковая производительность, как ожидают, улучшится, если численность популяции и число поколений, выполняемых программой, увеличатся. Эти и другие опции должны быть скорректированы для различных проблем вручную. Обратите особое внимание на области поиска (Домены и default.domains).

Линейные и нелинейные ограничения среди параметров могут быть представлены пользователями в их фитнес-функции. Например, если сумма параметров 1 и 2 должна быть меньше чем 725, это условие можно заложить в фитнес-функцию, пользователь будет максимизировать genoud, : if((parm1 + parm2)>= 725) {return (-99999999)}. В этом примере очень плохое фитнес-значение будет возвращено genoud, если линейное ограничение нарушено. Тогда genoud попытается найти значения параметров, которые удовлетворят ограничение.

Напишем нашу фитнес-функцию. Она должна вычислять:

  • MACD

  • сигналы

  • коэффициент качества

Автор: Vladimir Perervenko

 
Искренне поздравляю!
 
СанСаныч Фоменко:
Искренне поздравляю!

Благодарю.

Пользуйте.

 
А как понять, каков общий набор предикторов для раздела "Поиск лучшей комбинации предикторов" и как их получили (понятно, что это индюки, но связи с МТ или другим источником котировок никакой не указано)? Есть одно упоминание в тексте - "Используем те же данные и функции, что и в предыдущей статье" - но ссылки на статью как таковой нет.
 
Stanislav Korotky:
А как понять, каков общий набор предикторов для раздела "Поиск лучшей комбинации предикторов" и как их получили (понятно, что это индюки, но связи с МТ или другим источником котировок никакой не указано)? Есть одно упоминание в тексте - "Используем те же данные и функции, что и в предыдущей статье" - но ссылки на статью как таковой нет.

Имеется в ввиду эта статья.

Исходные данные и функции также там.

Удачи

 
Вы программист, биолог и кибернетик?
 
Кстати, теория эволюции потому и называется теорией, так как она не доказана.
 
Реter Konow:
Вы программист, биолог и кибернетик?
С какой целью интересуетесь?
 
Реter Konow:
Кстати, теория эволюции потому и называется теорией, так как она не доказана.
Это в анналы надо )))
 
Комбинатор:
Это в анналы надо )))

Наверное, да. 

Но: "... поиск оптимального значения, где значение — сложная функция, зависящая от некоторых входных параметров ...".  Уже на втором курсе Киевского Высшего Военного Авиационного Инженерного Училища мне не удалось-бы произнести эту фразу... Причем, на вполне гражданской и общеобразовательной кафедре математики. Не очень у автора с пониманием оптимизации вообще и целевой функции в частности. Строго имхенько. 

 
Алексей Тарабанов:

Наверное, да. 

Но: "... поиск оптимального значения, где значение — сложная функция, зависящая от некоторых входных параметров ...".  Уже на втором курсе Киевского Высшего Военного Авиационного Инженерного Училища мне не удалось-бы произнести эту фразу... Причем, на вполне гражданской и общеобразовательной кафедре математики. Не очень у автора с пониманием оптимизации вообще и целевой функции в частности. Строго имхенько. 

Никого не хочу обидеть. Вы давно одели портупею?
Причина обращения: