Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
11 / 11 / 8
Регистрация: 15.01.2014
Сообщений: 132
1

Разобраться с программой нейросети

16.07.2014, 21:00. Показов 2557. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Помогите пожалуйта разобраться с программой нейросети. Дело в том что искал исходник нейросети в нете и на хабре всё таки нашёл один, инета на компе небыло, в результате скачал исполняемый файл, а исходники с кодом прокоментированым не успел скачать(почему-то статью и ссылки на прогу и исходник удалили) Я всё таки раскрыл код проги через dotPeek и смог востановить изначальный код программы(не уверен что точ в точ, но вроде прога работает), только естественно код уже без коментариев, даже вооружившить теорией как я собирался в начале я понять работу нейросети не смогу((( Можете помочь мне, в прикреплённом архиве проэкт с востановленным исходным кодом проги, можете в коментах в коде объяснить(желательно на пальцах) что и где выполняет, для чего служит или хотя бы ссылку на статью(старую статью удалили). С меня + за помощь. Заранее извеняюсь если здесь запрещенно прикреплять файлы к сообщениям. Спасибо!
Вложения
Тип файла: rar Neuroweb.rar (3.10 Мб, 51 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2014, 21:00
Ответы с готовыми решениями:

Как разобраться с программой
Нужно найти синус угла в радианах. Результат должен иметь n-ное количество знаков после запятой....

Разобраться с программой
Добрый день! Необходимо разобраться с программой, кот использует Financial.DDB метод (интерфейс во...

Не разобраться с программой
Не получается суммирование элементов массива, выдает ошибку А также непонятно как потом заменить...

Разобраться с программой
Добрый день Помогите разобраться с программой на Java: Почему она не запускается, в чем ошибка, и...

3
674 / 420 / 44
Регистрация: 09.07.2012
Сообщений: 1,419
17.07.2014, 09:28 2
Зачем мучиться, нейросети лучшая на C++ "FANN" есть фраппер на .NET (https://code.google.com/p/fanndotnetwrapper/)
Чисто .NET есть в "AForge" (http://www.aforgenet.com/) и "Accord" (http://accord-framework.net/docs/Index.html).

Почитайте на википедии про нейросети дополнительно.
1
11 / 11 / 8
Регистрация: 15.01.2014
Сообщений: 132
18.07.2014, 12:37  [ТС] 3
Dywar а можете кинуть ссылки на пару статей по нейросетям используя упомянутые вами ресурсы, желательно чтобы побольше примеров было объяснённых на пальцах, так как в нейросетях я полный ноль...
0
674 / 420 / 44
Регистрация: 09.07.2012
Сообщений: 1,419
18.07.2014, 21:45 4
Лучший ответ Сообщение было отмечено Mihail29 как решение

Решение

"Нейросети" лучше почитать в гугле, сразу попадаем на "википедию" и "хабрахабр" (две статьи). Очень познавательно.
Только после прочтения этого материала, смотрим уже на реализации в .NET.

Для примера читайте статью на хабре "Взлом матановой капчи на C# — это просто!", в ней исходник, используется FANN. Внимательно читайте код, еще раз, и еще раз.

Надо понять что -

мы просто приводим данные к одному виду (матрица)

000000000000
000101010100
010100101010
010101001010

Это может быть картинка, звук, что угодно. Эти данные поступают на вход каждый раз.

После обработки нейронами их ждут именованные выходы, которые для нас могут что то означать (буквы например), и чем больше матрица похожа на букву "А", тем выше шанс что на "выйдет" на выходе который мы ассоциируем с буквой "А".

Но так как компьютер изначально не знает как выглядит буква "А", мы его должны научить этому. Подготавливаем образцы, и говорим

000000010101
010101010101
010101010010
010101010100
-> это буква "А" (таких образцов должно быть несколько, сколько не знаю, обучение сложный процесс)

000000000000
000000000000
000000000000
001010101001
-> это буква "Б"

и т.д.

Количество входов равно Ширина * Высота матрицы. В этом пример 12*4 = 48.

Выходов будет 33 (как и букв в Русском алфавите).
И чем больше входные данные похожи на одну из букв, тем выше шанс что она "выйдет" на этой букве.
Поэтому очень важно подготовить правильные образцы, что бы отличия были видны даже на глаз (когда вы будите смотреть полученный файл из этих матриц).
И на вход можно подавать только матрицы одного размера. Это значит, что допустим картинки надо приводить к одному размеру, и делить на цвет БЕЛЫЙ/ЧЕРНЫЙ (1,0).

В процессе обучения загляните на youtube. Удачи.
2
18.07.2014, 21:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2014, 21:45
Помогаю со студенческими работами здесь

Разобраться с программой
//--------------------------------------------------------------------------- #include <vcl.h>...

Разобраться с программой со Switch
Здравствуйте. Не могу понять,как работает программа. Был бы рад,если бы кто-то объяснил,что при...

Не могу разобраться с программой
Я поступил в Колледж Вычислительной Техники и у нас началось программированиею Сказали поставить...

Немогу разобраться с программой
Здравствуйте ребята!!! С Праздником!!!У меня такой вопрос, может кто нибудь и сталкивался с этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru