Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.05.2009, 16:53
гость

 
Сообщений: n/a

Java Neural Modeling Framework new GUI
Оцените мой дипломный проект

Возможности:
"Program to performing the complete cycle of neural networks analysis for any data.
1) Preparing data (load data from file, splitting on classes, normalization, clasterization using ART2m algorithm, splitting on learning and test data).
2) Choosing one of algorithm on neural networks (implemented algorithms: multilayer perseptron, PNN, logistic regression, Cascade Correlation based on back propagation or quick propagation) and set up parameters of algorithm.
3) Learning of network and monitoring learning state.
4) Model verification using ROC-analysis.
5) Optimization of network parameters using Genetic Algorithm.
6) Save network for further use.
7) Using network to make forecast for another data."

http://sourceforge.net/projects/jnmf-new-gui/
  #2  
Старый 29.05.2009, 20:59
гость

 
Сообщений: n/a

Пункты 1-4, 6-7 - все уже давным давно реализовано в пакетах типа Weka, RapidMiner, да и с гораздо большим выбором алгоритмов и возможностей.

> Optimization of network parameters using Genetic Algorithm.
Можно поподробней? Какие параметры подбираются и как?

> Cascade Correlation based on back propagation or quick propagation
Что за фрукт?


>Program to performing
Грамматическиая ошибка.
  #3  
Старый 29.05.2009, 21:36
гость

 
Сообщений: n/a

>> Optimization of network parameters using Genetic Algorithm.
>Можно поподробней? Какие параметры подбираются и как?

Очень просто. Каждый алгоритм на нейронных сетях обладает неким набором параметров (числовых или типа перечисления) которые влияют на эффективность обучения на конкретном наборе данных. Задача стоит в том чтобы для заданного набора данных определить оптимальный набор значений параметров. Делается это с помощью ГА. Создается набор хромосом каждая из которых представляет собой случайно сгенерированные (в допустимых диапазонах) параметры. Потом проводятся пробные обучения сетей. Сети с наименьшей итоговой ошибкой выживают и дают потомство. Есть мутация параметров.. Ну это короче классический ГА. Результат очень хороший.

>> Cascade Correlation based on back propagation or quick propagation
> Что за фрукт?

Это довольно мощный алгоритм на нейронных сетях, с автоматическим подбором топологии сети. Вкратце: вначале сеть начинает свою работу с небольшим количеством слоев и нейронов, но потом в процессе обучения если ошибка начинает падать слишком медленно делается попытка усложнить структуру сети добавлением нового скрытого слоя с одним нейроном. Причем слои соединяются не последовательно а "каскадно", от нейрона в слое k есть связи ко всем нейронам в слоях начиная от k+1 до последнего. Вообщем это довольно сложная штука. Тут описано подробнее http://www.dtreg.com/cascade.htm. С помощью алгоритма каскадной корреляции можно без труда решить известную сложную задачу классификации two spirals problem (http://pyrorobotics.org/?page=TwoSpiralsProblem).
  #4  
Старый 29.05.2009, 22:24
гость

 
Сообщений: n/a

Сообщение от гость Посмотреть сообщение
Очень просто. Каждый алгоритм на нейронных сетях обладает неким набором параметров (числовых или типа перечисления) которые влияют на эффективность обучения на конкретном наборе данных. Задача стоит в том чтобы для заданного набора данных определить оптимальный набор значений параметров.
Нет, ну это я понимаю. Интересно, какие собственно параметры подбираются, например в случае MLP.

Цитата:
Потом проводятся пробные обучения сетей. Сети с наименьшей итоговой ошибкой выживают
Итоговая ошибка у вас считается по самой обучающей выборке? Это не очень хорошо, и ведет к overfit'у. Обычно делают разделение на обучающую (для алгоритма обучения) и проверочную выборку (для проверки построенной модели), или кросс-валидацию.

Цитата:
С помощью алгоритма каскадной корреляции можно без труда решить известную сложную задачу классификации two spirals problem (http://pyrorobotics.org/?page=TwoSpiralsProblem).
Ну, сюдя по рисунку там в конце, у них это не очень-то и получается. У SVM'ов и radial basis networks результаты должны быть гораздо лучше на этой же задаче.

Есть какие-нибудь не-исскуственные примеры где этот метод хорошо себя зарекомендовал?
  #5  
Старый 29.05.2009, 22:49
автор

 
Сообщений: n/a

> Нет, ну это я понимаю. Интересно, какие собственно параметры подбираются, например в случае MLP

В моей реализации MLP есть такие параметры как: колличество скрытых слоев, колличество нейронов в каждом слое, начальный разброс значений весов, и еще 2 параметра для back propagation. Но суть даже не в самих параметрах а в том насколько легко их добавить. Сейчас к примеру для добавления нового параметра в алгоритм нужна 1 строчка кода (поставить аннотацию @Parameter над полем класса).

> Итоговая ошибка у вас считается по самой обучающей выборке?
Нет, по тестовой конечно

> Ну, сюдя по рисунку там в конце, у них это не очень-то и получается. У SVM'ов и radial basis networks результаты должны быть гораздо лучше на этой же задаче.

Не знаком с SVM'ов и radial basis networks. Так что мне трудно судить. Задача в дипломе была реализовать каскадную корреляцию. Но. Архитектура программы очень гибкая, и добавить в нее новый алгоритм довольно просто.

> Есть какие-нибудь не-исскуственные примеры где этот метод хорошо себя зарекомендовал?
На этих данных неплохо
http://archive.ics.uci.edu/ml/datasets/Nursery
и на этих тоже нормально вроде
http://archive.ics.uci.edu/ml/datase...dians+Diabetes
Но еще тестировал мало, потому что больше времени уделял именно программе, т.е. GUI, И мне как разработчику было бы интересно услышать имение именно о GUI. Насколько удобно им пользоваться.. Я по крайней мере старался чтобы все было максимально удобно и интуитивно понятно людям которые разбираются в нейронных сетях.
Тестировать и сравнивать разные алгоритмы которые у меня реализованы на разных данных буду в ближайшее время.
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# objects recognition by neural network гость Искусственный интеллект, нейронные сети 3 02.06.2009 13:29
Операции над многоугольниками + NET Framework гость Вычислительная геометрия 0 06.02.2008 12:24