Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 395

 
Dr. Trader:


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


Вот это

нужно заменить на 

И вроде должно быть норм.


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

Поэксперементировал еще...

Если задать 1 - 2 нейрона в скрытом слое, то важные входы отличаются в несколько раз:

152.33, 7.82, 132.57, 12.19, 132.86, 10.54, 135.56, 19.16, 137.32, 14.84, 127.36, 7.43, 11.35, 6.66, 13.6, 10.18, 10.74, 10.66, 11.18, 8.95  (1 нейрон)

если задать 10 (как во втором вашем эксперименте), то веса размазывает по нейронам и важные от шумовых не отличишь:

113963.27, 91026.57, 100833.22, 134980.44, 154190.05, 146455.03, 198703.01, 135775.2, 184353.78, 160766.79, 152433.73, 105753.11, 151673.83, 135421.64, 165343.94, 70277.93, 175038.87, 150342.56, 59153.02, 121012.76  (10 нейронов)

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

 
Maxim Dmitrievsky:


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

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

С удаленным 1-м столбцом уже не 5%, а значительно хуже...

Лес дает примерно такую же ошибку как и MLP (но считает быстрее)

Средняя ошибка на обучающем     (60.0%) участке =0.264 (26.4%) nTrees=100 codResp=1
Средняя ошибка на валидационном (20.0%) участке =0.828 (82.8%) nTrees=100 codResp=1
Средняя ошибка на тестовом      (20.0%) участке =0.818 (81.8%) nTrees=100 codResp=1

 
elibrarius:

С удаленным 1-м столбцом уже не 5%, а значительно хуже...

Лес дает примерно такую же ошибку как и MLP (но считает быстрее)

Средняя ошибка на обучающем     (60.0%) участке =0.264 (26.4%) nTrees=100 codResp=1
Средняя ошибка на валидационном (20.0%) участке =0.828 (82.8%) nTrees=100 codResp=1
Средняя ошибка на тестовом      (20.0%) участке =0.818 (81.8%) nTrees=100 codResp=1


да, у классичекского млп нет преимуществ перед лесом, у меня по крайней мере лес всегда выигрывает по скорости и по качеству

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

 
Mihail Marchukajtes:


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

* Sensitivity of generalization abiliy: 55.12820512820513%

* Specificity of generalization ability: 55.5045871559633%

* Generalization ability: 55.309734513274336%

* TruePositives: 129

* FalsePositives: 105

* TrueNegatives: 121

* FalseNegatives: 97

* Total patterns in out of samples with statistics: 452

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



Классификатор Решетова дает лучше результаты чем млп по крайней мере, и не переобучается, в этом его плюс.. но считает жесть как долго с вашим сетом, вчера часа 2 считал и сегодня опять продолжил после гибернации.. жду когда досчитает что бы сравнить ошибки :)

И все-таки я хочу переписать его на mql5 и уже здесь сделать на OpenCL, для более эффективного использования. Затем берем гугл облако в аренду и считаем нейросеть за считанные минуты (секунды?) на тесле, или покупаем теслу за 500 тыр :) От 3000 cuda ядер

 
Maxim Dmitrievsky:


Классификатор Решетова дает лучше результаты чем млп по крайней мере, и не переобучается, в этом его плюс.. но считает жесть как долго с вашим сетом, вчера часа 2 считал и сегодня опять продолжил после гибернации.. жду когда досчитает что бы сравнить ошибки :)

И все-таки я хочу переписать его на mql5 и уже здесь сделать на OpenCL, для более эффективного использования. Затем берем гугл облако в аренду и считаем нейросеть за считанные минуты (секунды?) на тесле, или покупаем теслу за 500 тыр :) От 3000 cuda ядер


Ну дык в этом его и прием ущество, что он не переобучается при том что модель усложняется каждый раз. Тоесть мы получаем максимально сложную (большую) модель, которая не переобучена. Тобишь модель получается умнее, как то тапк чтоли. Я уже думал про интел ксеон математический сопроцессор, но он зараза  200 к стоит. Там 60 ядер 120 логических. Просто подумайте сами, как можно построить модель за 5 секунд, обработав даже этот как вы говорите не большой сет и получить модель адекватной самому сложному не стационарному процессу как котир валюты???? ЧТобы получить адекватную модель, нужно потратить достаточное машинное время. Тогда и модель буедт адекватной, да и проработает дольше.

Всётаки хотелось бы запустить её на ГПУ. Хотябы в 10 раз увеличить производительность и уже было бы хорошо.... Может всётаки полуится???

 
Dr. Trader:

