"Новый нейронный" - проект Open Source движка нейронной сети для платформы MetaTrader 5. - страница 31
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уже решено и применяется. И даже выложено в этой ветке.
Я писал по материалам выложенным tol64 , другого такого предложения не видал (по невнимательности или отсутствию онного).
Если чёто продублировал, я не против пусть NeuroOpenSource поудаляет.
TheXpert:
длл нельзя
Если чёто продублировал, я не против пусть NeuroOpenSource поудаляет.
Он не админ :) .
Я ж и говорю ручками переложить, пока так, а там глядишь MQ одумается и сделает специальные методы для специальных случаев :о)
Не надо пытаться объять не объятное. Лучше поступательно. Сейчас вырисовываются следующие фундаментальные сущности:
__________________________
Сеть (состоящая из слоев, синапсов и буферов).
Обучатель (внешний универсальный алгоритм обучения), которому от сети надо перечисление и применение всех настраиваемых параметров. Например генетический обучатель. А вообще по умолчанию обучение зашито в слои и нутрь сетки.
Инициализатор. наверное самая простая сущность :) инициализирует настраиваемые параметры сети.
Менеджер паттернов. Сущность, которая позволяет создавать (генерить) паттерны, загружать и сохранять их, совместима с сетью.
Визуальный менеджер. Сущность позволяющая визуально сконструировать сеть.
Обработчик данных. Сущность для нормализации и анализа паттернов.
_________________________
Ниче не забыл?
Все сущности некоторым образом связаны (т.е. предполагается что одни сущности поддерживают другие через интерфейсы ) но по сути независимы.
_________________________
В настоящий момент можно без проблем разрабатывать одновременно Сеть Обучатель Менеджер паттернов и Обработчик данных при минимальных договоренностях о поддержке.
Ниче не забыл?
Все сущности некоторым образом связаны (т.е. предполагается что одни сущности поддерживают другие через интерфейсы ) но по сути независимы.
_________________________
В настоящий момент можно без проблем разрабатывать одновременно Сеть Обучатель Менеджер паттернов и Обработчик данных при минимальных договоренностях о поддержке.
Да, вроде бы ничего не забыл - всё есть.
Одно дополнение - желательно, что бы была некоторая совместимость Менеджера паттернов со стандартным мастером генератором советников (может быть придётся допилить и сам мастер). Отсюда - возможность генерить стандартным мастером паттерны для нейродвижка.
Предлагаю рассмотреть следующие архитектурные моменты:
1) все внешние (относительно НС) данные готовить в виде индикаторов, что позволит:
- быть независимым от всей системы
- визуально оценивать "правильность" идеи
- выбирать способ нормализации
2) активно смотреть в сторону OpenCL (CUDA, к сожалению, недоступна для счастливых обладателей GPU от AMD)
- 1536 Stream Processors у HD6970 - это вам не 6 Core на CPU
- в большинстве случаев обучение нейросетей - это SIMD-задача, которая идеально ложится на GPU
- архитектура всего комплекса изначально должна проектироваться с учетом этих требований
3) весь файлооборот между подсистемами (конфигурации, сети, запросы, ...) вести в XML
- открытый стандарт
- 100500 визуальных редакторов
- уже готовый парсер https://www.mql5.com/ru/code/97
Сеть (состоящая из слоев, синапсов и буферов).
Обучатель (внешний универсальный алгоритм обучения), которому от сети надо перечисление и применение всех настраиваемых параметров. Например генетический обучатель. А вообще по умолчанию обучение зашито в слои и нутрь сетки.
Инициализатор наверное самая простая сущность :) инициализирует настраиваемые параметры сети.
Менеджер паттернов Сущность, которая позволяет создавать (генерить) паттерны, загружать и сохранять их, совместима с сетью.
Визуальный менеджер Сущность позволяющая визуально сконструировать сеть.
Обработчик данных Сущность для нормализации и анализа паттернов.
Менеджер паттернов так понимаю это уже готовые шаблоны различных сетей в формате Инициализатора ? тогда они зависимы
так же Визуальный менеджер зависим от Инициализатора тк ВМ сохраняет созданное через МП в формате Иниц.
Инициализатор зависим от Сети.
Обучатель нужно шить в саму сеть, если он конечно не внешний типа ГА. так что внутренний обучаетль зависим от Сеть
Обработчик данных сцущность независимая даже от самого себя :о), предобработчик не зависит от постобработчика (главное не потерять синхронность).
В общем имеем пока только два независимых элемента Сеть и Обработчик.
Менеджер паттернов так понимаю это уже готовые шаблоны различных сетей в формате Инициализатора ? тогда они зависимы
Нет менеджер паттернов это тот, который умеет читать писать паттерны в файл и работать с временным фильтром.
так же Визуальный менеджер зависим от Инициализатора
Инициализатор всего лишь инициализирует подсунутые ему данные, какие зависимости??
Инициализатор зависим от Сети.
См. выше.
Обучатель нужно шить в саму сеть, если он конечно не внешний типа ГА.
Именно внешний. Я спецом это в скобках написал.
two интерестинг SVM algo: SVM with dynamic time warping as kernell function: http://notendur.hi.is/steinng/ijcnn08.pdf incremental SVM learning : http://www.isn.ucsd.edu/svm/incremental/
Инициализатор будет переводить табличные данные о структуре сети в формат инициализации, те в формат "а теперь нужно вызвать вот эту функцию, либо у этого цикла будет столько итераций" поэтому он зависим от возможностей сети. Если сеть не может вот так создаваться то этот отказ накладывает ограничения на инициализатор.
Менеджер сохраняет/загружает, сохраняет созданное визуализатором, загружает сохранённое, но если инициализатор зависим то через него зависимость передаётся и менеджеру и визуализатору. Вот например ввёл пользователь треботвание что результаты in*wg должны попарно суммироваться а потом перемножаться, а функционал сети этого не поддерживает, значит нужно ввести ограничения в визуализатор а это и есть зависимость.
Инициализатор будет переводить табличные данные о структуре сети в формат инициализации.
Блин. Откуда эти фантазии? У меня ощущение, что ты вообще не понимаешь о чем чем речь.
Где зависимости??
Блин. Откуда эти фантазии? У меня ощущение, что ты вообще не понимаешь о чем чем речь.
Где зависимости??
Ты немного недопонял, зависимость не прямая а обратная, передающаяся по цепочке, если сеть чего то не может исполнить (создать какую либо конфигурацию) то при написании верхних блоков это нужно учесть, в этом зависимость. те нужно будет проанализировать возможности сети и так её спланировать чтоб большую часть хотелок она поддерживала, а на остальную наложить ограничения в верхних блоках. Те пока не будет утверждённой конфигурации Сети говорить о верхних блоках рано, ибо они плавают в поле неопределённости.
ЗЫ Можно пойти другим путём, написать как есть все блоки, потом при выявлении нестыковок ставить заплатки, потом опять заплатки, в результате когда объём заплаток достигает критичного проанализировать всё и снуля уже все переписать. Немного муторно зато позволяет сразу приступисть к работе и постепенно выявить все невязки.