Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
30 Вопросов ИС.docx
Скачиваний:
35
Добавлен:
01.05.2015
Размер:
4.66 Mб
Скачать

8.2 Модель персептрона

Структура персептрона представлена на рисунке 2.3.

Рис. 2.3. Структура персептрона

Функционирование персептрона можно описать выражением

. (2.3)

Обратим внимание, что формула (2.3) сводится к более обобщенному вы­ражению (2.1) при . Функция f может быть дискретной ступенчатой функцией - биполярной (т.е. принимающей значения -1 или 1) либо униполярной (принимающей значения 0 или 1). В последующих рассуждениях будем предполагать, что функция ак­тивации биполярная и имеет форму

для

для

. (2.4)

В соответствии с функцией акти­вации персептрон может принимать только два различных выходных зна­чения, поэтому он может классифи­цировать сигналы, подаваемые на его вход в виде векторов х ~ [х1 ..., хn]T одному из двух классов. Напри­мер, одновходовый персептрон может распознавать, является входной сигнал положительным или отрицательным. При наличии двух входов персептрон разделяет плоскость на две полуплоскости. Такая декомпозиция задается пря­мой линией, определяемой уравнением

. (2.5)

Уравнение (2.5) можно записать в виде

(2.6)

В общем случае, когда персептрон имеет п входов, он разделяет n - мерное пространство входных векторов х на два полупространства. Эти полупростран­ства отделяются друг от друга (n - 1) - мерной гиперплоскостью, которая называется решающей­ границей (англ. decision boundary) и задается уравнением

. (2.7)

На рисунке 2.4 представлена решающая граница для п = 2. Необходимо отме­тить, что прямая, разделяющая полуплоскости, всегда перпендикулярна век­тору весов w = [w1, w2]T.

Как мы уже отмечали во введении, персептрон можно обучать. В процессе обучения модифицируются веса персептрона. Метод обучения персептрона получил название «обучение с учителем» или «обучение под надзором». Роль учителя заключается в подаче на вход персептрона сигналов x(t)=[x0(f), x1(t), ..., хп(t)]T, t = 1, 2, ..., для которых известны истинные значения выходных сигналов d(t), t = 1,2, …, называемых эталонными сигналами.

Рис. 2.4. Решающая граница для n=2

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

  1. Присвоить начальным весам персептрона случайные значения.

  2. На входы нейрона подать обучающий вектор х = x(t)= [x0(t), x1(t), ..., xn(t)]T, t = 1,2,….

  3. Рассчитать выходное значение персептрона у по формуле (2.3).

  4. Сравнить выходное значение у(t) с эталонным значением d=d(x(t)), содержащимся в обучающей последовательности.

  5. Модифицировать веса следующим образом:

а) если y(x(t)) d(x(t), то wi(t +1) = wi(t)+d(x(t)) xi (t);

б) если y(x(t)) = d(x(t)), то wi(t +1) = wi (t), т.е. значения весов не изме­няются.

6. Перейти к шагу 2.

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

Рис. 2.5. Блок-схема алгоритма обучения персептрона

. Докажем, что алгоритм обучения персептрона сходится. Теорема о схо­димости персептрона формулируется следующим образом:

Если существует набор весов w*=[w1*,...,wn*]T, корректно классифи­цирующий обучающие векторы х=[x1,..., хп]T, т.е. выполняющий отображе­ние у=d(x), то обучающий алгоритм найдет решение за конечное количество итераций при любых начальных значениях вектора весов w.

Предположим, что обучающая выборка представляет линейно сепарабельные классы, поскольку персептрон можно обучить только в этом случае. По­кажем, что существует конечное количество шагов модификации весов, после выполнения которых персептрон будет корректно выполнять отобра­жение у=d(x). Поскольку функция активации персептрона имеет тип «sgn», длина вектора w* может быть произвольной, например, равной 1,т.е. || w*|| = 1. Поэтому в процессе обучения вектор w достаточно модифицировать так, чтобы показанный на рисунке 2.6. угол α был равен 0. Очевидно, в этом случае cos (α) = 1. Из факта, что |w* ° х| > 0 (символ «о» обозначает скалярное произведение векто­ров) и w* является решением, следует существование такой константы δ > 0, для которой |w*° х| > δ при любых векторах х, входящих в обучающую после­довательность