Результаты оценки важности получились такие. Чем выше в табличке предиктор, тем лучше. Тест прошли только VVolum6, VDel1, VVolum9, VQST10.

В rattle можно построить сразу 6 моделей на этих 4 предикторах, и SVM показывает точность около 55% на валидационных и тестовых данных. Неплохо.


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


Классификатор Решетова дает лучше результаты чем млп по крайней мере, и не переобучается, в этом его плюс.. но считает жесть как долго с вашим сетом, вчера часа 2 считал и сегодня опять продолжил после гибернации.. жду когда досчитает что бы сравнить ошибки :)

И все-таки я хочу переписать его на mql5 и уже здесь сделать на OpenCL, для более эффективного использования. Затем берем гугл облако в аренду и считаем нейросеть за считанные минуты (секунды?) на тесле, или покупаем теслу за 500 тыр :) От 3000 cuda ядер


Опять же сколько ядер используется в расчётах??? У меня 4 ядра грузятся на 100% и то я не решился запустить полный сет 452 строки, потому как чувствую что это на неделю, не меньше.....
 
Mihail Marchukajtes:

Опять же сколько ядер используется в расчётах??? У меня 4 ядра грузятся на 100% и то я не решился запустить полный сет 452 строки, потому как чувствую что это на неделю, не меньше.....


Короче я поковырял последнюю версию проги, где там идет распарралеливание пока не нашел, но последняя версия работает не так как первые, там аж 2 нейросети в комитете, млп и авторский, и они потом взаимодействуют при получении результатов, кода много, респект автору :) Где-нибудь есть вообще описание последней версии, теория?

Там что-то очень жесткое, в частности, ЭТО  используется. Много времени придется потратить на изучение кода.

Попробуйте обратиться к самому автору и позвать его, возможно, он распараллелит сам.. т.к. там жестЪ

Метод МГУА для социально экономического прогнозирования, математического моделирования, статистического анализа данных, аналитической оценки систем и программирования.
  • Григорий Ивахненко
  • gmdh.net
Метод Группового Учета Аргументов применяется в самых различных областях для анализа данных и отыскания знаний, прогнозирования и моделирования систем, оптимизации и распознавания образов. Индуктивные алгоритмы МГУА дают уникальную возможность автоматически находить взаимозависимости в данных, выбрать оптимальную структуру модели или сети, и...
 
Mihail Marchukajtes:


Ну дык в этом его и прием ущество, что он не переобучается при том что модель усложняется каждый раз. Тоесть мы получаем максимально сложную (большую) модель, которая не переобучена. Тобишь модель получается умнее, как то тапк чтоли. Я уже думал про интел ксеон математический сопроцессор, но он зараза  200 к стоит. Там 60 ядер 120 логических. Просто подумайте сами, как можно построить модель за 5 секунд, обработав даже этот как вы говорите не большой сет и получить модель адекватной самому сложному не стационарному процессу как котир валюты???? ЧТобы получить адекватную модель, нужно потратить достаточное машинное время. Тогда и модель буедт адекватной, да и проработает дольше.

Всётаки хотелось бы запустить её на ГПУ. Хотябы в 10 раз увеличить производительность и уже было бы хорошо.... Может всётаки полуится???

А Классификаторе Решетова и в той проге по прежнему - не сеть, а один нейрон? Или они там объединены в сеть Решетовскх нейронов?
 
Maxim Dmitrievsky:


Короче я поковырял последнюю версию проги, где там идет распарралеливание пока не нашел, но последняя версия работает не так как первые, там аж 2 нейросети в комитете, млп и авторский, и они потом взаимодействуют при получении результатов, кода много, респект автору :) Где-нибудь есть вообще описание последней версии, теория?

Там что-то очень жесткое, в частности, ЭТО  используется. Много времени придется потратить на изучение кода.

Попробуйте обратиться к самому автору и позвать его, возможно, он распараллелит сам.. т.к. там жестЪ


Думаю до автора достучатся не будет возможности, я ему писал и так и эдак. Молчит. Но насколько я знаю, он как то писал что расспаралелил в ней всё что можно, это именно его слова. Да действительно идёт обучение двух сеток, которые работают в комитете. Я в своей статье это писал. Если обе показывают да, то да, если нет, то нет, если обе показывают в разнобой то "не знаю".  Не знаю как по последней версии, но основа описания лежит на гугле, та ссылка что ты мне скидывал. как то раз запустил 3 версию на впс сервере и к моему разочарования оптимизатор грузил всего одно ядро, но последние версии грузят все ядра равномерно, так что думаю расспаралеливание там всётаки есть. Осталось дело за малым. Наростить количество ядер :-)
Причина обращения: