Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2011, 17:34   #1
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию Нейронные сети - учебник "для дураков"

Вероятно тема эта уже слегка заезженная, но все же рискну попросить помощи. Вообщем на данный момент у меня есть эдакая нейро-амеба из одного нейрона с двумя входами и одним входом, на котором стабильно единица. Я его пытался научить функции OR, в принципе получилось, но есть некоторые вопросы, на которые очень хотелось бы получить ответ:
За базу я взял вот это вот видео: C++ perceptron training

Код нейрона на codepad

1. Что это за лишний дендрит, на который всегда должна подаваться единица?
2. Что можно почитать/посмотреть (простого и понятного!) что бы научится строить нейронные сети из >1 нейрона, для распознания гораздо больше количества классов, чем два.
3. Может ли один нейрон распознать более двух классов объектов имея всего два реальных входа( то есть не считая этого самого единичного дендрита )?
4. Существуют ли "песочницы", в которых можно построить простые нейронные сети в целях изучения их поведения, то есть задать там веса вручную, входные данные, выходные данные, запустить обучалку и увидеть процесс обучения.

Третий вопрос меня интересует в основном потому, что когда я сделал просто два дендрита, то есть не делал третьего - единичного, сеть обучалась бесконечно и все время стабильно безуспешно. То есть веса менялись, а вот желаемый результат так и не наступал, и менялись веса сугубо циклически по константному множеству значений.
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 21.10.2011 в 17:36.
Ivan_32 вне форума Ответить с цитированием
Старый 21.10.2011, 19:43   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
2. Что можно почитать/посмотреть (простого и понятного!) что бы научится строить нейронные сети из >1 нейрона, для распознания гораздо больше количества классов, чем два.
ИМХО, может литературу по Искусственному интеллекту и нейронным сетям?
Вадим Мошев вне форума Ответить с цитированием
Старый 21.10.2011, 19:58   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
ИМХО, может литературу по Искусственному интеллекту и нейронным сетям?
а можно?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.10.2011, 19:59   #4
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

По опыту могу сказать, что нейронные сети - гавно. Гораздо лучше обощить задачу и програмить линейными методами.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 21.10.2011, 20:07   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Пепел Феникса

Ну, если понравится

Д.В. Введение в искусственный интеллект - конспект лекций. М., 2004. 208 с

Это файл в формате djvu.
После скачивания измениете расширение на djvu

Последний раз редактировалось Вадим Мошев; 21.10.2011 в 20:12.
Вадим Мошев вне форума Ответить с цитированием
Старый 21.10.2011, 20:08   #6
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Нейронные сети - это обработка статистики по случайным данным. Вдумайтесь в это!
Любые аналитические алгоритмы уделуют любую нейронную сеть.
Виталий Желтяков вне форума Ответить с цитированием
Старый 21.10.2011, 22:15   #7
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

1. Это порог активационной функции
2. Хайкин "Нейронные сети полный курс 2е издание", Ясницкий "Введение в искусственный интеллект"
3. Нет, один нейрон способен решать только линейно разделимые задачи, их не много(or, and, not), а вот xor таковой не является, и для ее решения нужен как минимум двухслойный персептрон.
4. matlab(интересный пример использования http://articles.mql4.com/ru/395), неплохой сайт по НС http://www.neuroproject.ru

Цитата:
По опыту могу сказать, что нейронные сети - гавно. Гораздо лучше обощить задачу и програмить линейными методами.
Весь смак нейронных сетей, это возможность параллельно выполнения одновременно всех нейронов в одном слое.


Последний раз редактировалось Kostia; 21.10.2011 в 22:48.
Kostia вне форума Ответить с цитированием
Старый 22.10.2011, 09:13   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Одном журнале есть моя статья с исходниками на Дельфи . Про единицу там тоже сказано
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 22.10.2011, 10:40   #9
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

С единицей думаю и так все понятно. Для того чтобы иметь возможность корректировать не только весовые коэффициенты при обучении, но и порог активационной функции для каждого нейрона, то его представляют как еще один вход в нейрон x0 = +-1 w0 = θ
PS: в НС я самоучка, по началу тоже пытался сразу получить результат, писал кривые программы не понимая самой сути работы нейронов, а теперь как-то даже лень писать программы, хочется больше и больше узнавать о разных типах НС и самому выводить все эти обучающие алгоритмы. Сейчас собираю информацию по ГА, хочу на них повешать задачу обучения НС(минимизация среднеквадратичной ошибки).
Сейчас без труда могу вывести алгоритм обратного распространения ошибки для различных методов безусловной оптимизации(квазиньютоновкие методы, метод сопряженных градиентов, метод градиентного спуска)
Kostia вне форума Ответить с цитированием
Старый 06.07.2012, 11:35   #10
tol64
 
Аватар для tol64
 
Регистрация: 16.03.2010
Сообщений: 6
По умолчанию

Автореферат и диссертация - Управление портфелем ценных бумаг на основе D-оценок Руссмана и нейросетевого моделирования в документах Google:

Автореферат >> http://docs.google.com/open?id=0Bwsn...zZUZDBjWmVEUXc
Диссертация >> http://docs.google.com/open?id=0Bwsn...XpFVHVNWjgxeGs
Мой блог TRADING WAY >> http://tol64.blogspot.com
tol64 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Электронный учебник" на языке дельфи Lukashi Общие вопросы Delphi 18 14.05.2011 12:17
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
"Рисовалка" для локальной сети. Fabio Работа с сетью в Delphi 2 06.01.2009 14:37