Нейросетевая кластеризация узлов беспроводной сенсорной сети
Ключевые слова: беспроводная сенсорная сеть, нейронная сеть, самоорганизующаяся карта Кохонена, кластеризация, моделирование.
Представлен анализ возможностей кластеризации узлов беспроводной сенсорной сети (БСС) с помощью нейронной сети — самоорганизующейся карты Кохонена (СКК). В ходе исследования построена модель БСС, которая основана на таких параметрах как координаты узлов, либо уровень сигнала между ними. В перспективе возможно использовать также уровень остаточной энергии. Синтезирована модель СКК с параметрами, адекватными для кластеризации узлов БСС. Для произведения экспериментов, модели реализованы в виде программного обеспечения, позволяющего располагать узлы БСС в двухмерном пространстве с учетом радиуса мощности их приемопередатчиков, а также применять для кластеризации СКК. В результате выявлено, что СКК эффективна для кластеризации узлов БСС. При этом ее эффективность зависит от формы представления входных данных. Кластеризация узлов БСС с помощью СКК сети является эффективным направлением, поскольку при кластеризации можно задать множество входных параметров, а СКК в свою очередь позволяет проецировать многомерные входные данные на двумерную решетку—карту Кохонена. Последняя, информативно описывает распределение кластеров БСС в пространстве. СКК показала свою эффективность в случае кластеризации по матрице мощностей.
Махров С.С.,
аспирант МТУСИ, SlavaM4@yandex.ru
Введение
В результате проведенного анализа, представленного в работе [1], можно сделать вывод, что многоинтервальная иерархическая модель связности узлов является наиболее эффективной для построения топологии БСС. Данная модель позволяет увеличить время жизни всей сети благодаря оптимальной маршрутизации пакетов между узлами.
Согласно этой модели, вся сеть делится на кластеры, во главе каждого из которых выбирается главный кластерный узел (ГКУ), на который передаются данные с остальных узлов кластера. Далее, агрегированные данные ГКУ передают на базовую станцию (БС) напрямую или опосредованно через соседние ГКУ, используемые в качестве ретрансляторов.
Кластеризация узлов, в свою очередь, является задачей, от успешного решения которой зависит эффективность работы всей сети. Если узлы будут неправильно кластеризованы, то они не смогут передавать данные в рамках своего кластера, поскольку другие узлы будут вне досягаемости мощности приемопередатчиков. Соответственно, необходим механизм, который позволит производить кластеризацию узлов оптимальным образом.
Обязательным условием для кластеризации является наличие критериев, в соответствии с которыми она будет производиться. Для кластеризации узлов БСС возможно использовать следующие критерии:
• уровень мощности узлов по отношению к остальным узлам;
• географические или относительные координаты;
• уровень остаточной энергии.
Следующей немаловажной задачей, без которой невозможна кластеризация — это определение количества кластеров, которое для одних и тех же данных может быть совершенно разным. Проблема определения числа кластеров является одной из основных нерешенных до настоящего времени задач кластерного анализа [2]. Существуют лишь формальные подходы, при этом, чтобы эффективно определить количество кластеров, необходимо учитывать специфику предметной области, в рамках которой необходимо кластеризовать элементы.
Среди таких формальных подходов можно выделить ряд алгоритмов: вар-подход, С-Меапэ и Х-Меапэ. Но данные алгоритмы предполагают повторное выполнение кластеризации с последующей оценкой качества полученной кластерной структуры [3]. Повторное выполнение кластеризации производится, поскольку, указанные алгоритмы сами являются алгоритмами кластеризации, которые выполняют разведывательную функцию - экспериментальное выделение кластеров и вместе с тем, соответственно, определение количества кластеров. Далее, после применения таких алгоритмов, производится уже окончательная кластеризация с помощью алгоритмов кластеризации. В результате, применение таких методов требует значительных вычислительных затрат для решения этой задачи.
Таким образом, кластеризация в предложенной модели топологии БСС является основным структурным элементом для произведения самоорганизации сети.
Одним из эффективных инструментов кластеризации является нейронная сеть. Нейронные сети обладают рядом преимуществ:
• массовый параллелизм;
• распределённое представление информации и вычисления;
• способность к обучению и обобщению;
• адаптивность;
• свойство контекстуальной обработки информации;
• устойчивость к ошибкам.
Для кластеризации БСС была выбрана нейронная сеть Кохонена, которая позволяет представить многомерные входные данные, характеризующие беспроводные узлы, в виде двумерной или трехмерной карты Кохонена.
Цель и методы исследования
Целью данной работы является исследование возможности самоорганизации БСС посредством нейронной сети -самоорганизующейся карты Кохонена (СКК).
Дня достижения цели были поставлены следующие задачи:
• Изучение математического аппарата кластеризации СКК;
• Выявление эффективных критериев кластеризации БСС;
• Интеграция БСС с СКК;
• Произведение компьютерного моделирования кластеризации БСС с помощью СКК.
Описание математического аппарата
Основой математического аппарата нейронной сели Кохонена, как и других нейронных сетей, является подстройка весов нейронов, путем вычисления Евклидова расстояния (возможен выбор также другой метрики) между векторами весов нейросети и входным вектором. В нейросети Кохонена в отличие от других используется соревновательный механизм обучения и после прохождения входного вектора через сеть, на её выходе ненулевой уровень сигнала имеет лишь один выходной нейрон — нейрон-победитель. Этот нейрон определяет кластер, к которому в результате, относится входной вектор.
Одну из ключевых ролей в математическом аппарате сети Кохонена играет функция соседства и коэффициент скорости обучения. Функция соседства (neighborhood function) позволяет при подстройке весов нейрона-победителя влиять также на веса соседних нейронов в некоторой окрестности вектора. Данная окрестность, которую образует вокруг себя нейрон-победитель, называется радиусом обучения (learning radius). При этом, радиус обучения максимален на первой итерации и уменьшается по мере увеличения числа итераций. В результате в конце обучения на i-ом векторе, происходит подстройка только весов нейрона победителя. Коэффициент скорости обучения позволяет управлять скоростью обучения сети Кохонена. На начальных итерациях, когда веса нейронов далеки от оптимальных, скорость обучения достаточно высока, в результате чего происходит 1рубая подстройка весов. По мере увеличения количества итераций, скорость обучения замедляется, а подстройка весов становится точнее [6]. Более подробно математический аппарат описан в алгоритме обучения, который будет описан далее в данной статье.
Определение эффективных критериев кластеризации
В ходе произведенных опытов, путем компьютерного моделирования, было выявлено, что эффективнее всего производить кластеризацию БСС с помощью СКК по такому критерию как географические координаты узлов, поскольку они наиболее полно позволяют представить вектора узлов. СКК в свою очередь, как было описано ранее, производит кластеризацию на основании отличия (расстояния) векторов друг от друга. При наличии координат х, у (возможно использования также z), она эффективно может выделить кластеры в БСС.
С практической точки зрения использование в качестве критерия географических координат узлов неэффективно, в виду следующих обстоятельств:
• повышение себестоимости узла сети за счет СР8-модуля;
• при определенных условиях сигнал может не доходить до приемника, или приходить со значительными искажениями или задержками;
• зависимость условий получения сигнала от мини-
стерства обороны США [7].
Соответственно, более эффективным критерием было бы использование уровней мощности узлов по отношению к другим узлам, поскольку он имеет ряд значительных преимуществ:
• не требует аппаратной интеграции в БСС;
• не зависит от связи со спутниками;
• позволяет узнать фактическое наличие канала и
уровня мощности этого канала между узлами.
Таким образом, в качестве входных данных можно использовать уровни мощности сигналов узлов по отношению друг к другу, или другими словами - энергетической видимости узлов. Данные о видимости узлов можно наглядно представить в виде неориентированного графа, где в процентах будет отображена мощность между всеми узлами сети. Пример такого графа представлен на рис. 1.
80%
Рис. 1. Граф мощностей
Запишем данный граф в виде матрицы мощностей (видимостей) узлов:
Р =
60
80
0
О
60
оо
65
О
О
80
65
оо
0
О
0 0
0 0
0 0
оо 85
85 оо
В результате, мы представили каждый из 5 узлов БСС в виде 5-мерного вектора, компонентами которого являются уровни видимости узлов.
Кластеризация матрицы мощностей невыполнима с помощью алгоритмов кластеризации графов (например, алгоритм кластеризации Маркова / Markov’s clustering algorithm / MCL), поскольку они ориентированы на классическое представления графа в виде матрицы расстояний. Здесь же имеет место быть неопределенность в расстоянии между узлами, обозначенная в матрице символом бесконечности оо.
Подготовка входных данных
и инициализация сети Кохонена
Является необходимым произвести нормализацию векторов для того, чтобы с ним корректно могла оперировать нейронная сеть. Нормализацию, соответственно будем производить по формуле:
„ _ р , гдеп.,„. =100.
иткм г мах
Ршх
На примере предыдущей матрицы, получим:
I 0.6 0.8 0 0
0.6 1 0.65 0 0
0.8 0.65 1 0 0
0 0 0 1 0.85
0 0 0 0.85 1
Определим количество кластеров, на которые будет разделена сеть на основании полученной матрицы.
Вычислим среднюю плотность распределения мощности сети, то есть число узлов, которое в среднем видит каждый узел сети по следующей формуле:
N
1а
Рена - ’
где р - число видимых узлов для /-го узла, N - количество узлов сети.
Число кластеров найдем но формуле:
Рсгы
Зададим параметры сети Кохонена:
• Количество входных нейронов N будет равняться количеству узлов БСС;
• Количество нейронов слоя Кохонена (выходных нейронов) будет равняться количеству кластеров К, которое мы определили ранее;
• Инициализируем веса нейронов случайными числами в диапазоне от 0,0 до 1,0;
• Для каждого нейрона введем такой параметр как потенциал.
Для обучения сети по алгоритму Кохонена характерна проблема "мертвых" нейронов, которая состоит в том, что одним из ограничений конкурирующего слоя - слоя Кохонена является то, что ряд нейронов остается незадействован-ными. Нейроны никогда не выигрывают в конкурирующем слое, поскольку их вектора значительно отличаются от векторов обучения, что инвариантно к длительности обучения. В результате, такие нейроны никогда не становятся победителями. Это приводит к тому, что входные данные будут интерпретироваться меньшим числом классов и нейронов, соответственно. Погрешность квантования при этом возрастает. Следовательно, таким "мертвым" нейронам необходимо дать шанс выиграть. Для этого в алгоритм обучения добавляют такой параметр для каждого нейрона как потенциал. При инициализации сети нейронам присваивается потенциал = , где п - число нейронов кластеров, где / - ну-
' п
левая итерация обучения (этап инициализации).
При этом, вводится также понятие минимального потенциала рт.т. Если значение потенциала /-го нейрона слоя Кохонена р становится меньше минимального ртт, то данный нейрон Кохонена исключается из рассмотрения — "отдыхает". Для значений, которыми возможно инициализировать ртт характерны следующие закономерности:
• при ртт = 0 нейроны не исключаются из борьбы;
• при ртт = 1 нейроны побеждают по очереди, так как в каждом цикле обучения только один из них готов к борьбе.
На практике хороший результат получается при Л*-0,75 [6].
Соответственно, проинициализируем потенциал р для
каждого нейрона слоя Кохонена равным р, ® 0,75 • Далее, на
каждой итерации в будем пересчитывать потенциалы нейронов слоя Кохонена согласно формуле (2), которая будет приведена далее в статье.
Подготовка обучающей выборки
Подготовим обучающую выборку, с помощью которой обучим сеть Кохонена выделять кластеры в данных об узлах сети. Каждый узел сети описывает вектор видимости. Из матрицы Р стохастически выберем количество /. векторов обучающей выборки согласно правилу, которое было экспериментально выведено в результате исследований и изучения работы нейросети Кохонена нри выделении кластеров в БСС:
если 2К <= N, то Ь = 2К, иначе /. = К ?
где К — количество кластеров, N - число узлов (входных нейронов), I - размер обучающей выборки.
Алгоритм обучения нейронной сети Кохонена
Рассмотрим алгоритм обучения сети Кохонена согласно [4, 5] с настроенными коэффициентами функций, используемый для кластеризации узлов БСС по матрице нормализованным значениям векторов матрицы мощностей.
Обучение состоит из двух циклов:
• внешнего - на каждой итерации происходи! исполнение внутреннего цикла по всем обучающим векторам;
• внутреннего - происходит перебор каждого обучающего вектора Е1...Е1,.
Внешний цикл - это основной цикл, которые будет продолжаться до тех пор, пока веса нейронов изменяются. Будем считать, что изменения весов нейронов прекратились, как только веса нейронов предыдущей итерации основного цикла равны весам текущей итерации основного цикла с точностью е = 0,0001 ■
Внутренний цикл по всем обучающим векторам Е|...Е|:
1) Определяем нейрон-победитель для рассматриваемого на текущей операции обучающего вектора. Нейроном-победителем будет тот нейрон, вектор весов которого в наименьшей степени отличается от вектора весов обучающего вектора. То есть, расстояние между их векторами весов должно быть минимально. В качестве метрики используем Евклидово расстояние, которое вычисляем по формуле (1):
0)
2) После определения нейрона победителя, подстраиваем потенциалы нейронов по формуле (2):
РІ-Ртт* I = У. где р' - потенциал /-го нейрона, 7 - номер нейрона победителя, / - номер итерации обучения, п - число выходных нейронов (нейронов слоя Кохонена).
Заключение
Известно, что нейронная сеть позволяет эффективно производить кластеризацию объектов на основании такого критерия как географические координаты. Но географические координаты не всегда могут дать точное представление о реальной связности узлов - их энергетической видимости. Следовательно, эффективно использовать такой критерий кластеризация как энергетическая видимость, на основании которого в качестве аналитического представления в данной работе составлялась магричное представление - матрица мощностей.
Понятие матрицы мощностей схоже с понятием матрицы расстояний. Большинство алгоритмов кластеризации не подходят для кластеризации матрицы расстояний. Это объясняется тем, что в случае с графом, необходимо учитывать вершины графа и все связи. В то же время существует не так много алгоритмов, позволяющих производить кластеризацию по графу. Одним из наиболее известных является алгоритм кластеризации Маркова. Поэтому большинство алгоритмов кластеризации не подходят для данной задачи.
В случае использования матрицы мощностей, алгоритмы кластеризации графов уже не подходят для этой задачи, поскольку в данном типе аналитического представление используется иное представление графа, где имеет место неопределенность расстояния между отдельными его вершинами.
В результате проведенных исследований, экспериментальным путем было выяснено, что нейронная сеть - СКК является эффективным методом кластеризации матрицы мощностей, которая в свою очередь отражает фактическую энергетическую видимость всех узлов сети по отношению друг к другу. В большинстве случаев были получены корректные результаты кластеризации, которые становились качественнее по мере того, плотность узлов возрастала. Для более точной кластеризации, следует продолжить исследования в направлении подстройки параметров функции соседства СКК, а также пост-обработки нормализованных данных, которые подаются на вход СКК.
Одно важное явление, касающееся формирования обучающей выборки также необходимо отметить. Согласно изначальной версии алгоритма Кохонена [5], обучающая выборка может формироваться из реальных данных, путем случайного выбора некоторого числа обучающих векторов. Но при таком стохастичном подходе в обучающую выборку могут не попасть данные из некоторых кластеров, которые существуют. Следовательно, эффективнее обучать нейронную сеть на всем наборе реальных данных об узлах сети.
Литература
1. Махров С.С. Исследование связности узлов в иерархических протоколах беспроводных сенсорных сетей. Фундаментальные проблемы ра-диоэлектронного приборостроения / Материалы Международной научно-технической конференции «INTERMATIC-2013», 2-6 декабря 2013 г., Москва / Под ред . акаде-мика РАН А.С. Сигова. - М.: Энергоатомиздат, 2013, часть 4. - С.118-123.
2. Яцкив И., Гусарова Л. Методы определение количества кластеров при классификации без обучения. Transport and Communication. Vol.4, №1, 2003. - C.23-28.
3. Болдак А.А., Сухарев Д.Л. Определение количества кластеров в статистических данных. Вісник НТУУ «КП1» Інформатика, управління та обчислювальна техніка №53. - C.l 18-122.
4. Баталов А.С. Методы повышения эффективности обучения нейронной сети Кохонена //. Вестник Пермского университета. Сер.: Математика. Механика. Информатика, 2012. - Вып. 3(11). -С.86-93.
5. Кохонен Т. Самоорганизующиеся карты. Пер. 3-го англ. изд. - М.: БИНОМ. Лаборатория знаний, 2008. - 655 с.: ISBN 978-594774-352-4.
6. Горбаченко В.И. Сети и карты Кохонена: [Электронный ре-
сурс] // Научно-исследовательский центр самоорганизации и развития систем. М., 2010-2014. URL: http://gorbachenko.self-
organization.ru/index.html (Дата обращения: 01.02.2014).
7. GPS (Global Positioning System): [Электронный ресурс] // Санкт-Петербургский техникум геодезии и картографии. М., 20062014. URL: http://www.spbtgik.ru/book/6220.htm (Дата обращения: 01.02.2014).
8. Шелухин О.И.. Тенякшев А.М.. Осин А.В. Моделирование информационных систем. - М.: Радиотехника, 2005. - 368 с.
Neural clustering of wireless sensor network nodes
Mahrov S.S., MTUCI, Moscow., SlavaM4@yandex.ru Abstract. In article presented an analysis of the possibilities of clustering nodes of w'reless sensor network (WSN) by neural network - Kohonen's self-organizing map (SOM). During research was created a model of WSN, which is based on such parameters as the coordinates of nodes or a signal level between them and a level of residual energy. Also synthesized SOM model with parameters valid for clustering WSN's nodes. For the producing an experiments, models are developed as software (modeler), which allows locate WSN's node in 2D space with the power radius of transceiver, as well as apply for clustering SOM. As a result , it was found that the SOM is effective for clustering WSN's nodes. Moreover, its performance depends on the form of the input data representation. WSN's nodes clustering by SOM is an effective direction, because as clusterization criteria is possible to set a many parameters, and the SOM allows projection a multidimensional input data to a two-dimensional lattice — Kohonen's map. The latter describes a informatively describes a WSN's clusters in space. In addition, the SOM has proven its effectiveness in the case of clustering the capacity matrix.
Keywords: wireless sensor network, neural network, Kohonen's self-organizing map, clustering, modeling.
References
1. Mahrov S.S. Study connected nodes in a hierarchical protocol for wireless sensor networks. Fundamental problems of pa-dioelektronnogo Instrumentation / Proceedings of the International Scientific and Technical Conference «INTERMATIC-2013", 2-6 December 2013, Moscow, 2013, part 4. pp.118-123.
2. Yatskiv I.L. Methods Gusarova quantification of clusters in the classification without training. Transport and Communication. Vol.4, No 1, 2003. pp. 23-28.
3. Boldak AA., Sukharev D.L. Determination of the number of clusters in a statistical data. News of NTU "KPI" No53. pp.118-122.
4. Batalov A.S. Methods to improve the effectiveness of training Kohonen neural network / Bulletin of the University of Perm. Ser.: Mathematics. Mechanic. Computer Science, 2012. Vol. 3 (11). pp. 86-93.
5. Kohonen T. self-organizing maps. Lane. 3rd Eng. ed. Moscow, 2008. 655 p.: ISBN 978-5-94774-352-4.
6. Gorbachenko V.I. Network and the Kohonen map [Electronic resource] / Research Center and self-development systems. Moscow, 2010-2014. URL: http://gorbachenko.self-onganization.ru/index.html (Access Date: 01.02.2014).
7. GPS (Global Positioning System): [electronic resource] / URL: http://www.spbtgik.ru/book/6220.htm (Access Date: 01.02.2014).
8. Shelukhin O.I., TenyakshevA.M., Osin AV. Modeling of information systems. Moscow, 2005. 368 p.