Форум сайта python.su
Огромное спасибо за библиотеку, очень помогла в в составлении учебного курса, после того, как в университете запретили МАТЛАБ! Не знаю, что бы и делал без вашего проекта.
Скажите, не реализован ли на данный момент алгоритм Левенберга - Марквардта для многослойного персептрона (trainlm в NN Toolbox)? Очень сильный алгоритм, хотелось бы увидеть его. В пакете пока не нашёл, может, в планах?
Офлайн
bekabaka
Спасибо! Рад, что вы используете neurolab в учебном процессе (хоть для этого и пришлось запретить МАТЛАБ).
Что касается trainlm, то пока в планах он не стоял. Разрабатывать подобные алгоритмы на чистом питоне, наверное, не очень правильно. На данный момент реализован схожий квазиньютонов алгоритм BFGS. И пока это наиболее эффективный (из поддерживаемых) алгоритм обучения многослойных перцептронов (см. example/ff_train_race.py). В neurolab он реализован как обертка для scipy.optimize.fmin_bfgs. Как оказалось, метод Левенберга - Марквардта в пакете scipy.optimize тоже присутствует, в виде функции leastsq. И теоретически можно и для него написать обертку по аналогии с BFGS, но тут не так все гладко. Например leastsq оптимизирует только сумму квадратов ошибок, в то время как в neurolab возможны и иные функции ошибок.
В общем обещать не буду, но если все пойдет хорошо, возможно я его добавлю. Интересно сравнить его эффективность с тем же BFGS.
Отредактировано (Окт. 2, 2011 17:15:53)
Офлайн
Справедливости ради, запретили не МАТЛАБ, а ПО без лицензии, что скорее хорошо, чем плохо. Плохо, что на лицензию МАТЛАБа средств не выделили.
Большое спасибо за наводки на конкретные функции из scipy.optimize, я только знакомлюсь с окружением Питона и это очень ценно. Возможно, я и сам смогу что-то сделать после этих подсказок.
ЛМ интересует именно потому, что в МАТЛАБе он демонстрирует несколько даже ненормальную эффективность - какая-нибудь учебная аппроксимация делается буквально за 3-4 эпохи, а тот же BFGS (он ведь тоже в МАТЛАБе есть) - справляется ну минимум за 15. Некоторые студенты только после этого и верят, что персептроны на что-то годны =)
Ещё раз огромное спасибо за вашу работу. Это действительно востребованный труд. Я-то энтузиаст, но когда коллеги узнали, что в новом окружении можно решать старые задачи именно так, как они привыкли - они резко поменяли отношения и к изменениям учебного плана, и к перспективе освоения новых технологий =) Учитывая, что переход на OpenSource в учебном процессе - это политика даже не вуза, а всего города, уверен, пакет быстро распространится.
Офлайн
commА можно увидеть пример работы сети Элмана для предсказания числовых последовательностей ?
1 сентября вышла версия 0.2.0
Основным изменением данной версии является поддержка (из коробки, косвенно работать с ними можно было и ранее - http://python.su/forum/viewtopic.php?pid=70948#p70948) рекуррентных сетей Элмана и Хопфилда.
Другим стимулом обновиться является исправление некоторых багов.
Пример использования сети Элмана: http://packages.python.org/neurolab/ex_newelm.html
Пример использования сети Хопфилда: http://packages.python.org/neurolab/ex_newhop.html
Офлайн
Проект стоящий и нужный, безусловно. А что послужило причиной создания данного проекта?
Офлайн
JamesДаже не знаю что и сказать! По-моему, каких-либо скрытых намерений не было. Изначально было немного обидно, что в такой перспективной среде не нашлось аналога NNT, так уж сложилось, что для многих это эталонная реализация ИНС. Это на самом деле очень продуманный и удобный пакет и своих денег он безусловно стоит (правда в довесок к нему придется взять MATLAB). После работы с ним уже откровенно не хотелось терять в удобстве и функциональности.
А что послужило причиной создания данного проекта?
Офлайн
Небольшая ложка дегтя.
commУ меня есть гипотеза почему это так.
что в такой перспективной среде не нашлось аналога NNT
Отредактировано (Дек. 25, 2011 21:30:14)
Офлайн
doza_and
ИНС это один основных методов машинного обучения. Для каких-то задач он подходит лучше, для каких-то хуже. Некоторые ИНС представляют лишь академический интерес, некоторые успешно используются на практике. Одно время наблюдалось падение интереса к ИНС, но сейчас они опять актуальны (http://yaroslavvb.blogspot.com/2011/04/neural-networks-making-come-back.html).
Офлайн
Планируется ли Неокогнитрон, в библиотеке?
http://packages.python.org/neurolab/ex_newc.html -
# Create net with 2 inputs and 4 neurons
net = nl.net.newc([[0.0, 1.0],[0.0, 1.0]], 4)
error = net.train(inp, epochs=200, show=20)
w = net.layers[0].np['w']
Отредактировано (Фев. 5, 2012 21:06:45)
Офлайн
Планируется ли Неокогнитрон, в библиотеке?Нет. Пока не приходилось с ним встречаться.
Что здесь подается на вход - размерность пространства: x,y?Да. 0.0 - минимальное значение для данного входа; 1.0 - максимальное.
Что за параметр showПериод вывода информации о процессе обучения в консоль (в примере - каждые 20 эпох).
train centers?Не уверен, что правильно понял. net.layers.np - веса обученных нейронов, после обучения они стремятся к центрам распределений обучающей выборки.
Офлайн