Для тех, кто не знаком с SOINN, это относительно новый тип нейронной сети под названием Self Organizing Incremental Neural Network — самоорганизующиеся, растущие нейронные сети.
Занимаясь алгоритмическим трейдингом, я довольно долгое время строил торговых роботов на основе классических индикаторов и методов технического анализа.
Попутно, читая различные статьи, я встречал упоминания о нейросетях, которые трейдеры используют для торговли с разной степенью успеха.
Эта тема меня увлекла.
Сама возможность использования ИИ в трейдинге захватывала дух.
Я перечитал все, что смог найти в нейросетях, затем установил пакет NeuroSolution, а заодно и TraidingSolution, и начал выбирать виллу на Лазурном Берегу.
Однако все оказалось не так просто и быстро, как я себе представлял.
Во-первых, я столкнулся с проблемой представления данных для сети.
Дело даже не в том, как их масштабировать, а в том, какие данные предоставить сети, чтобы на их основе она могла найти интересующие меня точки на графике изменения цены.
По большому счету, это первая и самая важная задача, которую необходимо решить перед использованием любой сети.
В противном случае мы столкнемся с классической ситуацией «мусор на входе — мусор на выходе».
Чтобы решить эту проблему, нам пришлось испробовать большое количество различных методов и типов представления данных для сети.
В конечном итоге такой метод был найден.
Не буду вдаваться в подробности, скажу лишь, что для подготовки данных для сети мне пришлось написать довольно сложную программу, не имеющую никакого отношения к реализации самой сети.
Дальше было обучение.
Использовались классические сети с небольшим количеством нейронов.
В итоге я столкнулся с тем, что новые данные, введенные для обучения сети, вытесняли старые данные.
А потом я наткнулся на статью японских/китайских ученых о SOINN. Более того, в статье указано, что код примера реализации однослойной SOINN на C++ размещен на сайте лаборатории Хасэгавы.
Я бросился на этот сайт, но к тому моменту пример оттуда уже удалили.
Но слава Рунету! На сайте автор робототехника Один из наших энтузиастов выложил удаленный пример SOINN от Hasegawa и даже свой пример использования.
Мне очень понравилась идея саморазвивающейся сети, которая не «глупеет» по мере получения новых знаний.
Я взял за основу выложенную библиотеку и написал собственную реализацию SOINN, «подогнанную» под мои задачи.
Первые испытания обнадежили.
Я использовал метод обучения контролируемой сети.
Сеть очень быстро обучалась (по сравнению с классическими сетями) и находила в исходных данных интересующие меня закономерности.
Отмечу, что SOINN — это сеть, которая по определению предназначена для классификации (кластеризации) данных.
Поэтому я отказался от ранее решенных задач прогнозирования данных (предсказания направления движения ценового графика).
Теперь проблема распознавания образов, или поиска необходимых закономерностей, была решена.
Сразу оговорюсь: речь не идет о распознавании формы графа.
Паттерн, который ищет сеть, представляет собой совокупность достаточно большого набора данных, характеризующих наиболее успешные точки для продажи или покупки.
Однако опубликованный авторами пример SOINN содержал вариант однослойной SOINN, хотя классический SOINN должен содержать два слоя.
Кроме того, видимо для упрощения примера, некоторые части алгоритма, приведенные в его математическом описании, не были реализованы в коде.
Поэтому нам пришлось дополнить некоторые модули собственными функциями и реализовать двухуровневый алгоритм обучения.
В настоящее время достраивается торговый робот на базе обученного SOINN. Предварительные результаты обнадеживают. Не могу не отметить полезность и полноту статьи про СОИНН от Зколенко.
Если бы я нашел его раньше, я бы сэкономил много времени, изучая SOINN и все, что с ним связано.
Теги: #искусственный интеллект #нейронные сети #SOINN
-
Объяснение Хостинга Игрового Сервера
19 Oct, 24 -
День 1 На Стажировке В Вашей Seo-Компании
19 Oct, 24 -
Стоит Ли Amazon Instant Video Того?
19 Oct, 24 -
Синхронизация Кошельков С Сетью Bitcoin
19 Oct, 24 -
Мошенничество С Удаленной Работой
19 Oct, 24