156 ТРУДЫ БГТУ. 2012. № 6. Физико-математические науки и информатика. С. 156-160
УДК 66:681.3(075.8)
В. Л. Колесников, доктор технических наук, профессор (БГТУ) КЛАССИФИКАЦИЯ ДАННЫХ МЕТОДОМ НЕЙРОННЫХ СЕТЕЙ
В данной статье описан метод обнаружения в отчетных данных ранее неизвестных, нетривиальных знаний и закономерностей, необходимых для принятия решений в различных сферах человеческой деятельности. Сбор информации осуществлен на основе виртуального производственного комплекса. Собранные данные проанализированы методом искусственных нейронных сетей. Определено наполнение классов показателей качества продукции и классов загрязнения окружающей среды.
This article describes a method of detection in the accounting data of unknown, non-trivial knowledge, and patterns needed to make decisions in various spheres of human activity. Collection of information carried by the virtual production complex. The collected data were analyzed using artificial neural networks. Defined content classes of quality of products and classes of environmental pollution.
Введение. В информационной среде активно работающего предприятия накапливаются большие объемы разнообразных сведений: отчетов, сводных таблиц, диаграмм. Обычные отчеты не рассчитаны на поиск неочевидных правил и на извлечение неизвестных закономерностей, т. е. на генерацию новых знаний. Для решения подобных задач предназначена подсистема DataMining (интеллектуальный анализ данных). Эта подсистема включает в себя много методов классификации, кластеризации факторного анализа для обнаружения в сырых данных раннее неизвестных, нетривиальных, практически полезных, доступных для интерпретации знаний (закономерностей), необходимых для при-
нятия решений в различных сферах человеческой деятельности.
Основная часть. Добыча данных осуществлялась на разработанной системной математической модели производственного комплекса утилизации волокнистых отходов [1].
Значения внешних воздействий (независимых переменных) можно задавать с помощью генератора псевдослучайных чисел в заданных диапазонах. Значения зависимых переменных определяются синхронно по математической модели производственного комплекса в соответствии с условиями каждой строки.
Таким образом, получена главная таблица для обработки (11 независимых переменных, 5 -зависимых).
Таблица наблюдений
№ п/п Дебет реки Электролиты в реке Цена энергии Цена речной воды Цена отходов Степень помола Концентрация массы Скорость Расход речной воды Расход полимера Расход волокна Прочность Пластичность Влагопрочность Загрязнение водоема Загрязнение атмосферы
1 6 0,0015 0,07 0,65 50 16,02 0,29 164,26 73 97,88 1279 3,03 329 48,41 572 0,8
2 17 0,0008 0,1 1,2 25 15,62 0,55 111,47 63,57 66,54 1111 4,16 337 33,73 247 0,3
3 23 0,0027 0,09 0,9 25 27,17 0,35 131,88 66,83 50,75 1019 4,11 382 22,5 557 0,7
4 12 0,0006 0,12 1,1 35 19,81 0,4 115,28 40,78 87,68 143 3,92 364 9,2 326 0,7
5 15 0,0005 0,06 1,5 30 36,64 0,4 140,36 38,03 95,82 1267 9,29 274 16,76 271 0,7
6 13 0,0008 0,08 0,35 45 39,98 0,6 126,18 72,29 52,34 1361 9,05 272 27,74 116 0,7
7 11 0,0042 0,15 1,9 55 26,72 0,9 164,43 67,76 54,17 1001 5,04 107 13,61 185 0,7
8 17 0,0025 0,55 1,8 29,17 34,29 1,49 173,97 79,82 51,1 1166 12,99 194 46,4 294 0,5
9 4 0,0017 0,1 0,42 66,87 21,84 1,7 190,06 32,31 91,46 1302 4,97 146 51,69 443 0,8
10 3 0,0042 1,42 1,31 67,4 26,14 1,61 126,03 34,24 70,19 1293 4,6 187 27,51 315 0,7
11 14 0,0048 1,84 0,96 62,16 23,89 0,44 133,78 93,49 84,43 1427 13,26 25 25,35 488 0,4
12 7 0,0002 0,68 0,54 30,39 15,65 1,04 176,01 86,28 81,72 1301 7,83 291 35,57 41 0,6
13 3 0,0023 2,03 1,6 58,51 29,53 1,23 116,17 35,75 79,57 125 7,21 233 34,32 493 0,5
50 14 0,0049 1,28 0,12 58,74 35,15 0,37 121,98 78,25 83,89 146,9 3,56 207 42,13 124 0,5
Нервная система и мозг человека состоят из нейронов, соединенных между собой нервными волокнами. Нервные волокна способны передавать электрические импульсы между нейронами. Все процессы передачи раздражений от нашей кожи, ушей и глаз к мозгу, процессы мышления и управления действиями - все это реализовано в живом организме как передача электрических импульсов между нейронами.
Каждый нейрон имеет отростки нервных волокон двух типов - дендриты, по которым принимаются импульсы, и единственный аксон, по которому нейрон может передавать импульс. Аксон контактирует с дендритами других нейронов через специальные образования -синапсы, которые влияют на силу импульса.
Можно считать, что при прохождении синапса сила импульса меняется в определенное число раз, которая называется весом синапса. Импульсы, поступившие к нейрону одновременно по нескольким дендритам, суммируются. Если суммарный импульс превышает некоторый порог, нейрон возбуждается, формирует собственный импульс и передает его далее по аксону. Важно отметить, что веса синапсов могут изменяться со временем, а значит, меняется и поведение соответствующего нейрона.
Передаточные функции всех нейронов в нейронной сети фиксированы, а веса являются параметрами нейронной сети и могут изменяться. Некоторые входы нейронов могут являться входами нейронной сети, а некоторые выходы -внешними выходами нейронной сети. Подавая любые числа на входы нейронной сети, мы получаем набор чисел на выходах нейронной сети. Таким образом, работа нейронной сети состоит в преобразовании входного вектора в выходной вектор, причем это преобразование задается весами нейронной сети.
Обучить нейронную сеть - значит, сообщить ей то, чего мы от нее добиваемся. Этот процесс очень похож на обучение ребенка. Показав ребенку конкретное изображение, мы просим отыскать его на множестве других картинок. Если ответ неверен, мы сообщаем ребенку тот ответ, который мы хотели бы от него получить. Мы будем повторять процесс предъявления изображений снова и снова до тех пор, когда все будут твердо запомнены. Такой процесс называют «обучение с учителем».
Нейронная сеть, грамотным образом обученная, может с большой вероятностью правильно реагировать на новые, не предъявленные ей ранее данные.
Теоретическое обоснование нейросетевого моделирования базируется на теореме А. Н. Колмогорова, доказавшего, что любую непрерывную многомерную функцию на единичном от-
резке [0; 1] можно представить в виде конечного числа одномерных.
Многие современные нейронные сети сконструированы из формальных нейронов, отдалённо напоминающих свой биологический прототип.
Х1 ^ Х2 —. Хз
-_ -1 Ц) -5 -(} -
хп ™п
Рис. 1. Структура искусственного нейрона
Структура нейрона имеет вид, представленный на рис. 1, со следующими обозначениями:
1) х1, ..., хп - значения, поступающие на входы (синапсы) нейрона;
2) w1, ..., wn - веса синапсов, которые могут быть как тормозящими, так и усиливающими;
3) - взвешенная сумма входных сигналов:
5=2 - т;
(1)
4) Т - порог нейрона (во многих моделях можно обойтись и без него);
5) Р - функция активации нейрона, преобразующая взвешенную сумму в выходной сигнал:
У = Р (5). (2)
Вид функции активации может иметь различное математическое выражение, выбор которого определяется характером решаемых задач. Например, функция активации может быть:
- линейная
У = к5; - пороговая бинарная
у = 81ви(5 ) =
или биполярная
[1, 5 > 0; 0, 5 < 0,
(3)
(4)
У =
1, 5 > 0; -1, 5 < 0;
линейная ограниченная р, 5 >а;
У =
-р, 5 < -а; 5, -а< 5< а;
(5)
1=1
- сигмоидная
У =
1 + е
-05
(6)
где С > 0 - коэффициент ширины сигмоиды по оси абсцисс;
- логистическая
У = е
е( Ь0 +41Я)
(7)
где Ь0 и Ъ\ - эмпирические коэффициенты, определяющие крутизну экспоненты;
- функция гиперболического тангенса
У = Л(с5) =
с5 —с5
е - е
с5 . -с5 е + е
- логарифмическая
У = 1п( 5 + 7 52 +1).
(8)
(9)
Функция усиливает очень слабые сигналы и ослабляет очень сильные;
- радиально-базисная, имеющая вид функции Гаусса
У = е 2с
(10)
где с - среднеквадратичное отклонение нормального распределения, характеризующее ширину функции; 5 в этом случае определяется как расстояние между входным и весовым вектором: 52 = ^ (х - и1 )2.
1
Выбор количества слоев и типа активаци-онной функции влияет на способность сети решать те или иные задачи [2].
В многослойной сети подобные функции отклика комбинируются друг с другом с помощью последовательных линейных комбинаций и применения нелинейных функций активации.
После того как определено число слоев и число элементов в каждом из них, нужно найти значения весовых коэффициентов и порогов для каждого составляющего нейрона, которые бы минимизировали ошибку прогноза, выдаваемого сетью. Для того чтобы оценить, насколько верное решение сделала ИНС, определяется среднеквадратичная ошибка сети как разница между эталонным и выходным вектором.
Обучение многослойного персептрона производится с помощью алгоритма обратного распространения, являющегося модификацией градиентного спуска.
Здесь оказывается очень полезным понятие поверхности ошибок. Поверхность ошибок в нейронных сетях имеет сложное строение и
имеет локальные минимумы, плоские участки, седловые точки и длинные узкие овраги.
Аналитическими средствами в таких условиях найти глобальный минимум невозможно, поэтому процесс обучения ИНС, по сути дела, заключается в исследовании этой поверхности. Отталкиваясь от случайной начальной конфигурации весов и порогов, алгоритм оптимизации начинает передвижение к минимуму, используя на каждом шаге вектор градиента.
Для выходного слоя определение ошибки нейрона , тривиально:
8, = (У, - У*) Р'(5,)
(11)
и напоминает систему поощрений-наказаний, используемую при обучении однослойных сетей. Для каждого предыдущего слоя ошибка определяется рекурсивно через ошибку следующего слоя:
(
8, =
2 8:
Л
и
V ¿=1
(12)
т. е. для каждого ,-го нейрона ошибки следующего слоя как бы распространяются к нему обратно сквозь соответствующие веса. Этот механизм обратного распространения дополнен традиционными для многих градиентных методов оптимизации процедурами оценки вектора кратчайшего спуска, изменения величины шага пропорционально крутизне склона и пр.
Метод Ньютона - Гаусса, в общих чертах, использует матрицу Якоби J производных первого порядка функции Р для нахождения вектора х значений параметра, который минимизирует остаточные суммы квадратов (сумму квадратов невязок предсказанных значений от наблюдаемых).
Функция /(Х), подлежащая минимизации, представляет собой сумму квадратов:
ДХ) = | |Р (Х )||2 = 2 (8* (Х) - ак )2. (13)
к =1
Под Р(Х) имеется в виду вектор-столбец
[ 8к(Х) - ак ]"п=1.
Подобного типа задачи широко распространены и имеют ряд практических применений, особенно при подборе модельной функции. Пусть J(Х) - матрица Якоби для функции Р (Х), т. е.
J (Х) =
д8,(Х) д8,
(14)
1=1, ,=1
где Х из К".
1
2
5
Выбирая некоторое начальное значение х0, последовательные приближения находят следующим образом:
X+1 = X - (3Т (X)3(X)Г 3Т (X)F(X). (15)
Пусть необходимо определить экстремум функции многих переменных f (X): Ят ^ Я. Это равносильно нахождению точки X*: grad [ / ](X*) = 0. Если для решения этой задачи использовать итерационный метод Ньютона (метод касательных), то формула обновления для X] выглядит следующим образом:
= Xj - H"Чi.)grad[f ](X). (16)
Здесь под Н(X) имеется в виду матрица Гесса функции F (X), т. е. матрица вторых производных:
H (x) =
df (x)
ЭХ: ЭХ:
' J
(17)
i =i, j=i
Когда рассматривается задача наименьших квадратов
m
f(X) = 12Z (Ф: (f) - Fi )2 ^ min, (18)
i =1
градиент и матрица Гесса для функции F(X) принимают особый вид
grad [ f ] (X) = JT (X) F (X),
T (19)
H (X) = JT (X) J (X) + Q( X).
Если использовать итерационный процесс Ньютона для минимизации F(X), то формула для обновления X. будет следующая:
п-1
Xj+1 Xj
JT (X) J (X) + ^ F (X) H (X)
i=1
x JT (X) F (X).
(20)
Метод Ньютона - Гаусса строится на предположении о том, что \\3Т(X)3(X) »||б(X)\\, т. е. слагаемое 3Т (X)3(X) доминирует над Q(X). Также такое приближение возможно при условии, что ||2(X)! близко к 0. Это требование не соблюдается, если минимальные невязки велики, т. е. если норма (X)|| сравнима с максимальным собственным значением матрицы Т
3 (X)3(X). В противном случае пренебрегаем Q(X) и получаем итерационную процедуру с формулой для обновления X]+1:
Xj+1 = Xj - (JT (X)J(X))-1 JT (X)F(X).
(21)
В стандартном итерационном методе Ньютона на каждой итерации требуется вычисление и обращение матрицы Гесса, что зачастую является достаточно сложным процессом. В методе Ньютона - Гаусса подобная необходимость отпадает, причем скорость сходимости также может достигать квадратичной, хотя вторые производные и не учитываются.
Поскольку в наших данных отсутствуют отрицательные значения элементов, то в качестве функции активации мы выбрали сигмоид.
На рис. 2 показано диалоговое окно приложения 1МРу8 с выведенной архитектурой полученной нейронной сети - однослойный пер-септрон с четырьмя скрытыми нейронами.
На рис. 3, 4 приведены только некоторые выборочные иллюстрации анализа данных таблицы. В действительности получено и обработано более 100 подобных картинок, которые не поместились в статью, но позволили классифицировать мощности связей независимых переменных для всех пяти оценочных признаков.
Оказалось, что пластичность образует только один класс, который включает дебет реки, цену отходов и расход полимера с доминирующим влиянием последнего.
Рис. 2. Архитектура анализируемой нейронной сети
Рис. 3. График поверхности загрязнения водоема
Рис. 4. График поверхности прочности продукции
Класс прочности более многочислен и включает в себя расход полимера, расход волокна, степень помола, скорость и концентрацию массы, т. е. все технологические параметры, а из экономических - только цену отходов и цену речной воды. Наиболее сильные связи со скоростью и концентрацией массы.
Класс влагопрочности обладает самой сложной структурой, так как один и тот же параметр входит в несколько подклассов с максимальными и минимальными значениями и сам образует несколько подклассов. Главными компонентами класса являются расход полимера и степень помола, а также содержание электролитов в речной воде и цена энергии.
Загрязнение водоема наиболее тесную связь имеет с расходами упрочняющих добавок и дебетом реки.
Самыми мощными связями в классе загрязнения атмосферы обладают расход полимера и содержание электролитов в речной воде.
Заключение. Возможности программного обеспечения системного анализа позволяют
получать трехмерные поверхности зависимых переменных, выстраивать иерархию взаимоотношений между признаками. Применяя метод сечений, устанавливая флажки на соответствующих осях и перемещая ползунки на слайте-рах значений независимых переменных, можно классифицировать многомерные данные производственных процессов.
Отсюда можно выявить слабые места технологии, необходимые объемы инвестиций и составить график реализации программы модернизации.
Литература
1. Колесников, В. Л. Математические основы компьютерного моделирования химико-технологических систем: учеб. пособие для вузов / В. Л. Колесников. - Минск: БГТУ, 2004. -312 с.
2. Колесников, В. Л. Системный анализ производственных процессов в полиграфии / В. Л. Колесников. - Минск: БГТУ, 2011. - 352 с.
Поступила 05.03.2012