Мегаобучалка Главная | О нас | Обратная связь


Алгоритм обучения персептрона



2015-11-27 1921 Обсуждений (0)
Алгоритм обучения персептрона 0.00 из 5.00 0 оценок




 

Для обучения персептронов может быть применено несколько правил. Специально для обучения персептрона предложено правило обучения Ф. Розенблатта [1, 4].

Первоначально веса нейрона принимают нулевые значения или инициируются малыми случайными числами. При обучении одного нейрона без смещения возможны три ситуации.

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

2. Целевое значение , а выход нейрона . Ошибка равна . В этом случае на выходе адаптивного сумматора формируется отрицательная величина , где – вектор весов нейрона, – вектор входа. Выход адаптивного сумматора необходимо скорректировать. Добавим к вектору весов транспонированный вектор входа . Тогда выход адаптивного сумматора изменится на положительную величину : . После нескольких таких шагов выход адаптивного сумматора станет неотрицательным и вектор входа будет классифицироваться правильно. Значения весов при этом изменятся.

3. Целевое значение , а выход нейрона . Ошибка равна . Выход адаптивного сумматора неотрицательный, а должен быть отрицательным. Вычтем из вектора весов транспонированный вектор входа. Тогда выход адаптивного сумматора изменится на отрицательную величину: . После нескольких циклов обучения выход адаптивного сумматора станет отрицательным и вектор входа будет классифицироваться правильно.

Суммируя рассмотренные ситуации, можно сказать, что вектор весов должен корректироваться на величину

,

где – ошибка выхода.

Рассматривая смещение как вес для единичного входа, получим

.

Тогда по правилу Розенблатта для i‑го нейрона вектор‑строка весов корректируется по формуле

,

где – вектор‑строка весов i‑го нейрона на k‑ом цикле обучения; – ошибка нейрона, равная 0, 1 или –1; – транспонированный вектор входов нейрона.

Известно [3], что персептрон, обучаемый по такому алгоритму, независимо от начального состояния весов и последовательности появления примеров всегда придет к достижению решения за конечное число итераций.

В NNT системы MATLAB разделяют понятия обучения и адаптации. В процессе обучения при неизменных весах на вход сети подаются все обучающие примеры и вычисляется усредненная по всем весам ошибка сети. Величина ошибки используется для корректировки весов. Затем снова повторяется цикл обучения, пока ошибка не станет малой. Процедура предъявления сети всего набора обучающих дан­ных называется эпохой (epoch). Такой режим обучения в литературе часто называют пакетным. В процессе адаптации (последовательного режима обучения) в каждом про­ходе (passes) на вход подается один вектор, вычисляется ошибка и корректируются веса.

Известно [1], что последовательный режим обучения персептрона сходится за конечное число циклов для любой задачи классификации с линейно разделяемыми входными векторами. В случае пакетного режима обучения такая сходимость не гарантирована, поэтому для обучения персептрона применяют последовательный режим обучения.

1.3. Создание персептрона[1]

 

Для создания персептрона используется функция net = perceptron, где net—имя сети. Эта функция создает персептрон с функцией активации hardlim и использует функцию обучения learnp, реализующую описанный в подразделе 1.2 алгоритм обучения. Можно создать персептрон с функцией активации hardlims и функцией обучения learnpn, отличающейся от learnpтем, что входной вектор нормируется делением на евклидову норму (см. систему помощи MATLAB).

Параметры персептрона можно увидеть, задав команду

>> net

В объекте netможно увидеть параметры персептрона, например, веса входов:

>>inputweights=net.inputweights{1,1}

inputweights =

Neural Network Weight

delays: 0 % задержка

initFcn: 'initzero'% начальные значения весов

initSettings: (none)

learn: true % индикатор настройки – веса настраиваются

learnFcn: 'learnp' % функция настройки

learnParam: (none) % параметры настройки отсутствуют

size: [0 0] % размер матрицы весов

weightFcn: 'dotprod'%функция взвешивания весов – скалярное

%произведение

weightParam: (none) % данные пользователя

userdata: (your custom info)

 

Русские комментарии добавлены для пояснения. Обратите внимание на нулевой размер матрицы весов.

Информацию о смещениях можно увидеть следующим образом:

>> biases=net.biases{1}

biases =

Neural Network Bias

initFcn: 'initzero'

learn: true

learnFcn: 'learnp'

learnParam: (none)

size: 0

userdata: (your custom info)

Графическое изображение структуры можно просмотреть с помощью функции view(net) — рис. 1.5. На рис. 1.5 показаны нулевые массивы.

 

 

Рис. 1.5. Структура сети

 

Как мы убедились, функция perceptron создает объект с нулевыми массивами. Функция обучения создаст необходимые массивы, но рекомендуется предварительно провести конфигурирование сети с помощью функции net = configure(net,P,T), где PRxQ матрица из Q входных векторов R, TSxQ матрица из Q целевых векторов.

Для дальнейшего моделирования работы персептрона создадим персептрон с одним нейроном с двумя входами. Зададим входной вектор

>> P=[1; 1];

Пусть для этого входного вектора целевое значение равно единице

>> T=1;

Построим сконфигурированную сеть

>> net1 = configure(net,P,T);

Просмотрим структуру сконфигурированной сети (рис. 1.6)

>> view(net1)

 

Рис. 1.6. Структура сконфигурированной сети

 

Теперь на структуре сети отображены реальные размеры массивов.



2015-11-27 1921 Обсуждений (0)
Алгоритм обучения персептрона 0.00 из 5.00 0 оценок









Обсуждение в статье: Алгоритм обучения персептрона

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1921)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)