Генетический алгоритм - страница 2

 
Georgiy Merts:


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

А во-вторых, задача вроде была несколько другой. 

Надо провести полную оптимизацию, после чего отделить часть входных параметров, снова провести оптимизацию. Опять отделить часть входных параметров... И так далее. А это делается именно с помощью пакетного .bat файла. У меня, по крайней мере, именно так сделано. 

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

3. Будете топтаться на месте пока не выберетесь из треугольника сам заказчик/сам критик/сам исполнитель.

4. Вы слишком уверены в своей правоте)

Успехов.

 
Mikhail Mishanin:

Уважаемый Георгий, Вы давно занимаетесь по сути хорошим делом, довелось читать многие ваши диалоги, и похоже у вас таки заморочка. Во-первых, мы с вами на ты не переходили

Я считаю, что здесь равные коллеги, и вполне допустимо обращение на "ты".

Снобское высокомерное "вы" считаю неуместным. 

 
Mikhail Mishanin:

Привет Дмитрий, так мы с Вами и не пообщались)

Вполне возможно что колво опт переменных ограничено не количеством, а ресурсом, попробую варианты.

И в моем случае речь идет не о оптимизации, а о обучении/эволюции, т.к. нейронные сети, ещё и своей(авторской) архитектуры, некоторые саму архитектуру эволюционируют.

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

если вашим переменным выставить очень большое количество изменений (например старт 0 , шаг- 0,00001, end = 100000  и таких переменных будет 10 и более ) , то скорее всего вы не запустите оптимизацию под генетикой. и вЖурнале будет указа на, что количество переборов больше определенного достаточно большого числа. ОТ железа это не зависит. 
Вообще генетический инструмент позволяет существенно сократить время оптимизации. и выдает очень даже адекватные результаты. ТО что в в прямом переборе может занять пару лет, генетикой просчитывается за десятки часов. а Может и меньше 10 часов!. 

И на мой взгляд нет смысла в очень точной оптимизации. Будущий рынок внесет свои коррективы. Лучше использовать несколько копий одного и того же советника но с принципиально разными прибыльными параметрами. в будущем пусть некоторые настройки приведут к оклонулевому результату, но другие встроятся в рынок намного удачнее.  НУ а если в результате торговли получите отрицательный результат - это один из признаков переоптимизации.

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

 
Dmitiry Ananiev:

если вашим переменным выставить очень большое количество изменений (например старт 0 , шаг- 0,00001, end = 100000  и таких переменных будет 10 и более ) , то скорее всего вы не запустите оптимизацию под генетикой. и вЖурнале будет указа на, что количество переборов больше определенного достаточно большого числа. ОТ железа это не зависит. 
Вообще генетический инструмент позволяет существенно сократить время оптимизации. и выдает очень даже адекватные результаты. ТО что в в прямом переборе может занять пару лет, генетикой просчитывается за десятки часов. а Может и меньше 10 часов!. 

И на мой взгляд нет смысла в очень точной оптимизации. Будущий рынок внесет свои коррективы. Лучше использовать несколько копий одного и того же советника но с принципиально разными прибыльными параметрами. в будущем пусть некоторые настройки приведут к оклонулевому результату, но другие встроятся в рынок намного удачнее.  НУ а если в результате торговли получите отрицательный результат - это один из признаков переоптимизации.

Здравствуйте Дмитрий! Так у меня вообще нет вопросов ни к генетическому алгоритму, ни к полному перебору, т.к. под ним собственный алгоритм оптимизации, а перебор как внешний цикл. Оба варианта меня устраивают, генетический сам себе выставляет ограничение в 10000 итераций, хотя может их увеличивать находя лучшее решение.

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

 
Mikhail Mishanin:

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

Вот всегда хотел понять,  чем оптимизация отличается от обучения ?  НИ кто так и не смог мне этого пояснить человеческим языком

 
Dmitiry Ananiev:

Вот всегда хотел понять,  чем оптимизация отличается от обучения ?  НИ кто так и не смог мне этого пояснить человеческим языком

Легко)

Оптимизация - чаще всего максимизация какой-то функции(вычисляемой величины) будь-то суммарная чистая прибыли, % процент прибыльных сделок и т.п. - при разных(оптимизируемых) параметрах.

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

Эволюционирование(в моем алгоритме) - максимизация/минимизация функций при разных весах нейронов и изменяемой архитектуре нейросети.

Это в двух словах, на пальцах)

 
Mikhail Mishanin:

Легко)

Оптимизация - чаще всего максимизация какой-то функции(вычисляемой величины) будь-то суммарная чистая прибыли, % процент прибыльных сделок и т.п. - при разных(оптимизируемых) параметрах.

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

Эволюционирование(в моем алгоритме) - максимизация/минимизация функций при разных весах нейронов и изменяемой архитектуре нейросети.

Это в двух словах, на пальцах)

те же яйца ))

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