Jump to content
Programmer

Рубрика: Искусственный интеллект

Recommended Posts

maxis_tm

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

 

Как узнаю что попал в локальный?? Очень просто второй раз на той же выборке запускал после полной тренировки, результат то в 3 раза лучше то в 3 раза хуже, потому и говорю что 80 переменных это предел для моего ген. алгоритма (по тем же тестам на 60-70 параметрах более менее схожие результаты), да и меньше весов слоев и пр.. лучше результат на OUT-OF-SAMPLE хотя может это мои ошибочные предположения. Потому сейчас и сижу pnn мучаю, она переобучается на каждом баре сразу же, то есть тупо запоминает все патерны в массив и тут же принимает решение, очень удобно на тестере значимые входы искать. Я где то когда то прочитал, что pnn и "сколькито" слойный перцептрон взаимозаменяемы, то есть где работает ВНС там можно воткнуть перцептрон обучить и будет тоже самое, а разница мол что перцептрон медленно обучается зато работает быстро, а ВНС наоборот. Может это ерунда, но я свято верю :) ...

 

P.S. появилось желание проверить если соберусь скажу результат

Edited by maxis_tm

Не волнуйся - завтра будет еще хуже...

Share this post


Link to post
Share on other sites
StatBars

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


Программирование на заказ

Share this post


Link to post
Share on other sites
Steve

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

 

вот мне кажется, что в данном случае это несущественно.

В том плане, чтобы по части информации весь образ восстанавливать;)

Важнее скорость извлечения-поиска нужной информации, ее анализ и тыпы

 

А вообще нейронные сети это да.

Только в режиме реального времени через советники МТ это вряд ли получится решить. Там даже внешними специальными прогами небыстро получается. Хотя это в общем обычно и не надо.

 

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

Я на эту тему не рыл. Но мне чета нейронные сети в виде советников МТ не попадались пока.

Share this post


Link to post
Share on other sites
StatBars
вот мне кажется, что в данном случае это несущественно.

В том плане, чтобы по части информации весь образ восстанавливать;)

Важнее скорость извлечения-поиска нужной информации, ее анализ и тыпы

 

А вообще нейронные сети это да.

Только в режиме реального времени через советники МТ это вряд ли получится решить. Там даже внешними специальными прогами небыстро получается. Хотя это в общем обычно и не надо.

 

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

Я на эту тему не рыл. Но мне чета нейронные сети в виде советников МТ не попадались пока.

 

А мне кажется существенно... А если дело в скорости то пожалуйста, переписываем код в DLL, работает намного быстрее...

И через МТ я делал советника, всё получилось, работает... Единственное обучение сети на MQL- долго очень.... Но обученая сеть в МТ может спокойно работать...

Поищите примеры Klota, по моему в них был и советник...


Программирование на заказ

Share this post


Link to post
Share on other sites
maxis_tm

Скажите на практике во сколько в dll быстрее? я проверял создал цикл в цикле в цикле и простую операцию сложения в mql и в c++ особой разницы во времени не ощутил, и решил не мучатся dll не писать может я не прав и мой опыт не правильный???


Не волнуйся - завтра будет еще хуже...

Share this post


Link to post
Share on other sites
StatBars

Судите сами: на МКЛ одна популяция обсчитывалась 10-12 минут, через ДЛЛ обсчитывается 25-35 секунд


Программирование на заказ

Share this post


Link to post
Share on other sites
Programmer

Популяция - имеется ввиду что?

Share this post


Link to post
Share on other sites
maxis_tm

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

x1 [0,20]; x2 [0,20]; x3 [0,20]; x4 [0,20] всего получается 20x20x20x20=160 000 вариантов, перебором очень долго мучить

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

Если я ничего не путаю.

 

P.S засяду походу скоро свой pnn индикатор на dll переписывать если оно действительно быстрее, точнее просто основные циклы вынесу - скажу разницу.

Edited by maxis_tm

Не волнуйся - завтра будет еще хуже...

