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

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

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

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Помогите пожалуйта разобраться с программой нейросети. Дело в том что искал исходник нейросети в нете и на хабре всё таки нашёл один, инета на компе небыло, в результате скачал исполняемый файл, а исходники с кодом прокоментированым не успел скачать(почему-то статью и ссылки на прогу и исходник удалили) Я всё таки раскрыл код проги через dotPeek и смог востановить изначальный код программы(не уверен что точ в точ, но вроде прога работает), только естественно код уже без коментариев, даже вооружившить теорией как я собирался в начале я понять работу нейросети не смогу((( Можете помочь мне, в прикреплённом архиве проэкт с востановленным исходным кодом проги, можете в коментах в коде объяснить(желательно на пальцах) что и где выполняет, для чего служит или хотя бы ссылку на статью(старую статью удалили). С меня + за помощь. Заранее извеняюсь если здесь запрещенно прикреплять файлы к сообщениям. Спасибо!
Вложения
Тип файла: rar Neuroweb.rar (3.10 Мб, 51 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
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
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.07.2014, 21:45
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru