УДК 681
НЕЙРОСЕТЕВАЯ КАСКАДНАЯ ФИЛЬТРАЦИЯ МНОГОМЕРНЫХ ДАННЫХ
Гильфанов Артур Фаридович, студент, Федеральное государственное бюджетное образовательное учреждение высшего образования «Казанский национальный исследовательский технический университет им. А. Н. Туполева - КАИ», Казань, РФ
В данной статье рассмотрен метод покаскадной фильтрации данных с использованием нейронной сети Кохонена. Предложено разработать программу, реализующую данную фильтрацию. Проведён краткий анализ продуктов по работе с нейросетями, приводится алгоритм, согласно которому работает сеть Кохонена в разработанной программе.
Ключевые слова: нейронные сети; сеть Кохонена; кластеризация; программное обеспечение.
ARTIFICIAL NEURAL NETWORK CASCADING OF MULTIDIMENSIONAL DATA
Gil'fanov Artur Faridovich, student, Federal State Budgetary Educational Institution of Higher Education «Kazan National Research Technical University named after A. N. Tupolev - KAI», Kazan, Russia
In this article, a method for cascading data filtering using the Kohonen neural network is considered. It is proposed to develop a program that implements this filtration. A brief analysis of the products for working with self organised neural networks was carried out, an algorithm is given, according to which the Kohonen network operates in the developed program. Keywords: neural networks; Kohonen network; cluster formation; software.
Введение
В настоящее время мы всё чаще сталкиваемся с понятием искусственных нейронных сетей. Естественной аналог доказывает, что множество проблем, не поддающихся решению традиционными компьютерами, могут быть эффективно решены с помощью нейросетей [1]. Нейронные сети нашли своё применение для решения широкого спектра практических задач, среди них задачи классификации образов, задачи прогнозирования, оптимизации, а также для решения задач кластеризации. Кластеризация может использоваться для изучения данных, облегчения анализа, прогнозирования, обнаружения аномалий исследуемых объектов, а сама кластеризация производится с помощью сетей Кохонена [2]. Построению программных моделей сети Кохонена для решения задач кластеризации посвящено 74
немало статей, целью же данной работы была реализация нейросетевого каскада из сетей Кохонена.
Нейросетевая каскадная фильтрация данных
Следует рассмотреть ситуацию, где может возникнуть потребность в использовании такого рода математического аппарата. К примеру, нам необходимо определить, какой тип физической активности преобладает в определенные промежутки времени, т. е. необходимо разбить наборы данных о «параметрах организма» (скорость передвижения, пульс, частота дыхательных движений и др.) на кластеры: сон, чтение, ходьба, бег, передвижение на велосипеде, передвижение на транспорте. Для кластеризации используется сеть Ко-хонена, однако в процессе кластеризации выясняется, что данные, например, о сне и чтении попадают в один и тот же кластер,
так как очень мало отличаются между собой. Также в один и тот же кластер попадают, например, велопрогулки и передвижение на транспорте. Вместо ожидаемых
6 кластеров, только 4. Естественно, мы пытаемся искусственно «измельчить» кластеры, чтобы отделить сон от книг, и для этого принудительно задаем разбиение на
7 кластеров. Но тогда может возникнуть случай, когда бег начинает «дробиться»
- часть данных попадает в один кластер с ходьбой (медленный бег), а часть - в один кластер с велопрогулками (быстрый бег). Получается, что для разделения, скажем, бега от сна нужен фильтр с «крупными ячейками», то есть «грубая» сеть Кохо-нена, с малым числом кластеров. А для отделения сна от книг - «мелкие ячейки»
- сеть Кохонена с большим числом кластеров, с «тонкой» настройкой.
Предлагается следующий подход: сначала строится «грубая» сеть Кохонена, с разбиением на малое число кластеров. Для «смешанных» кластеров строятся отдельные, дополнительные сети Кохоне-на с числом кластеров, на которое нужно «помельчить» смешанные данные. Таким образом, у нас получится как бы каскад, набор «просеивающих» сетей Кохонена. При желании, если в новые «тонкие» кластеры снова попадают смешанные дан-
ные, то каскад из сетей Кохонена можно продолжить (рис. 1).
Для построения и анализа самоорганизующихся карт Кохонена уже существуют такие программные пакеты как Deductor Studio, Excel Neural Package, Statistica и др. Однако у каждого из этих решений имеются недостатки. Так, пакет Excel Neural Package хоть и обладает интуитивно понятным интерфейсом и функциональными возможностями для анализа самоорганизующихся карт Кохонена, требует наличие офисного приложения Microsoft Excel 97, т. е. несовместим с современными версиями. Пакет Deductor Studio и Statistica в свою очередь имеют широкий функционал, который может быть избыточным и непонятным для пользователя. Кроме того, такие программы имеют ограниченный функционал в бесплатной версии, либо имеют ознакомительную версию, ограниченную по времени.
На данный момент в разработке находится программа, реализующая каскадную кластеризацию многомерных данных на основе сетей Кохонена. Алгоритм функционирования сети Кохонена:
1. Инициализация весов Кохонена небольшими случайными значениями;
2. Предъявление сети очередного входного вектора. При его отсутствии пе-
Рис. 1. Каскад из сетей Кохонена
реход к шагу 6;
3. Вычисление расстояния до всех нейронов сети:
(1)
7=1
где х - г-ый элемент входного сигнала в момент времени t, wi.(t) - вес связи от г-го элемента входного сигнала к нейрону у в момент времени ^
4. Определение нейрона-победителя V, т. е. нейрона у для которого расстояние
посчитанное по формуле (1) минимальное;
5. Корректировка весов нейрона-победителя и его соседей по правилу Кохонена (2), с использованием функцией соседства.
ш •(/ + !) = ш •(/) +
У 4 7 У
,
(2)
где п(0 - скорость обучения, функция которая уменьшается с течением времени
(3), а - - функция соседства нейронов, равна единице для нейрона-победителя с индексом V и постепенно уменьшается с расстоянием, например, по закону, описанному формулой (4)
где А и В - это константы. Применение этой
У Сеть Кохонена
Сеть Тестирование Кластеры Паоаметоы обучетя
функции приводит к тому, что все вектора из обучающей выборки вносят примерно равный вклад в результат обучения [3].
Л(|у-Г|) = ехр
V
1-У
стЦ)2
■ 2>
(4)
где - монотонно убывающая функция, функциональная зависимость для неё может быть описана формулой (5)
(7(0 =
1 +
г
т
(5)
где t - номер текущей итерации, Т - максимальное число итераций алгоритма обучения.
6. Повторение пунктов 2...5 до тех пор, пока не будет предъявлен последний входной вектор. Исходное множество будет разбито на кластеры. Для дополнительной кластеризации необходимо выбрать один из кластеров, т. е. попавшие в него данные, для которых шаги алгоритма повторяться вновь.
При работе с программой пользователю необходимо выбрать файл, содержащий «обучающие» данные, указать количество кластеров на которое будет разбиваться исходное множество и количество итераций для обучения сети. Подтвердить выбор, нажав кнопку «Обучить сеть» (рис. 2).
Для кластеризации данных пользовате-
Выборка для обучения |Р:\KnhonenМагоНа -тайе^КсЬолелНечто.Рноигсез'Тгасги>дРа1 ах!та
Коптество кластеров |6 ¡^ Количество итераций |1ИВ ^ Вь>боЕка лля обучения
Обучить I
Рис. 2. Выбор данных для обучения сети
Сеть Кохонена
Обучение Сеть Тестирование Кластеры Параметры кластеризации
Выборка для кластеризации D : \Kohonen Neuro Net-master\Kobonen Neuro Net. Resources \Testirtg Data sx
Выбрать файл
Кластеризовать
Выборка дл я кластеризации
№ Название Уставной капитал Выкупленные акции Эмиссия Резервный капитал Резервная переоценка активов втом числе недвижимости в том актив
о ТЕРРА БАНК 57141 0 0 7139 5866 5866 0
1 "АВТОКРАЗБА... 80000 0 1525 14122 91Э4 9194 0
2 "ЛЬВГС" 100305 0 230 9936 38137 38137 0
3 "УКРАГНСЬКИЙ... 60000 0 0 7755 27805 27805 0
4 "ЮНЕКС" 292000 0 4161 652 25420 25420 0
5 "ГЛОБУС" 160000 0 0 2942 0 0 0
6 1НПР0МБАНК 43648 0 0 36166 31116 31110 0
7 МЕТАБАНК 19551 0 1612 77175 5086 4569 0
8 АГРАРНИЙ КО... 93112 0 1 10878 13842 13842 0
9 К0М1НВЕСТБАНК 80000 0 0 8979 2221 2221 0
10 АРТЕМ-БАНК 69000 0 0 11494 0 0 0
11 "ТК КРЕДИТ' 101829 0 5 14286 1033 812 0
12 СИГМАБАНК 136000 0 0 3595 0 0 0
< >
Рис. 3. Выбор данных для кластеризации
"з1 Сеть Кохонена
Обучение Сеть Тестирование Кластеры Кластеры
В Нейронная сеть В 0(80) В 0(75)
1(0) 2(0) ИВэ]
4(48) 5(1) 1-6(1) 1(5)
Элементы кластера
№ Название Уставной капитал Выкупленные акции Эмиссия А
0 ТЕРРА БАНК 57141 0 0
1 "АВТОКРАЗБА... 80000 0 1525
2 "ЛЬВ1В" 100305 0 230
3 "УКРАГНСЬКИЙ... 60000 0 0
6 1НПРОМБАНК 43648 0 0
7 МЕТАБАНК 19551 0 1612
8 АГРАРНИЙ КО... 93112 0 1
9 КОМ1НВЕСТБАНК 80000 0 0
10 АРТЕМ-БАНК 69000 0 0
13 СТАРО КИ1ВСЬК... 30210 0 0
14 "ТРАСТ-КАП1ТА... 33250 0 0
16 М1ЖНАРОДНИ... 75750 0 0
18 "НОВИЙ" 55000 0 0
20 "ГРАНТ" 60000 0 0
22 БАНК НАЦЮНА... 58085 0 0
23 ЧОРНОМОРСЬ... 47107 0 0
ол "мпргктий" CIMC1 п п
< >
Рис. 4. Каскад из сетей Кохонена
лю необходимо указать путь к файлу с кластеризуемыми данными, нажать на кнопку «Кластеризовать» (рис. 3).
В результате пользователь получает информацию о кластерах и элементах, попавших в каждый из кластеров каждого уровня (рис. 4). Получившийся каскад сетей можно сохранить и на его основе кла-стеризовывать новые данные, но уже без предъявления «обучающих данных».
Заключение
В работе предложен метод многоуровневой фильтрации данных, основанный на применении нейронных сетей Кохонена. Результатом разработки является программное приложение, реализующее каскадную фильтрацию многомерных данных. Полученный инструмент может быть использован для кластеризации новых данных с целью их дальнейшего анализа.
СПИСОК ЛИТЕРАТУРЫ
1. Новикова С. В. Специальные разделы теории принятия решений : лаб. практикум. - Казань : Изд-во КГТУ им. А. Н. Туполева, 2009. - 39 с.
2. Горбаченко В. И. Сети и карты Кохонена [Электронный ресурс]. - Режим доступа: http:// gorbachenko.self-organization.ru/index.html.
3. Самоорганизующиеся карты - математический аппарат [Электронный ресурс]. - Режим доступа: http://basegroup.ru/community/articles/som.
REFERENCES
1. Novikova S. V. Spetsial'nye razdely teorii prinyatiya resheniy : lab. praktikum. - Kazan' : Izd-vo KGTU im. A. N. Tupoleva, 2009. - 39 s.
2. Gorbachenko V. I. Seti i karty Kokhonena [Elektronnyy resurs]. - Rezhim dostupa: http:// gorbachenko.self-organization.ru/index.html.
3. Samoorganizuyushchiesya karty - matematicheskiy apparat [Elektronnyy resurs]. - Rezhim dostupa: http://basegroup.ru/community/articles/som.
Материал поступил в редакцию 27.05.2017 © Гильфанов А. Ф., 2017