Научная статья на тему 'Методика определения оптимального числа нейронов выходного слоя сети Кохонена при решении задач кластеризации'

Методика определения оптимального числа нейронов выходного слоя сети Кохонена при решении задач кластеризации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
897
110
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЛАСТЕРИЗАЦИЯ / НЕЙРОННЫЕ СЕТИ / ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ / ОПТИМИЗАЦИЯ / CLUSTERING / ARTIFICIAL NEURAL NETWORKS / UNSUPERVISED LEARNING / OPTIMIZATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Фатхи Дмитрий Владимирович, Галушка Василий Викторович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Фатхи Дмитрий Владимирович, Галушка Василий Викторович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODS OF DETERMINING THE OPTIMAL NUMBER OF NEURONS IN THE KOKHONEN NETWORK OUTPUT LAYER TO SOLVE THE PROBLEM OF CLUSTERING

The article suggests a method solving the problem of data clustering with unknown number of clusters using Kokhonen neural network. In the article the choice of optimality criterion of the clusters number and the corresponding neural network outputs count are substantiated. Experimental results to confirm the data of theoretical studies are presented.

Текст научной работы на тему «Методика определения оптимального числа нейронов выходного слоя сети Кохонена при решении задач кластеризации»

УДК 004.032.26

МЕТОДИКА ОПРЕДЕЛЕНИЯ ОПТИМАЛЬНОГО ЧИСЛА НЕЙРОНОВ ВЫХОДНОГО СЛОЯ СЕТИ КОХОНЕНА ПРИ РЕШЕНИИ ЗАДАЧ КЛАСТЕРИЗАЦИИ

© Фатхи Дмитрий Владимирович

кандидат технических наук, доцент, начальник кафедры боевой подготовки, ФГКОУ ВПО «Ростовский юридический институт МВД России».

' D.VFatklii@gmail.com

© Галушка Василий Викторович

аспирант, ФГБОУ ВПО «Донской государственный технический университет».

Ш gw-07@yandex.ru

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

Ключевые слова: кластеризация, нейронные сети, обучение без учителя, оптимизация.

В последнее время всё большее применение в задачах обеспечения информационной безопасности находят искусственные нейронные сети [1, с. 34-38.]. Они применяются для определения сетевых атак, идентификации личности, выявления попыток несанкционированного доступа и других угроз безопасности. При этом работа такой системы основана на классификации различных состояний системы. Использование методов искусственных нейронных сетей для решения задач классификации предполагает наличие обучающей выборки, содержащей заранее подготовленные образцы, соответствующие как нормальной работе системы, так и функционированию системы, подвергающейся атаке. Так как не всегда имеется возможность заранее определить все возможные угрозы информационной безопасности, то необходимо использовать методы, не требующие их априорного задания. Такие методы реализуются нейронными сетями, обучающимися без учителя, в частности сетью Кохонена.

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

Однако обязательным требованием для использования нейронных сетей, в том числе сети Кохонена, является точное задание количества нейронов во входном и выходном слоях. Так как каждый нейрон выходного слоя отвечает за принадлежность образца к определённому кластеру, то число кластеров всегда равно числу выходных нейронов. Это свойство вступает в противоречие с тем, что сеть Кохонена обучается без учителя. Для того чтобы полностью исключить пользователя из процесса кластеризации, необходима возможность автоматического определения количества кластеров, оптимального для заданного множества входных векторов [4, с. 21].

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

Научно-практический журнал. ISSN 1995-5731

сеть «уверена» в принадлежности объекта, поданного на вход к соответствующему классу [2].

Применительно к сети Кохонена, значение максимального выхода нейрона тем больше, чем ближе к ядру кластера находится точка, координаты которой составляют входной вектор [3, с. 80-83]. Представим иллюстративно результат обучения нейронной сети данного вида на одном и том же обучающем множестве для разных значений количества нейронов выходного слоя (рис. 1). Для каждой точки указано значение максимального выхода нейронов выходного слоя. Обучающее множество состоит из довольно чётко выделяющихся групп двухком-понентных векторов, в виде точек на плоскости. В итоге обучения, при соответствии количества выходов нейронной сети реальному количеству кластеров, ядра устанавливаются точно в центр кластера, а при недостатке выходов ядро разместилось в центре между двумя кластерами. При этом увеличилось расстояние от него до точек, принадлежащих ближайшим кластерам, соответственно для каждой из указанных точек уменьшится значение, получаемое на выходе нейронной сети.

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

Формула расчёта средних значений:

б)

Рис. 1. Расположение ядер кластеров после обучения нейронной сети Кохонена

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

k1 k2 kn

S 0ut и + S 0ut< 2 + •••+S 0utn

mid = ^-i=0-i=0-, (1)

k\ + k 2 + ••• + k n

где ki - количество образцов, принадлежащих к 1-му кластеру; kn - количество образцов, принадлежащих к n-му кластеру;

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

Возможен и второй вариант, где рассчитывается средняя разница между максимальным и минимальным выходами нейронов последнего слоя:

mid =

^ (maxli - minXi ) + ^ (max2i - min2i ) +... + ^ (maxh - minh )

i=0_i=0_i=0_, (2)

k- + + ... + k n

где k - количество образцов, принадлежащих к 1-му кластеру; kn - количество образцов, принадлежащих к n-му кластеру;

max.. - максимальное значение выхода нейронов последнего слоя для j-го образца, принадлежащего к г-му кластеру;

min.. - минимальное значение выхода нейронов последнего слоя для j-го образца, принадлежащего к i-му кластеру.

Информационная безопасность регионов. 2011. № 2 (9)

Так как одним из условий для «уверенного» отнесения к определённому классу является наличие достаточно малых значений выходов остальных нейронов последнего слоя, то можно использовать следующую формулу:

k Z OUtm1 k2 Z OUtm 2 kn Z °utm Z (maxn --—г-)+Z (max2i --—)+•••+Z (max* --—r~), (2)

mid = -n-l-<=,-n-\-<=,-n-l_

k\ + k2 + ••• + k n

где k1 - количество образцов, принадлежащих к 1-му кластеру; kn - количество образцов, принадлежащих к n-му кластеру; n - число нейронов выходного слоя (число кластеров);

тах^ - максимальное значение выхода нейронов последнего слоя для j-го образца, принадлежащего к г-му кластеру;

outmj - значение выхода m-го нейрона (т Ф i).

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

Ниже (табл. l) представлены результаты экспериментов по определению критерия оптимальности по приведённым выше формулам для различных сочетаний числа кластеров и количества нейронов выходного слоя сети.

а)

Таблица 1

Число реальных кластеров Число выходов сети Кохонена Результат по первой формуле Результат по второй формуле Результат по третьей формуле

2 1 0,64 0,55 0,61

2 0,98 0,76 0,82

3 0,98 0,76 0,77

4 0,98 0,76 0,68

3 1 0,26 0,37 0,54

2 0,73 0,59 0,63

3 0,98 0,81 0,85

4 0,98 0,81 0,78

4 2 0,42 0,30 0,52

3 0,71 0,48 0,75

4 0,97 0,88 0,89

5 0,97 0,88 0,80

б)

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

Для использования в качестве критерия оптимальности в рассматриваемой задаче необходимо выбрать наиболее различимые значения выходных сигналов. Из приведённых данных эксперимента (табл. 1) видно, что такие

в)

Рис. 2. Графики зависимости различных критериев оптимальности от числа нейронов в выходном слое

сети

Научно-практический журнал. ISSN 1995-5731

результаты получаются при использовании формулы (3).

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

1. Подготовка множества входных векторов.

2. Обучение нейронной сети Кохонена с использованием входного множества.

3. Кластеризация входного множества обученной сетью.

4. Подсчёт критерия оптимальности по формуле (з).

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

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

В соответствии с методикой на начальном этапе было сформировано множество входных векторов, каждый из которых включает три значения (рис. 3).

Z X

3

0.5

г

Рис. 3. Множество входных векторов с четырьмя выделенными кластерами

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

ходом нейрона и средним значением выходов остальных нейронов. В результате получено значение 0,674.

Далее число нейронов было увеличено и стало равняться 4. Для данного количества так же было вычислено значение критерия оптимальности, которое составило 0,968.

На следующем этапе значение количества нейронов выходного слоя было увеличено до 5, для данного значения также была рассчитана величина критерия оптимальности, которая равнялась 0,76.

Следовательно, максимальное значение средней разницы между максимальным выходом нейрона и средним значением выходов остальных нейронов достигается при количестве нейронов выходного слоя, равном 4. Именно такое количество является оптимальным для данного входного множества (рис. 2).

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

Библиографический список

1. Галушкин А. И. Нейрокомпьютеры в решении задач обеспечения информационной безопасности [Текст] // Информационные технологии. - 2006. - № 2. - ISSN 1684-6400.

2. Нейронные сети Кохонена [Электронный ресурс]. - URL: http://www.aiportal.ru/articles/ neural-networks/network-kohonen.html (дата обращения: 25.10.2011).

3. Каллан Р. Основные концепции нейронных сетей [Текст] : [пер. с англ.]. - М.: Вильямс, 2001. - 287 с. - ISBN 5-8459-0210-Х.

4. Терехов С. А. Технологические аспекты обучения нейросетевых машин [Текст] // лекция на VIII Всероссийской научно-технической конференции «Нейроинформатика-2006».

Информационная безопасность регионов. 2011. № 2 (9)

i Надоели баннеры? Вы всегда можете отключить рекламу.