Разработка математического и программного обеспечения задач распознавания образов на основе персептрона

УДК 004.5

А. А. Аль-Хашеди, А. А. Обади, Н. К. Нуриев

РАЗРАБОТКА МАТЕМАТИЧЕСКОГО И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЗАДАЧ

РАСПОЗНАВАНИЯ ОБРАЗОВ НА ОСНОВЕ ПЕРСЕПТРОНА

Ключевые слова: математическая модель, распознавания образов, персептрон, нейронная сеть, программное обеспечение,

классификация.

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

Keywords: mathematical model, pattern recognition, perceptron, neural network, software, classification.

The problem of recognition of requests-tasks of communication services is considered, which come from the Webnetwork to the input of the classification system. The solution of the task is solved through solving two problems. In the result of solving the first task classes of communication request-tasks are defined. The solution of the second task allows us to identify requests-task s and assign them to a particular class with a minimum error. The second task is solved with the help of a trained perceptron with a shorter recognition time.

Цель работы

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

Введение

В работе [1] была рассмотрена проблема распознавания экземпляров объектов запросов-задач коммуникационных услуг, которые поступают из сети на вход классификатора. Каждый объект х характеризуется множеством признаков, т.е. для каждого объекта строится информационный вектор х = (хх, ...,х„), где через п обозначено количество признаков. Этот вектор признаков по логике предикатов преобразуется в вектор с булевыми значениями 0 или 1 в зависимости от принадлежности его к какому-то классу I = 1, N. где N — количество классов в предметной области. Так как поступивший экземпляр объекта может иметь общие признаки во многих классах, т.е. согласно признакам, может частично соотноситься тому или иному классу, то появляется необходимость оценить вероятности гипотез принадлежности объекта к определенному классу. С использованием формулы Байеса задача может быть решена и в конечном счете, решение этой задачи позволяет значимо сократить перебор классов при обучении самой системы (классификатора). В данной работе рассматривается задача обучения системы безошибочной классификации объектов с помощью персептрона.

Алгоритм построения искусственных нейронных сетей

Рассмотрим следующую модель (рис.1). На вход нейронной сети подается вектор признаков х =

(х1,^,хп) и при этом каждый нейрон во входном слое (Inputlayer) с номером i соединен со всеми нейронами скрытного слоя (Hiddenlayer) с номерами У и с весами w^. Далее, также каждый нейрон скрытного слоя j соединен со всеми нейронами выходного слоя (Outputlayer) к весами Wjk. Количество нейронов на входе меняется в зависимости от количества признаков объекта. Количество нейронов скрытного слоя меняется в зависимости от характеристик, описывающих объект. В рассматриваемой модели на выходе нейронной сети имеется только 4 выхода в зависимости от количества существующих классов в предметной области . Разумеется, при разбиении классов на подмножество групп классов будут увеличены количество нейронов на выходе, а это приведет к тому, что будут увеличены количество классов.

На выходе сети имеется вектор правильных откликов ji = (t1, - ,tn), где n - количество выходов сети. yi вектор значений, который должен быть получен в последнем слое при поступлении на первый слой сети вектора xt. Цель обучения M-слойной сети состоит в нахождении такого множества весовых матриц W = {wij,Wjk), чтобы среднеквадратичная ошибка неправильной классификации была минимальной [2], т.е. F(Wij,Wjk) = - tj)2 ^ min.

На (рис.2) последовательность процедур алгоритма построения нейронной сети следующая:

1. В блоке 1 вводятся данные обучающей выборки А, т.е. множество входных и выходных векторов, ß - шаг обучения, количество итерации при необходимости, количество скрытных слоев и количество нейронов в каждом слое i,j, к.

2. В блоке 2 подается вектор Xj на сеть, в зависимости от его количества признаков п строятся нейроны в первом слое с значениями признаков вектора х^

3. В блоке 3 при создании каждого нейрона, также строятся от него соединении (весы с

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

4. В блоке 4 в выходном слое строятся нейроны в зависимости от количества признаков I выходного вектора X в обучающей выборке А.

5. После завершения алгоритма построения нейронной сети, начинается алгоритм обучения сети.

Input Layer

x

w . . ч

Hidden Layer

J

Output Layer k

Рис. 1 - Архитектура многослойной нейронной сети

Ввод данных

Блок 1 i, J, k , ju

A = {{xX m },{*!,. X m }}

X t — (xi .

x

Построение нейронов на вход сети, количество нейронов =n

Построение соединении для каждого нейрона

X i — (~1:

X)

Построение нейронов на выход сети, количество нейронов =1

Рис. 2 - Алгоритм построения искусственной

нейронной сети

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

На (рис. 3) следующие процедуры алгоритма:

1. Инициируются начальные значения весовых матриц w;fc.

2. На вход первого слоя сети подается очередной вектор обучающей выборки х. В обычном режиме функционирования вычисляются все значения [3]

пеЬ] = XjWjj для всех нейронов в скрытном слое.

Вычисляется функции активации по формуле sigmoid/(x) = f(netj) =

1+е

вычисляются

-netj = OUtj.

В выходном слое сети

также все

значения

netk =

s(netj)Wjk и вычисляются функции активации

[3]

1

f(netk) =-= outk.

j \ к; i + g-ne ^ К

3. Для последнего слоя вычисляются ошибки для каждого нейрона

Е0к =^(tk- outk)2, где tk — желаемый выход.

4. Для последнего слоя вычисляется значение ошибки 8к по формуле

8к = (tfc — outk)outk(1 — outk), для скрытных слоев по формуле 8} = outj (1 — outj) £fc Skwik .

5. Осуществляется коррекция веса в выходном слое по формуле Awjk = nSkoutk для весов wjk, где — шаг обучения, Wjknew = wjk + Awjk.

6. Аналогично выполняется обратное распространение ошибки для скрытных слоев по формуле Awij = ^SjXi для весов w^, новый вес будет равен wijnew = wy + A wy.

7. Проверяется условие останова стабилизации критерия минимизации [2] F (т.е. Fn = Fn+1) если F стабилизировался, то алгоритм завершает работу, в противном случае - переход к пункту 2.

x

1

x

2

o

1

x

3

o

2

x

4

o

3

x

5

o

4

x

6

n

)

Блок 2

Блок 3

W4k

Блок 4

Иг

Backpropagation

Рис. 3 - Схема алгоритма обратного распространения ошибки

Рис. 4 - Графики результата выполнения алгоритма построения и обучения нейронной сети

Для обучения сети было разработано программное обеспечение для выполнения процедур алгоритма и математических вычислений, также был разработан клиентский интерфейс, через который можно вводить данные: обучающая выборка А, т.е. массив входных и выходных векторов для обучения сети, значение шага обучения 1 > д > 0, количество скрытных слоев, количество нейронов в каждом слое, и также можно задать значение количества итерации. Данные обучающей выборки получили в результате вычисления предикатов в прошлой работе [1], при проверке вероятности принадлежности объекта классам по формуле Байеса, максимальная вероятность к первому классу была равна 0.36 [1], значить ошибка равна 1 — 0.36 = 0.64 а доступная

максимальная ошибка для правильной классификации и принадлежности объекта классу равна 0.00001. При обучении сети ошибка уменьшается и приближается к нулю, чем больше итерации выполняются, тем меньше значения ошибки как видно на (рис.4).

Таблица 1 - Обучающая выборка

Входные векторы Выходные векторы

=

х2 =

х3 =

х4 =

При 1000 итерации для обучения сети, значение ошибки уменьшается, как показано на (рис.4) и приближается к нулю.

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

Заключение

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

© А. А. Аль-Хашеди - асп. каф. Информатики и прикладной математики КНИТУ, alhashedi@mail.ru; А. А. Обади - асп. каф. информатики и прикладной математики КНИТУ, 19fattah86@mail.ru; Н. К. Нуриев - д.п.н., проф., зав. кафедры информатики и прикладной математики КНИТУ, nurievnk@mail.ru.

© A. A. Alhashedi, PhD researcher degree in Kazan National Research Technological University, Department information science and applied mathematics, alhashedi@mail.ru; A. A. Obadi, PhD researcher degree in Kazan National Research Technological University, Department information science and applied mathematics, 19fattah86@mail.ru; N. K. Nuriev- PhD., Professor, Kazan National Research Technological University, Department Chair information science and applied mathematics, nurievnk@mail.ru.

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

Литература

1. Обади А.А., Аль-Хашеди А. А., Нуриев Н.К., Печеный Е.А. Проектирование математической модели и модуля распознавания образов для смарт-обучающей системы. // Вестник технол. ун-та. 2017. Т.20, №8. С. 95-100.

2. Лепский А.Е. Математические методы распознавания образов / А.Е. Лепский, А.Г. Броневич. -Таганрог. :Курс лекций, 2009. - 155 с.

3. Нейронные сети для обработки информации / Пер. с польского И.Д. Рудинского.- М.: финансы и статистика, 2002.-344 с.: ил.