Share this post


Link to post
Share on other sites
StatBars

P.S засяду походу скоро свой pnn индикатор на dll переписывать если оно действительно быстрее, точнее просто основные циклы вынесу - скажу разницу.

 

Ну что как у Вас результаты?

за последнее время я ещё пару вещей перенёс в DLL и могу сказать что ускорение примерно во столько же раз...


Программирование на заказ

Share this post


Link to post
Share on other sites
Programmer

А Вы DLL в какой среде пишете?

Share this post


Link to post
Share on other sites
StatBars

В Microsoft Visual Studio .NET


Программирование на заказ

Share this post


Link to post
Share on other sites
maxis_tm
Ну что как у Вас результаты?

за последнее время я ещё пару вещей перенёс в DLL и могу сказать что ускорение примерно во столько же раз...

 

Я еще не добрался до dll, точнее в процессе пока думал что вынести, просто ускорил в 25раз свой pnn индикатор лишние циклы по удалял полностью изменил работу с массивами, убрал функцию пересчета не 0-го бара (для тестера не важно) , остались только, чтение таймсерий, думаю что в dll и выносить уже почти нечего, теперь тестирую комитет из 4х pnn индюков с разными, входами стало вроде как терпимо по времени, как я раньше так криво написал код :smt017

 

P.S. Кстати идея совместить простую ТС и классификацию как в вашем эксперте k-ближних соседей, ускоряет процесс еще раз в 10 если классифицировать только при условии сигнала простой ТС, а остальное время только патерны в память откладывать.


Не волнуйся - завтра будет еще хуже...

Share this post


Link to post
Share on other sites
maxis_tm

Проверил подтверждаю - dll быстрее, не знаю во сколько раз, но после выноса одного громоздкого цикла процесс ускорился раза в 3


Не волнуйся - завтра будет еще хуже...

Share this post


Link to post
Share on other sites
Nikolss
ИИ, ген. алгоритм... Могу предупредить всех заранее когда доберетесь до написания более-менее чего похожего на простейшую сеть, возникнет очень большая проблема с машинными ресурсами. Сам занимаюсь этой темой уже почти 1,5 года сразу скажу сверх прибыльных граалей не получал, причина в количестве времени на тестирование таких стратегий. Были написаны вручную и перцептроны в несколько слоев и генетический алгоритм их оптимизирующий (вообще все что угодно оптимизирующий). Но моя проблема была в том что я не знал что подать в сеть на вход: какие явления систематичны? от чего зависит рынок? какие индикаторы в этом помогут? :crazy:. Короче подавал все постепенно и по немногу каждая такая "оптимизация" или "подгонка под историю" занимала от 2х недель до месяца (в зависимости от количества входов, слоев сети, сложности подаваемых индикаторов и т.д.) процессор 2.8 Ггц, то есть даже будь у меня процессор 6Ггц я бы ускорился максимум в двое. И конечно же очередное разочерование - слив вне оптимизационной выборки. Далее 30 минутная смена типа сети входных параметров и снова на месяц, так и прошли 1,5 года. Сейчас написал математику pnn сети, как мне показалось лучше показывает себя в будущий период. Вывел ее в индикатор, и как кто то тут предложил легко могу сотавить комитет сетей с разными входными данными, но со временем еще хуже, такой комитет даже из двух сетей оптимизируется от 3х недель минимум. Вот и ждешь каждый раз, чтоб расстроится на тестах вне оптимизации, хотя результат все же уже не сливной, но не такой какой хотелось бы....

 

P.S. если у кого есть действительно не сливные системы требующие постоянную корректировку (оптимазацию) могу помочь, если оно вам надо конечно.

 

Написал очень много, хотя код эксперта полохматее будет., а не переквалифицироваться тебе в проггеры или журналисты?

Share this post


Link to post
Share on other sites
Nikolss
Судите сами: на МКЛ одна популяция обсчитывалась 10-12 минут, через ДЛЛ обсчитывается 25-35 секунд

 

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