Рис. 2.6. Иллюстрация выполнения алгоритма обучения

персептрона для n=2

Из определения скалярного произведения следует, что

. (2.8)

Поскольку

(2.9)

то

(2.10)

В соответствии с алгоритмом обучения персептрона веса для заданно­го входного вектора х модифицируются согласно формуле w' = w + Δw, где Δw = d(х) х. Мы предполагаем, что на выходе появится ошибка и что коррек­ция весов будет необходима. Заметим, что

ww* = w ° w* +d(x)w*° х, (2.11)

поэтому

w' ° w* = w ° w* + sgn(w*° x)w*° x. (2.12)

Истинны следующие суждения:

а) если w*° х < 0, то sgn(w*° x) = -l, поэтому sgn(w*° x) w*° х= -l(w*° x) >0;

б) если w* ° х > 0,тo sgn(w* ° x) = 1, поэтому sgn(w* ° х) w* ° х = l(w* ° х) > 0.

Следовательно,

sgn(w* ° х) w* ° х = |w*° х|. (2.13)

В соответствии с формулами (2.12) и (2.13) можно записать:

w' ° w* = w ° w* + |w*° х|. (2.14)

Нам также известно, что |w*° х| > δ, поэтому

w' ° w* > w ° w* + δ. (2.15)

Теперь оценим значение ||w'||2, не забывая о том, что мы рассматриваем случай, когда при подаче на вход обучающего вектора х на выходе сети появ­ляется ошибка, т.е.

d(x)=-sgn(w° x). (2.16)

Очевидно, что

||w'||2 =||w + d(x)x||2 ||w|| + 2d(x) w° x +||x||2 . (2.17)

С использованием зависимостей (6.16) и (6.17), а также предполагая ограниченность входных сигналов, получаем

||w'||2 < ||w||2 + ||x||2 = ||w||2 + C. (2.18)

После t шагов модификации весов сети зависимости (6.15) и (6.18) прини­мают вид

w(t) ° w* > w° w* + tδ; (2.19)

||w(t)||2 < ||w||2 + tC. (2.20)

С использованием формул (2.10), (2.19) и (2.20) получаем

(2.21)

Поэтому должны существовать такие значения t = tmax, для которых cos(α) = 1. Следовательно, существует конечное количество шагов модификации весов, после которых вектор начальных весов будет корректно выполнять отобра­жение у = d(x). Если предположить, что начальные значения весов равны 0, то

tmax =С/δ2. (2.22)

Пример 2.1

Рассмотрим пример обучения персептрона. При обсуждении его функци­онирования мы выяснили, что эта двухвходовая модель нейрона делит плос­кость на две полуплоскости (см. рисунок 2.4). Соответственно, если мы размес­тим на плоскости два класса выборок, которые можно разделить при помощи прямой линии, то персептрон в процессе обучения должен найти эту линию. Для нашего испытания начертим эталонную прямую, обозначенную на рисунке 2.7 символом L. Предположим, что все точки плоскости, лежащие над этой прямой, представляют выборки класса 1, а точки, лежащие под прямой L, представ­ляют класс 2. В обеих полуплоскостях расположено бесконечное множество точек, поэтому мы должны отобрать по несколько представителей каждого класса. Мы хотим, чтобы персептрон после обучения формировал на выходе сигнал «1» для выборок из первого класса и сигнал «-1» - для выборок, при­надлежащих второму классу. Применяемая обучающая последовательность представлена в таблице 2.1,

Рис. 2.7. Решающие границы для примера 2.1

Примем следующие начальные значения весов персептрона: w1 = 2, w2 = 2, θ = -4. На основании этих параметров и приведенных ранее данных чертим прямую К, которая показывает разде­ление пространства (решающую гра­ницу), найденную персептроном до начала процесса обучения. После 10 эпох выполнения алгоритма обуче­ния (на входы нейрона 10 раз подава­лись все элементы обучающей вы­борки) персептрон начал корректно классифицировать входные сигналы, несмотря на то что прямая М не совпа­дает с прямой L.

Таблица 2.1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]