Стало быть, и я помогу.
Очень рекомендую книжку (содержание расскажет о том, что это must have): http://www.piter.com/book.phtml?978531800220
Код присутствует (см. по ссылке) :) Сама книга есть в инете (в djvu точно).
Самая красивая и сильная вещь это бэкпроп на с++ в несколько сотен строк, которая дает прибыль, без всяких окон, графиков и.т.д. Без гемора, с автоматической системой оптимизации для нахождения лучшего варианта сети для всего этого дела.
А реализация или ссылки на алгоритм Левенберга-Марквардта(язык сломаешь) есть у кого-нибудь?
Реализацию находил в гугле, помниццо. По запросу "levmar" первые две строчки - самое оно: http://www.ics.forth.gr/~lourakis/levmar/
Удачи!
А реализация или ссылки на алгоритм Левенберга-Марквардта(язык сломаешь) есть у кого-нибудь?
Алгоритм Левенберга-Марквардта хорошо описан в книге Hagan "Neural Network Design". А также здесь, для общего применения,
http://dspace.ubvu.vu.nl/bitstream/1871/12462/1/Scanjob_199300011.pdf
http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/3215/pdf/imm3215.pdf
Разные программные реализации (MINPACK, MPFIT, LEVMAR, ...) даны здесь
http://en.wikipedia.org/wiki/Levenberg%E2%80%93Marquardt_algorithm
http://www.fizyka.umk.pl/nrbook/c15-5.pdf
По моему собственному опыту, этот алгоритм самый быстрый и способен достичь меньшую ошибку обучения, хотя в другой ветке все утверждали что "не нужно это". Бакпроп сам по себе это только метод вычисления градиентов сети и ведёт к методу градиентного спуска (w_new = w_old - a*gradient). BFGS (Broden-Fletcher-Goldfarb-Shanno) и conjugate gradient хуже Левенберга-Марквардта по моему опыту. Интересно что создатель кода LEVMAR (Lourakis) отрёкся от алгоритма Левенберга-Марквардта в пользу Dog Leg алгоритма в статье 2005 года "Is Levenberg-Marquardt the Most Efficient Optimization Algorithm for Implementing Bundle Adjustment?":
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.3592
Кстати, все эти алгоритмы гарантированно ведут к локальным минимумам, что, опять же, "пустячок" согласно распространённому мнению на другой ветке. Если достижение глобального минимума в обучении сети не важно, то зачем извращаться? Бакпроп проще и нуждается в меньшей памяти.
Раз пошли такие интеллектуальные посты, может кто в курсе что за алгиритм в обучении NSDT используется ? Думаю ничего нового там нет. И как пакет внутри готовит входные данные ? Пакет считаю ничего особенного просто любопытен их подход.
Раз пошли такие интеллектуальные посты, может кто в курсе что за алгиритм в обучении NSDT используется ? Думаю ничего нового там нет. И как пакет внутри готовит входные данные ? Пакет считаю ничего особенного просто любопытен их подход.
Смотрите здесь, в конце статьи
http://www.neuroshell.com/Successful%20Trading%20Using%20Artificial%20Intelligence.pdf
Написано что используют TurboProp 2. Статья по турбопропу здесь
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.4325
Алгоритм обучает сеть начиная с одного скрытого нейрона. Обучив его веса, они фиксируются и добавляется второй скрытый нейрон. Его веса обучаются и фиксируются. И так далее. На каждом шаге обучения, веса нового скрытого нейрона обучаются вместе с весами выходного нейрона в то время как веса предыдущих скрытых нейронов не изменяются. Сеть обучается на размер и веса одновременно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
По мотивам прочитанного и открытых кодов, сделал кое-что для себя.
Реализованы методы обратного распространения, по прибыльности,
слои Кохенена, несколько вариантов нормализации входных данных.
Сбор данных в своем формате, возможен экспорт их *.hst файлов,
безбиблиотечный экспорт-импорт в матлаб, полная визуализация
как всех входных векторов, так и результаты прогона по истории.
На самом деле ни хвалюсь- поскольку ничего особенного, пишут
и более красивые и сильные вещи, но смысл в собственной
нейролаборатории с усиленной вычислительной мощью.
( 3 млн. проходов по 8тыс. паттернов ~ за ночь )
Выход:либо memfile, либо сбос весов на диск.
Входящие данные
Параметры нейросети (еще не доделаны .. в процессе)
Монитор процесса обучения (масштабирует, запрос по точке)
Прогон по истории (тоже недоделан, переделываю заново)
Делаю для себя, ни для продажи - ищу со-авторов по нейро-алгоритмам. Интересует практические идеи и алгоритмы по применению сетей Хопфилда, модели Липпмана-Хемминга, машина Больцмана, сеть Кохонена, звезды и слои Гроссберга, етс. Также некоторые градиентные алгоритмы (скоростной и пороговый) обучения и методы сопряжённых градиентов, квазиньютоновы алгоритмы, етс.