роботы
робототехника
микроконтроллеры
Главная
Как сделать робота
Новости
Спорт
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты  


 Страниц (1): [1]   

> Описание: Пара вопросов по работе нейронной сети
Erhaben
Отправлено: 23 Августа, 2014 - 12:57:16
Post Id


Рядовой


Сообщений всего: 2
Дата рег-ции: Авг. 2014  





Приветствую всех на этом форуме.

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

Суть работы сети - на основании даты ( те самые пять входов : день, месяц, год, часы, минуты ) выдавать мне предполагаемую температуру. Сеть учится с учителем.

Обучающую выборку сделал - там данные о погоде с 2005 по 2014 год для моего родного города.

Но из-за недостатка опыта и отсутствия хоть кого-то знающего рядом возник ряд вопросов :

1. Архитектура сети. Если я правильно понимаю, мне следует использовать многослойную линейную сеть т.к. нелинейные нейроны на выходе имеют сигналы либо 0 / 1, либо -1 / +1, в зависимости от того униполярные они или биполярные.
2. Сам принцип выходного сигнала. Видимо я просто не привык мыслить такими категориями. Поясню свое непонимание :
Предположим я решил что в сети будет два слоя. В первом 10 нейронов, во втором 3. Первый слой срыт.
Порядок действий сети :
1. Сигналы поступают на необучающиеся нейроны входного слоя.
2. Каждый нейрон входного слоя шлет эти сигналы на все нейроны скрытого слоя ( связь каждый с каждым ).
3. Каждый нейрон скрытого слоя обрабатывает сигналы и шлет ответ на каждый нейрон выходного слоя.
4. Каждый нейрон выходного слоя обрабатывает сигнал

Я не совсем понимаю принцип. Получается что ответ каждого слоя это грубо говоря массив, состоящий из ответов каждого нейрона. В моем случае, например, ответ скрытого слоя будет массивом из 10 элементов. Как мне грамотно передать это на выходной слой?

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

Буду дико благодарен за любые советы, особенно за ссылку на практическую реализацию подобной задачи.
(Добавление)
Вопрос с ответом сети вроде как отпал после гугления, насколько я понял для получения конкретного значения на выходе нужно просто иметь один нейрон. Т.е. структура сети выходит :
5 ( входной слой ) - 10 ( первый скрытый слой ) - 5 ( второй скрытый слой ) - 1 ( выходной слой, в теории именно он скажет мне температуру ).

Если я правильно понимаю как оно работает выйдет так - ответ первого скрытого слоя будет массивом из 10-ти ( по числу нейронов ) элементов.

Значит у нейронов второго скрытого слоя должно быть десять входов у каждого, верно? Ответ первого скрытого слоя я подаю на каждый нейрон второго скрытого слоя. На выходе имею массив из 5-ти элементов, опять же, по числу нейронов.

Нейрон выходного слоя должен иметь пять входов. На выходе он даст мне цифру, которая будет являться прогнозируемой температурой. Я верно понимаю?
 
 Top
Predator Супермодератор
Отправлено: 23 Августа, 2014 - 15:26:39
Post Id


Супермодератор


Сообщений всего: 1157
Дата рег-ции: Июль 2012  





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

теперь несколько уточнений: у нелинейного нейрона не обязательно выход 0 или 1, это может быть любая функция, которая будет отличаться от y=ax+b, где y- выход, а x-сумма входных воздействий.
Архитектура сети: между слоями есть связи, они соединяют выходы предыдущего слоя с входами следующего, в идеале - каждый с каждым. И собственно весовые коэффициенты этих связей и обучаются.
 
 Top
Erhaben
Отправлено: 23 Августа, 2014 - 17:39:56
Post Id


Рядовой


Сообщений всего: 2
Дата рег-ции: Авг. 2014  





Благодарю за ответ. Насчет нелинейных нейронов не знал, видимо пропустил во время обучения.

Нарисовал ну бумаге как и что должно выйти примерно. Для начала сделаю один нейрон с обучением. Потом допилю чтобы была целая сеть нейронов. Заодно осилю метод обратного распространения ошибки.

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

Еще несколько вопросов - под задачу такого плана лучше использовать линейные или нелинейные нейроны? Является ли хорошей практикой смешивать нейроны разных типов в одной сети? Имеет ли это вообще какой-нибудь практический смысл? Возможно все это глупые вопросы конечно.

(Отредактировано автором: 23 Августа, 2014 - 17:41:04)

 
 Top
Predator Супермодератор
Отправлено: 23 Августа, 2014 - 20:21:25
Post Id


Супермодератор


Сообщений всего: 1157
Дата рег-ции: Июль 2012  





под задачу такого плана- нейроны лучше не использовать, нейронные сети хороши в задачах с огромным количеством входов и нечеткой зависимостью от них выхода.
Смешивать нейроны разных типов.... ну наверное можно, я такого не встречал (хотя я не много нейронных сетей встречал в принципе).
 
 Top
cjA
Отправлено: 13 Ноября, 2014 - 23:51:16
Post Id



Генерал


Сообщений всего: 3291
Дата рег-ции: Янв. 2010  





"нечеткой зависимостью"- он минуты хочет учитывать- куда уж нечетчее, Predator? Помираю со смеху
 
 Top
Страниц (1): [1]
« Алгоритмы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown