Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введення до математичної теорії розпізнавання о...doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.68 Mб
Скачать

Алгоритм персептрона

Математическая модель нейрона. В алгоритме персептрона в основу положен принцип действия нейрона. Обобщенная схема нейрона представлена на рисунке. Здесь – компоненты вектора признаков ; – сумматор; – синоптические веса; – функция активации; – порог. Выходом сумматора является величина , которая является входом (аргументом) функции активации. Значение функции активации вычисляется на основе определения знака суммы :

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

Тогда задача построения линейного классификатора для заданного множества прецедентов сводится к задаче обучения нейрона, т.е. подбора соответствующих весов и порога . Обучение состоит в коррекции синоптических весов и порога.

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

Обозначим весовой вектор после -й итерации, а – прецедент, предъявляемый на -й итерации.

Основной шаг алгоритма состоит в предъявлении очередного прецедента :

Если и , то ;

Если и , то ;

Если и , то ;

Если и , то .

На данном рисунке – дискриминантная функция после -го шага алгоритма; – весовой вектор после -го шага алгоритма.

Сходимость алгоритма персептрона.

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

Теорема Новикова. Пусть – бесконечная последовательность векторов из двух непересекающихся замкнутых множеств и ; и пусть существует гиперплоскость, проходящая через начало координат и разделяющая и (не имеет с ними общих точек). Тогда при использовании алгоритма персептрона число коррекций весового вектора конечно.

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

Пусть , в – симметричное к множество; , где – евклидово расстояние. Согласно утверждению 3.3 .

Оценим .

Пусть – единичный вектор нормали, разделяющий и .

Пусть – весовой вектор после предъявления вектора ; – начальная итерация весового вектора . Тогда, если , то коррекции не происходит. Иначе, если , то коррекция:

, т.к. и

Таким образом, к моменту происходит коррекций, то

(3.1)

В начальный момент времени . Если в момент произошла коррекция, то

Если коррекция не происходит, то

Если к моменту произошло коррекций, то

С другой стороны

Поэтому

(3.2)

Из неравенств 3.1 и 3.2 следует:

Таким образом, число коррекций не превосходит .

Оптимизационная интерпретация. Рассмотрим непрерывную кусочно-линейную функцию :

– множество векторов неправильно классифицированных гиперплоскостью . Тогда и . Задача состоит в минимизации этой функции:

Построим минимизацию по схеме градиентного спуска:

Т.к. , то

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

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

Схема Кеслера позволяет применить алгоритм персептрона для решения этой задачи.

Для каждого вектора-прецедента из строим векторов размерности :

и вектор , где – весовой вектор -ой дискриминантной функции.

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

Если относится к классу , то , т.к. и .

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