Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
P.S. : а оправдывает себя использования банка памяти, если переменная состоит из ~150 значений. А в истории 100000 особей. Может в таком случае быстрее будет посчитать, чем все это проверить (перебрать)? Не проверяли?
Всё зависит от времени необходимого для вычисления ФФ. Если ФФ просто какая то математическая функция - то банк не целесообразен. Но если же в ФФ используются прогоны по истории (обучение нейронки и др.) и другие ресурсопрожорливые задачи, то банк необходим и способен существенно снизить время оптимизации.
Ну и от точности генов зависит. Чем "грубее" гены, тем чаще будут попадаться повторы, и тем целесообразнее использование банка хромосом.
....
:)
Всё же, ошибки нет, Вы меня здорово сбили с толку. Вот, накидал скрипт проверочный, побалуйтесь с ним, станет всё понятно.
здесь хоть и сравнивается хромосома с положением Ch1, но на верхнем цикле присваиваться +1, поэтому и вычитаю потом -1.
Согласен, кривовато, можно и красивше заделать.
Вот, собственно, скриптик для проверки:
... но на верхнем цикле присваиваться +1, поэтому и вычитаю потом -1 ...
Вот где собака порылась!!! А я думаю - как же так - статье год уже - а все работает, никто не жалуется... Ещё раз спасибо за статью... и за разъяснения :)
@joo Здравствуйте. Нравится Ваш Зиг-Заг, однако он медленно работает на большом количестве свечей. Возможно ли получить ускорение без потери качества?
Извините, но я не автор этого индикатора.
Обратитесь на страницу обсуждения этого индикатора, пожалуйста.
Не буду оспаривать компетентность приведённого источника, однако вынужден не согласится.
Целесообразность применения ГА в задачах оптимизации заключена в снижении необходимого количества запусков ФФ для определения оптимума в сравнении с прямым перебором.
Если следовать рекомендации
то для задачи с 1000 аргументами потребуется размер популяции в 11000 особей! А это 11000 запусков ФФ только на 1 эпохе! С таким же успехом можно использовать случайное генерирование генов и результат не намного уступит в нахождении оптимума. Приведенный источник делает "ставку" на то, что в большой популяции будет достаточно генетического материала для дальнейшего развития популяции в сторону улучшения на каждой эпохе. Я же стараюсь добиться того же самого, но за счет игры вероятностями генетическими операторами без тотального увеличения запусков ФФ.
Чесслово, не смог себе представить задачу с 1000 аргументов. Использую алгоритм для обучения нервосети, ну, допустим пять слоев, хотя достаточно обычно трёх, так это получается на входе 14 переменных для пятислоя, и 17 для трёхслоя!!! Что туда можно подавать?!
Легко.
Вот количество оптимизируемых параметров для 4-х слойной сети с 2-мя скрытыми слоями, например, для такой - 10-40-40-1:
10*40+40+40*40+40+40*1+1=2121 (весов нейронов и их смещений для 40+40+1=81 нейронов).
Как видите, для такой, относительно небольшой сети требуется оптимизировать 2121 параметра.
Извините , но немного туплю .
Получается , что в рассматриваемом здесь алгоритме с непрерывными генами такой парметр как шаг бесмысленен. Можно только говорить о точности , если заранее известен результат и необходимо найти аргументы .
...
Получается , что в рассматриваемом здесь алгоритме с непрерывными генами такой парметр как шаг бесмысленен. Можно только говорить о точности , если заранее известен результат и необходимо найти аргументы .
Совершенно верно, если расстояние между генами достаточно большое то и шаг будет больше, при сближении генов, шаг уменьшается автоматически, просто потому что само понятие шаг не используется, а используется точность с которой нужно найти решение. Расстояние между генами всё время делится на период рандома, а он постоянный 32768. Полученное число и будет условным шагом.
Если даже результат не известен, то можно предположить решение какой точности требуется, это проще чем в неизвестном пространстве задавать с каким шагом нужно искать решение.