- •Введение. Предмет курса, его задачи, структура.
- •Сигналы и их особенности
- •2. Ортогональные преобразования в задачах обработки сигналов и изображений. Основные свойства дискретного преобразования фурье
- •2.1. Ортогональность сигналов
- •2.2. Теорема Парсеваля
- •2.3. Ряд Фурье
- •2.4. Семейство преобразований Фурье
- •2.5. Дискретное преобразование Фурье (дпф)
- •3.1. Теорема свертки
- •3.2. Теорема корреляции
- •3.3. Матричное представление корреляции и свертки
- •3. Матричное представление корреляции и свертки
- •4. Техника быстрого преобразования фурье (бпф) и основные подходы к его реализации
- •5. Аргоритмы формирования ортогональных прямоугольных функций
- •Представление сигналов в виде функций уолша. Алгоритм быстрого преобразования уолша
- •7. Многомерные преобразования для обработки изображений. Простые вейвлеты. Масштабирующие функции и вейвлет – функции. Прямое и обратное вейвлет-преобразование
- •7.1. Обработка стационарных и нестационарных сигналов
- •7.2. Краткий обзор оконного преобразования Фурье
- •7.3. Основные положения вейвлет-анализа
- •8. Алгоритмы для вычисления преобразования хаара
- •8.1. Ортогональные функции Хаара
- •8.2. Быстрое преобразование Хаара
- •9. Стационарные случайные процессы
- •10. Функции спектральной плотности и определения спектров с помощью корреляционных функций
- •11. Определение спектров с помощью фильтрации
- •12. Цифровые методы анализа: оценивание кореляционных функций методом бпф, оценки спектральной плотности мощности и алгоритмы вычисления
- •13. Получение изображения. Основные понятия предварительной обработки изображений
- •14. Основные преобразования изображения
- •15. Основные взаимосвязи между пикселами изображения. Метрические свойства изображения
- •16. Методы пространственной и частотной области применительно к предварительной обработке изображений
- •17. Сегментация изображения посредством выделения границ областей
- •18. Основные свойства двумерного преобразования фурье
- •19. Основы фильтрации в частотной области
- •20. Сжатие данных
- •21. Выбор признаков и распознавание образов. Принцип обучения
- •22. Виды разделяющих функций. Классификатор по минимальному расстоянию
- •23. Структура системы распознавания образов с применением ортогональных преобразований. Принцип обучения в двухклассовой системе распознавания
- •24. Задача трех классов образов по критерию минимального расстояния
- •25. Метод отображения по алгоритму наименьших квадратов
- •26. Классификатор для распознавания трёх классов образов по критерию наименьшего среднеквадратичного расстояния
- •27. Классификатор для распознавания k классов образов по критерию наименьшего среднеквадратного расстояния
- •28. Модель нейронной сети. Обучающий алгоритм для перцептрона
- •29. Искусственные нейронные сети
- •29.1. Общие теоретические сведения
- •29.2. Нейронная сеть хопфилда
- •29.3. Многослойный персептрон
- •29.4. Сеть рбф
- •29.5. Конкурентная нейронная сеть
28. Модель нейронной сети. Обучающий алгоритм для перцептрона
При разбиении на два класса реализация классификатора может быть осуществлена с помощью порогового устройства
Рис. 28.1
Эти две выходные величины(реакции порогового устройства ) обычно обозначаются как 1 и -1 соответственно
Если заданы два
множества образов, принадлежащих
соответственно классам
,
то решение ищется в виде вектора весов
W
, обладающего тем свойством, что для
всех образов класса
выполняется условие
,
а для всех образов класса
- условие
.
Если образы класса
умножить на -1 ,то эквивалентное условие
становится общим для всех образов.
Причём класс устройств, предложенных в начале 80-х годов американским учёным Розенблаттом и называемых перцептронами , представляет естественную и обладающую большими возможностями модель процесса обучения машин.
Основная модель пецептрона, обеспечивающая отнесение образа к одному из заданных классов приведена на рис. 28.2.
Устройство состоит из сетчатки S сенсорных элементов , которые случайным образом соединены с ассоциативными элементами второй сетчатки A . Каждый из элементов второй сетчатки воспроизводит выходной сигнал только в том случае ,если достаточное число сенсорных элементов, соединённых с его входом, находится в возбуждённом состоянии. Сенсорные элементы можно рассматривать в качестве устройств, с помощью которых вся система воспринимает из внешней среды стимулы ,т.е. как некие измерительные устройства ,а ассоциативные элементы –как входную часть системы.
Реакция всей системы пропорциональна сумме взятых с определёнными весами реакций элементов ассоциативной сетчатки .Таким образом, обозначив через xi реакцию i-го ассоциативного элемента и через wi - соответствующий вес ,реакцию системы можно записать как
Если R>0 , значит предъявленный системе образ принадлежит классу , если R<0 ,то образ относится к классу .
Отметим ,что перцептронная модель представляет собой за исключением сенсорной сетчатки не что иное, как реализацию линейной решающей функции.
Схему ,приведённую на рис 28.2, легко распространить на случай разделения на несколько классов посредством увеличения числа реагирующих элементов в R- сетчатке.
Классификация проводится обычным способом: рассматриваются значения реакций R1,R2,…,RM, где M- число классов и образ причисляется к классу ,если Ri>Rj для всех .
Основную модель можно также легко распространить на случай нелинейных решающих функций введением соответствующих нелинейных преобразователей между сетчатками A и R.
Обучающий алгоритм для перцептрона сводится к простой схеме итеративного определения вектора весов W.Дадим краткое определение этой схемы,которую обычно называют алгоритмом перцептрона. Заданы два обучающие множества, представляющие классы и соответственно.
Пусть W(1) начальный вектор весов, который выбирается произвольно. В таком случае k-ый шаг обучения выглядит следующим образом
Если x(k)
и
(k)x(k)
0,
то вектор весов W(k)
заменяется вектором
W(k+1)=W(k)+cx(k),(1) (28.1)
где c-корректирующее приращение
Если
x(k)
и
(k)x(k)
0,
то W(k)
заменяется вектором
W(k+1)=W(k)-cx(k), (28.2)
в противном случае W(k) не изменяется ,т.е.
W(k+1)=W(k)
Иными словами, алгоритм вносит изменения в вектор весов W в том и только том случае ,если образ предъявленный на k-м шаге был при выполнении этого шага неправильно классифицирован с помощью соответствующего вектора весов . Причём корректирующее приращение должно быть положительным .
Очевидно, что алгоритм перцептрона является процедурой типа «подкрепление - наказание» ,причём подкреплением за правильную классификацию образа служит отсутствие наказания .Иными словами, если образ классифицирован правильно, то система подкрепляется тем, что в вектор весов W не вносится никаких изменений.
С другой стороны если образ классифицирован неправильно и произведение (k)x(k) оказывается меньше нуля , когда оно должно быть больше нуля, система наказывается увеличением значения вектора весов W(k) на величину, пропорциональную x(k) .Точно так же, если произведение (k)x(k) оказывается больше нуля , когда оно должно быть меньше нуля, система наказывается противоположным образом.
Сходимость алгоритма наступает при правильной классификации всех образов с помощью некоторого вектора весов. Если заданные классы линейно разделены , то алгоритм перцептрона сходится за конечное число итераций.
Пример: рассмотрим образы представленные на рис. 28.1 и 28.2
Рис.
28.1 Рис. 28.2
Следует применить к этим образам алгоритм перцептрона с тем, чтобы с его помощью определить весовой вектор решения. Осмотр образов показывает, что два заданных класса линейно разделимы и следовательно применение алгоритма окажется успешным.
До начала работы алгоритма пополним все образы. При этом рассматриваемые классы обратятся
: {0 0 1} :{1 0 1}
: {0 1 1} :{1 1 1}
Задав c=1 , W(1)=0 и предъявив образы в указанном выше порядке , получим (по шагам)
W’(1)x(1)=
=0
W(2)=W(1)+x(1)=
W’(2)x(2)=
=1
W(3)=W(2)=
W’(3)x(3)=
=1
W(4)=W(3)-x(3)=
W’(4)x(4)=
=-1
W (5)=W(4)=
В связи с ошибками классификации коррекция вектора весов производилась на 1-м и 3-м в соответствии с формулами (28.1) и (28.2).
Так как получаемый результат можно считать искомым решением только в том случае, когда алгоритм осуществит без ошибок полный цикл итераций по всем образам, обучающее множество следует предъявить ещё раз. Процесс обучения системы продолжается при x5=x1,x6=x2,x7=x3,x8=x4.
Второй цикл итерации приводит к следующим результатам:
W’(5)x(5)=
=0
W(6)=W(5)+x(5)=
W’(6)x(6)=
=1
W(7)=W(6)=
W’(7)x(7)=
=-1+0+1=0
W(8)=W(7)-x(7)=
-
=
W’(8)x(8)=
=-2
W(9)=W(8)=
Поскольку в данном цикле итерации совершено две ошибки, все образы предъявляются ещё раз.
W’(9)x(9)=
=0
W(10)=W(9)+x(9)=
+
=
W’(10)x(10)=
=-2
0+0
1+1
1=1
W(11)=W(10)=
W’(11)x(11)=
=-2
1+0
0+1
1=-1
W(12)=W(11)=
W’(12)x(12)=
=-1
W(13)=W(12)=
Поскольку в данном цикле итераций совершена одна ошибка, все образы предъявляется ещё раз.
W’(13)x(13)=
=1
W(14)=W(13)=
W’(14)x(14)= =1
W(15)=W(14)=
W’(15)x(15)= =-2 1+1 1=-1
W(16)=W(15)=
W’(16)x(16)= =-2 1+1 1=-1
W(17)=W(16)=
Итак за четыре итерации все образы классифицируются правильно. Вектор решения имеет вид
W=
Соответствующей решающей функцией будет
d(x)=-2x1+1
Приравнивание этой функции к нулю даёт уравнение разделяющей границы.
Умножив все образы класса на -1 ,алгоритм перцептрона можно записать как
W(k+1)=
где с-положительное корректирующее приращение.
Обобщающий алгоритм перцептрона
Рассмотрим
M
классов
.
Пусть на k-ой итерации процедуры обучения системе предъявляется образ x(k) , принадлежащий классу .Вычисляются значения M решающих функций
dj[x(k)]=Wj’(k)x(k); j=1,2,…,M.
Затем если выполняются условия
di[x(k)]>
dj[x(k)],
j=
i
j
то векторы весов не изменяются, т.е.
Wj(k+1)=Wj(k),
Допустим с другой стороны , что для некоторого l
di[x(k)] dl[x(k)]
В этом случае производятся следующие коррекции весов
Wi(k+1)=Wi(k)+cx(k
Wl(k+1)=Wl(k)-cx(k)
Wj(k+1)=Wj(k)
j=1,2,…,M; j i;j l
где с-положительная константа.
Если при рассмотрении этого случая классы разделимы, то этот алгоритм сходится за конечное число итераций при произвольных начальных векторах Wi (1).