отбиралась особь наилучшего вида, (но это не значит что наилучшего), и если ее МО>0 то советник запускался в торговлю.

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

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

Далее: генерится третья популяция, и т.д. и так в течение всей жизни советника.

Алгоритм тестера берется уже готовый, проверенный, который и закладывается в тестер.

Вот, надеюсь приблизительно растолковал.

Алгоритм тестера можете брать любой, подходящий вашей стратегии, и закладывать его в код, от этого результат е меняется, хоть МАCD, хотя я с ним еще не пробовал.

Удачи.

Пошаговый обсчет популяции составлял около 0,1-0,2 сек за тик, или около 30 минут, без всяких тормазов советника, после чего он принимал определенные действия, торговать или нет.

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

Постейщая сеть нас не интересует, она для простейших, не обижатьсо.

Посто я закинул его подальше, так как Метаквотсы многопоточную оптимизацию задвинули ., а ждать на своем C2D 4,2Ггц неделю, я не хочу.

Хотя по поводу оптимизации, уж чего было юзверям сделать проще отдушинку, чтоб тестили своих советничков на кI7 на 8 потоков, и Метаквотсы в + и Альпари в презенте.!

Edited by Nikolss

Share this post


Link to post
Share on other sites
maxis_tm
Написал очень много, хотя код эксперта полохматее будет., а не переквалифицироваться тебе в проггеры или журналисты?

 

стоит подумать, может действительно в журналисты...

я вот смотрю у вас тот же результат со временем, значит правильно писал ))


Не волнуйся - завтра будет еще хуже...

Share this post


Link to post
Share on other sites
Programmer

А как насчёт декомпиляции dll? Возможно?

Share this post


Link to post
Share on other sites
Baikal
Вот пример-шаблон, в нем я наглядно продемонстрировал, как будет устроен наш торговый робот. На его основе я уже начал создавать такую систему. Для начала я в нем реализую работу хотя бы двух систем.

 

А также выкладываю исходный код своего BAS-Trader_v1.01 с "Коммерческим прицелом".:casha:

 

Ребята подправьте советника, так как после изменения на 5 знаков он перестал работать:no:


Мне это интересно

Share this post


Link to post
Share on other sites
БорисMQL4
Ребята подправьте советника, так как после изменения на 5 знаков он перестал работать:no:

 

Вот...


Пишу на заказ - советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.

mt4soft.ru

 

Share this post


Link to post
Share on other sites
vladevgeniy

..............

Edited by vladevgeniy

Share this post


Link to post
Share on other sites
druidos
Окажу полезные услуги Всем трейдерам, от новичков до профессионалов, подробности здесь

 

Тот, кто поищет, может и бесплатно найти. Если кому нужно - пишите в ЛС, помогу - декомпильну.

Share this post


Link to post
Share on other sites
alex1978
А как насчёт декомпиляции dll? Возможно?

Это называется кажется ассемблерование..

Но это ни одно и тоже что декомпиляция.

Короче можно ломануть:flower2: Есть люди которые это делают

Share this post


Link to post
Share on other sites
BondFX
Это называется кажется ассемблерование..

Но это ни одно и тоже что декомпиляция.

Короче можно ломануть:flower2: Есть люди которые это делают

Не ассемблерование.. , а дизассемблирование.. Улавливаешь разницу!!! В принципе декомпиляция и дизассемблирование это одно и тоже. Разница описана здесь http://www.citforum.ru/security/software/decompilation/#2


Ничто так не укрепляет веру в человека как предоплата!

Share this post


Link to post
Share on other sites
Programmer

Верно. Дизассемблирование.

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

Share this post


Link to post
Share on other sites
Programmer
Не ассемблерование.. , а дизассемблирование.. Улавливаешь разницу!!! В принципе декомпиляция и дизассемблирование это одно и тоже. Разница описана здесь http://www.citforum.ru/security/software/decompilation/#2

 

 

Хорошая статья.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×