автоматизированных систем




Кафедра программного обеспечения вычислительной техники и

«ОСНОВЫИСКУССТВЕННОГО ИНТЕЛЛЕКТА»

 

 

методические указания к ЛАБОРАТОРНОМУ занятию №5

 

 

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

 

Оренбург 2017

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

 

Обучение персептрона является обучением с учителем.

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

Процедуру обучения персептрона рассмотрим на примере решения задачи классификации образов (рис. 1), на котором представлена общая схема решения задачи.

 

Рис. 1 – Полная система классификации

 

Строки данных из пространства возможных точек выбираются и преобразуются к новому виду в пространстве данных и соответствующих им образов. В этом новом пространстве образов выделяются признаки и определяются сущности, представляемые ими. Например, рассмотрим задачу со звуковыми сигналами, записанными на цифровом устройстве. Эти акустические сигналы трансформируются в амплитудно-частотное представление, а затем система классификации по этим признакам может распознать, кому принадлежит данный голос. Еще одним примером задачи классификации является медицинская диагностика, предполагающая сбор информации с помощью медицинского диагностического оборудования и классификацию симптомов по различным категориям болезней.

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

 

 

Рис.2 - Данные из табл. 1 в двухмерном пространстве

 

В табл. 1, показаны результаты анализа информации, проведенного с помощью персептрона с двумя входами. В первых двух столбцах таблицы содержатся векторы данных, используемые для обучения сети. В третьем столбце представлены ожидаемые результаты классификации, +1 или - 1, используемые для обучения сети. На рис. показаны обучающие данные и линия разделения классов данных, полученных после предъявления обученной сети каждого входного образа.

Таблица 1 - Набор обучающих данных для классификации с помощью

персептрона

 

 

 

Сначала познакомимся с общей теорией классификации. Каждая группа данных, выявленная классификатором, может быть представлена некоторой областью в многомерном пространстве. Каждому классу Ri соответствует дискриминантная функция gi, определяющая степень принадлежности этой области. Среди всех дискриминантных функций для области Ri максимальное значение имеет функция gi:

В простом примере из табл. 3 двухмерные входные векторы делятся на два класса, первому из которых соответствует значение +1, а второму - -1.

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

Если области Ri и Rj являются смежными, как две области на рис.8, то существует пограничная область, для которой дискриминантная функция имеет вид:

.

Если классы линейно разделимы, как на рис. 8, то дискриминантная функция, разделяющая соответствующие области, представляет собой прямую линию, т.е. функции являются линейными. Поскольку прямая - это множество точек, равноудаленных от двух фиксированных точек, то дискриминантные функции - это функции минимального расстояния от декартового центра каждой из областей.

Линейную разделяющую функцию можно вычислить с помощью персептрона содержащего два обычных входа и пороговый вход с постоянным значением 1 (рис. 3).

 

 

Рис.3 – Персептрон для классификации данных из таблицы 3 с кусочно-линейной биполярной пороговой функцией

 

Персептрон выполняет вычисление последующей формуле:

Если = + 1, то х принадлежит одному классу, если = -1 - другому. Такое преобразование называется кусочно-линейной биполярной пороговой функцией (релейный элемент). Пороговый вход служит для смещения пороговой функции вдоль вертикальной оси. Величина этого смещения определяется в процессе обучения с помощью настройки весового коэффициента

Используем данные из табл. 1 для обучения персептрона, показанного на рис. 3.

Инициализируем значения веса случайным образом, например [ 0,75, 0,5, -0,6] и применим алгоритм обучения персептрона. Верхний индекс переменной, в частности 1 в выражении , задает номер текущей итерации алгоритма. Обработка данных начинается с первой строки таблицы:

 

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

Для данного обучающего примера на выходе персептрона ожидается значение – (-1), значит, для настройки весов необходимо применить обучающее правило:

где с - постоянный коэффициент обучения;

Х и W - векторы входов и весовых коэффициентов;

t - номер итерации обучения;

Т - символ транспонирования;

d t-1 - ожидаемый результат в момент времени t-1 (или, как в данном случае, в момент времени t-2).

Выход сети при t=2 равен 1, следовательно, разность между ожидаемым и реальным выходом сети составляет:

.

На самом деле для биполярного персептрона инкремент обучения всегда составляет либо + 2 сХ либо — -2 сХ, где Х - вектор из обучающего множества. Коэффициент скорости обучения - это небольшое вещественное число, наподобие 0,2.

Обновим вектор весовых коэффициентов:

Теперь нужно вычислить выходное значение сети для третьего обучающего примера с учетом настроенных весов:

Это значение снова не совпадает с ожидаемым выходом. На следующей итерации веса W4 обновляются таким образом:

 

После десяти итераций обучения сети персептрона формируется линейное разделение, показанное на рис.2.

Примерно через 500 шагов обучения вектор весовых коэффициентов будет равен (-1,3; -1,1; 10,9).

Нас интересует линейное разделение двух классов. В терминах дискриминантных функций разделяющая поверхность представляет собой множество точек, для которых или ,т.е. уровень активации равен 0. Уравнение функционирования сети можно записать в терминах весов:

Следовательно, линейная разделяющая поверхность между двумя классами определяется линейным уравнением:

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

Дельта-правило

Важное обобщение алгоритма обучения персептрона, называемое дельта-правилом:

δ= Т - А. (1)

где - δ, равна разности между требуемым целевым выходом Т и А реальным выходом.

Интуитивно дельта-правило базируется на использовании понятия поверхности ошибки, рис 10, которая представляет кумулятивную ошибку на всем наборе данных как функцию от весов сети. Каждая возможная конфигурация весов определяет точку поверхности ошибки. Имея определенную конфигурацию весов, с помощью алгоритма обучения можно найти направление этой ошибки. Этот метод называется обучением по методу градиентного спуска, поскольку градиент определяет наклон поверхности в каждой ее точки.

 

 

Рис. 4 – Двухмерная поверхность ошибки. Константа определяет размер шага обучения.

 

С целью обобщения вводится коэффициент “скорости обучения” с (рис.4), который умножается на δхi, что позволяет управлять средней величиной изменения весов.

В алгебраической форме записи:

Di = сd xi,, (2)

wi(n+1)= wi(n) + Di, (3)

где Δi - коррекция, связанная с i-м входом хi;

- wi(n+1) - значение веса i после коррекции;

- wi(n) - значение веса i до коррекции.

Дельта-правило модифицирует веса в соответствии с требуемым и действительным значениями выхода каждой полярности, как для непрерывных, так и для бинарных входов и выходов.

 

 

Задание

1. Изучить алгоритм обучения персептрона.

2. Постановка задачи:

Написать программу моделирующую алгоритм обучения персептрона или реализовать алгоритм обучения персептрона с применением известных приложений (MathCad, Microsoft Excel и др.).

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

 

Моделирование в MathCad

 

 

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: