Pull to refresh

Comments 22

Спасибо, только начал изучать питон и задумался, а есть ли реализация алгоритмов машинного обучения, а тут как раз ваша статья по теме!
В таком случае надеюсь PyBrain Вам понравится, и позволит реализовать что-нибудь занимательное
Это уже не нейронные сети, но тоже конечно Machine Learning.
Может расширите Ваш комментарий аргументацией рекомендации именно этих двух проектов?
+1 к этим проектам. Чего тут комментировать) В scikit-learn собрана куча современных алгоритмов, довольно неплохо оптимизированных, и люди все это на практике используют. В PyBrain — только небыстрые и не супер-актуальные нейронные сети + довольно корявые биндинги для SVM, которые, похоже, не очень-то и поддерживаются. Даже если количество коммитов сравнить — в PyBrain их за последний год штук 10 было, в scikit-learn это сотни (по десятку в день), очень активный и хороший проект. Pandas не пользовался, но все хвалят очень.
При обцчении в ШАДе я искал различные библиотеки, реализующие алгоритмы машинного обучения. К сожалению, в большинстве реализованы обычно только базисные алгоритмы и каких-то продвинутостей нету.

В данной библиотеке PyBrain удивительно много алгоритмов. Насколько удобно ими пользоваться — непонятно.
Когда я сел разбираться в нейронных сетях, то понял, что метод обратного распространения по сравнению с другими методами это как счёты по сравнению с суперкомпьютером. Для объяснения принципов и модельных примеров — пойдёт, для реальных задач он ужасен.
Сравнивали с fann? У них есть биндинги к python в комплекте, да и побыстрее должна быть.
К PyBrain можно прикручивать arac, который дает прирост производительности раз в 10. А вот с fann я как раз собираюсь сравнить.
Я-бы использовал PyPy для JIT, более общий конечно вариант, по идее должен быть медленнее чем arac, просто смущает то, что последнее обновление для arac было больше двух лет назад
Так… Вобщем сравнил. Субъективно libfann на порядок медленнее чем PyBrain + arac!
На порядок это серьёзно! Опишете процесс тестирования? Есть численные результаты (графики всегда эффектно выглядят)?
Сравнить со связкой PyPy + PyBrain не надумали?

А вообще, спасибо, что поделились. Такая информация может пригодится.
UFO just landed and posted this here
Девиз Java: «Зачем просто, когда можно сложно?»
Чушь. На любом языке можно создать фигню.
У меня мой проект сетей создается 1-й строчкой безо всяких фабрик.
BPNet net = new BPNet( 4, 100, Type.Sigma );

Загружаю данные.
net.LoadData( «C:\Net\datain.csv»)

Обучение
net.train( 100, TypeTrain.BP );

И что это доказывает? Да ничего…
Еще раз повторю, на любом языке можно написать плохо и хорошо.
UFO just landed and posted this here
У меня всегда с этим затык, может ТС объяснит как например файл разбирать нейронной сетью?
Например я хочу создать датасет из разнообразных слов и словосочетаний и определять спам по ним.
Пример простейшей байзановой сети я могу понять (матрица грубо говоря), а с нейронкой с ходу не выходит…
Хотя уверен с ней результаты были бы лучше для антиспама.
Я очень сомневаюсь что такую задачу нейросетями решить можно. Требуется много ресурсов, не гарантируется нахождение минимума, возможны блуждания в седловых точках. Насколько мне известно, наивные байесовский классификаторы используются для этой цели и показывают хорошие результаты.
Проблема Байеса — фальш-позитивы.
Ну как сказать, вот для Вас F1 score > 0.98 это достаточно или нет? А требуемое количество ресурсов, на порядок, а то и два больше стоит повышения F1 до 0.999?
Единственная статья на хабре, кроме моей, в которой упоминается PyBrain — http://habrahabr.ru/post/136237/ посмотрите, возможно приведённый в ней код поможет Вам разобраться как по log-файлам сеть тренировать
Есть еще хорошая библиотек NeuroLab, API которого сильно напоминает MatLab Neural Network Toolbox.
Sign up to leave a comment.

Articles