"Новый нейронный" - проект Open Source движка нейронной сети для платформы MetaTrader 5. - страница 21
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Настроения Андрея (TheExpert) про утопичность данной затеи нужно отложить до момента оглашения этого вердикта нанятым спецом, админом проекта и итоговым консилиумом участников. А пока что тема остается в силе.
И как следствие прийдется корректировать свои цели для достижения хотябы похожести.
Блин, вы меня похоже не до конца понимаете. Я щас вообще приземленную пессимистическую сторону занимаю.
Да, библиотека должна быть универсальной, наподобие конструктора лего - собрать можно всё, что душе угодно.
Так не вопрос! Но обучать каждую отдельно. Конструировать можно для функционирования, совместное обучение -- это будет или адъ или жутковатый неповоротливый монстр который будет час на XOR учиться
Да, библиотека должна быть простой в использовании, в комплекте с которой нужен шаблонный эксперт. Простой в использовании на столько, что бы ею мог пользоваться непрограммист.
Да можно вообще теоретически пару шаблонных экспертов забомбить, с автоматизацией подачи им данных, это для упрощения и непрограммистов. Но данные все равно самому готовить.
Да, библиотека должна иметь универсальный интерфейс как на входе, так и на выходе, что бы можно было подключать к ней всё, начиная от значений индикаторов до...
Так он и так универсальный! Массив даблов -- куда универсальней? А в комитете главное чтобы при стыковке размеры совпадали.
Мы об одном и том же? целевая функция это та что вычисляет ошибку на выходе сети.
....
Так он и так универсальный! Массив даблов -- куда универсальней? А в комитете главное чтобы при стыковке размеры совпадали.
Во! Так я о чем? Для пущей универсальности ГА в самый раз:
алгоритм движка такой, упрощённый для наглядности:
хотим добавить MLP сетку, делаем запрос, сколько будет весов у неё, если на входе 20 значений, 10 нейронов в первом скрытом слое, 10 во втором и 1 на выходе?
Она нам сообщает, что 244.
хотим добавить ещё одну сетку (какую нить), опять делаем запрос ..... она нам отвечает - 542.
и того 244+542=786.
хотим ещё заодно оптимизить SL и TP, плюс ещё 2 параметра и того 786+2=788.
хотим макди заоодно оптимизить, у него два параметра, и того 788+2=790.
ок, ресайзим массив на размер 790.
и вуаля! оптимизим 790 параметров в ГА. остается добавить визуальный блочный конструктор под это дело, и всё будет работать.
а уже потом можно добавлять типы сетей и прочее сколько влезет, соблюдая единые интерфейсные стандарты (разработанные заранее).
как то так.
давай сделаем граф движёк, сделаем универсальную сеть (пару вариантов) а потом можно спеца пригласить чтоб растолковал, получиться под такие алгоритмы сетей, придумать унификацию алгоритмов обучения.
Можно сделать еще проще.
В данной ситуации идем от частных к общему, с попыткой абстрагирования к универсальным моделям.
1. Рисуем (на бумаге + словестный алгоритм матмодели) сети, которые можем реализовать (топологии и методы обучения к ним).
2. Находим в нарисованных моделях общие точки стыковки для создания абстрактных классов движка.
Нужно рассмотреть побольше моделей, чтоб так вытянуть в них базовые кирпичики.
Это абстрагирование обязательно рассматриваем под углом понятий человеческого языка ("создаем", "учим", "исправляем ошибку"). Так как это во-первых сделает модель наглядной для простого пользователя. Во-вторых такие функции-понятия легко расширять на новые топологии и методы.
Можно сделать еще проще.
В данной ситуации идем от частных к общему, с попыткой абстрагирования к универсальным моделям.
1. Рисуем (на бумаге + словестный алгоритм матмодели) сети, которые можем реализовать (топологии и методы обучения к ним).
2. Находим в нарисованных моделях общие точки стыковки для создания абстрактных классов движка.
Нужно рассмотреть побольше моделей, чтоб так вытянуть в них базовые кирпичики.
Это абстрагирование обязательно рассматриваем под углом понятий человеческого языка ("создаем", "учим", "исправляем ошибку"). Так как это во-первых сделает модель наглядной для простого пользователя. Во-вторых такие функции-понятия легко расширять на новые топологии и методы.
Универсальный нейрон я нарисовал на 12 стр, правда там кой чего не хватает.
А именно ячеек приёма памяти в активаторе.
А вот с методами обучения я пас, пущай математики мозгуют :о)
Ещё имхо. Вряд ли вы найдете специалиста-консультанта со стороны .отвечающего вашим требованиям. В лучшем случае вы погрязнете в переговорах со специалистами вашего уровня , но пытающихся продать свои знания завышая их уровень до востребованного вами на этапе переговоров.Если есть бюджет , не важно какой, эффективнее его разделить между вами в конце проекта, либо поровну либо не поровну на основании субьективной оценки метаквот .
Погоди ты с бюджетом, я лично первый пункт опроса выбирал, и мозги тут сушу не за метал.
А про спеца со стороны, это смотря где искать, как минимум это должен быть математик по образованию.
Не возле матИматики лежало, а именно математик.
Погоди ты с бюджетом, я лично первый пункт опроса выбирал, и мозги тут сушу не за метал.
А про спеца со стороны, это смотря где искать, как минимум это должен быть математик по образованию.
Не возле матИматики лежало, а именно математик.
sergeev:
2. Находим в нарисованных моделях общие точки стыковки для создания абстрактных классов движка.
Кстати, Владимир, не хочешь свой взгляд и сетки озвучить поширше?
Сетки на мой взгляд разделяются на моделирующие и классифицирующие. Моделирующие пытаются предсказать следующую цену на основе каких-то входных данных, например прошлых цен. К рынку такие сети-модели применять нельзя, ИМХО. Классифицирующие сети пытаются классифицировать входные данные, то есть Buy/Sell/Hold или тренд/флэт, и или что-то другое. Вот это мне как раз интересно. Наиболее перспективной классифицирующей сетью по-моему является SVМ с правильным преобразованием входных данных. Я бы сказал что сама сеть не так важна как преобразование входных данных, то есть вместо SVМ можно использовать что-то другое, например RBN. В последние два года я работал над сетями построенными по принципу мозга (кстати, MLP и большинство других сетей ничего обшего с мозгом не имеют). Мозг имеет несколько слоев для преобразования входных данных (звук, изображение, и т.п.) с каким-то классифицирующим движком наподобие SVМ. Преобразование данных в мозгу происходит, как обычно, их фильтрацией и уменьшением размерности. Характеристики фильтров обучаются без учителя, используя Hebbian competitive learning или другие само-обучяющиеся методы. Классификация пробразованных данных происходит с учителем (обратной связью). Позже напишу по-подробнее.
MLP
Generalized MLP
Modular netwoks
Self-organising maps
Neural gas
Competitive learning - перспективно
Hebbian - перспективно
FFCPA
Radial basis networks
LSTM
Time lagged recurrent
Partially recurrent
Wavelet networks
Fully recurrent
Neuro-fuzzy
Support Vector Machines - перспективно
Custom architectures - перспективно