| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Нейронные сети |
| Автор: Friackazoid 20.5.2007, 20:50 | ||
| Пишу программу распознования букв алфивита. Общая концепция такая: есть 32 bmp файла (100х100) названных а.bmp б.bmp и т.д. с образцами букв. Нейронная сеть считывает эти файлы и обучается. Пользователь создает файл test.bmp (100x100) со своей буквой и прога должна его распознать. Реализую я все это дело через классический персептон. То есть внешний сенсорный слой это вектор картинки (1-черный пиксель 0-белый), скрытый слой из 100 нейронов, и выходной слой из 5 нейронов. Буквы кодируются на выходном слое так а=00001 б=00010 и т.д. Проблема в том что очень много литературы и везде все написано по разному. Вот и не очень понимаю в алгоритме обучения сети какую форммулу использовать для рассчета дельта. Вот то что есть
Подскажите пожалуста формулу для рассчета дельты для массива весов от входного слоя к скрытому. а также с удовольствием выслушаю советы и замечания. |
| Автор: Greeen 21.5.2007, 08:53 |
| В http://forum.vingrad.ru/forum/tech-algorithm-techique-method.html |
| Автор: Friackazoid 21.5.2007, 10:22 |
| Кто-нибудь из модераторов, перенесите тему тогда. |
| Автор: Promitheus 21.5.2007, 12:02 |
| W(i+1)=W(i)-Коб*Delta(i)*Х; Коб - коэффициент обучения 0<Коб<1; delta=abs( эталонный выход - реальный выход).//соотв компонента вектора Обучение делается до тех пор, пока delata<Eps. Eps-ошибка обучения. Вообще на мой взгляд здесь целесообразнее использовать структуры, а не классы, иначе упрётся алгоритм в низкую производительность. |
| Автор: Friackazoid 21.5.2007, 13:02 |
| Promitheus, Это-то понятно. Теории везде полно. Непонятно как это написать в коде. Что такое Delta(i) и что такое Х. |
| Автор: Promitheus 21.5.2007, 13:38 |
| Что-то мне сдаётся ты не совсем понимаешь суть вопроса. X - входной компонент кетора delta(i) - значение дельты на i шаге итерации. delta=abs( эталонный выход - реальный выход). Я написал как сам сделал. |
| Автор: Promitheus 22.5.2007, 08:20 |
| По-моему, у тебя не правильно структура организована нейро сетки. Там каждый элемент текущего слоя должен быть связан, с каждым элементом последующего слоя, за исключением когда веса редуцированы (W=0). |