Научная статья на тему 'Автоматическая кластеризация в анализе данных на основе самоорганизующихся карт кохонена'

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

CC BY
537
103
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
САМООРГАНИЗУЮЩИЕСЯ КАРТЫ КОХОНЕНА / КЛАСТЕРИЗАЦИЯ / ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сеньковская Ирина Сергеевна, Сараев Павел Викторович

В работе приведены теоретическое обсуждение и результаты вычислительных экспериментов по сравнительному анализу алгоритмов кластеризации на основе самоорганизующихся карт Кохонена. Даны рекомендации по применению алгоритмов к разным структурам данных. Табл. 2. Библиогр. 3 назв.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сеньковская Ирина Сергеевна, Сараев Павел Викторович

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

Текст научной работы на тему «Автоматическая кластеризация в анализе данных на основе самоорганизующихся карт кохонена»

ПЛАНИРОВАНИЕ, ЭКОНОМИКА, УПРАВЛЕНИЕ И РЫНОК ПРОДУКЦИИ

УДК 005

СеньковскаяПС., Сараев ПВ.

АВТОМАТИЧЕСКАЯ КЛАСТЕРИЗАЦИЯ В АНАЛИЗЕ ДАННЫХ НА ОСНОВЕ САМОРГАНИЗУЮЩИХСЯ КАРТ КОХОНЕНА

Задача кластеризации заключается в разбиении множества объектов, представленных своими векторами х е Я", ' = 1,. .., р , на группы, называемые кластерами. Объекты группируются таким образом, чтобы в пределах одного кластера они были более похожими друг на друга, чем на объекты других кластеров. В каждом кластере выделяют типичные представители w' - ядра, ' = 1,..., к , где к - количество кластеров [1]. Задача кластеризации является важнейшей задачей, встречающейся при анализе данных.

Классические методы кластеризации (метод к-средних, метод ближайшего соседа) предполагают, что ядра кластеров являются известными и решают задачу притяжения к ним других векторов. Одним из методов аппроксимации данных являются самоорганизующиеся карты (СОК) Кохонена. Перед использованием СОК Кохонена необходимо обучить, т.е. настроить веса на основе обучающего множества без учителя. Классическим алгоритмом обучения является алгоритм «Победитель забирает все» [2, 3].

Алгоритм «Победитель забирает все»:

1. Выбор шага обучения г) > 0 (0,1-0,7).

2. Инициализация весов сетислучайнымичислами.

3. Настройка весов. Для каждого входного вектора:

3.1. Расчет выходов нейронов слоя Кохонена. Выбирается нейрон-победитель г с наибольшим значением на выходе.

3.2. Корректировка весов победившего нейрона:

wr := wr +^(х - wr).

3.3. Нормировка вектора весов нейрона-победителя:

w

w :=——.

г !К1|

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

Алгоритм автоматической кластеризации № 1:

1. Рассчитываются расстояния (точнее, квадраты расстояний) от каждого вектора до всех остальных (для упрощения вычислений его квадрат) с помощью евклидовой метрики:

й2(хг, х3) = | |х‘ - х'; | = (х' - х3г ) ,

1=\

где х' - I-й элемент вектора х'. Полученные значения заносятся в табл. 1.

2. Определяется максимальное расстояние по всей рассчитанной табл. 1;

max d2 (x‘, xJ).

i, j

3. Определяется допустимое расстояние между векторами в одном кластере как фиксированный процент от найденного вп. 2.

4. Производится объединение векторов в кластеры; если значение расстояния в одном столбце не превосходит расстояния, полученного в п. З, то рас -сматриваемый вектор относится к тому же кластеру. Рассматриваемый вектор помечается соответствующим номером кластера.

З. Переходим к следующему вектор-столбцу;

3.1. Если вектор-столбец уже относится к кластеру - выполняем п. З.

3.2. Если вектор-столбец не является помеченным -выполняем пп. 4-З.

6. Для векторов, имеющих одинаковые метки, рассчитываются ядра кластеров как центры тяжести.

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

Алгоритм автоматической кластеризации № 2;

1. Расчет расстояния от каждого вектора до всех остальных (для упрощения вычислений его квадрат) с помощью евклидовой метрики;

d2(x', x1) = | |x' - xj|| = (x/ - x-j ) ,

/=і

где x\ - l-й элемент вектора x'.

Полученные значения заносятся в табл. 1.

2. Определяется максимальное расстояние от каждой вершины до какой-то другой (по каждому столбцу табл. 1);

max d21 x , xj).

І<і< p ' '

Таблица 1

Результаты первого вычислительного эксперимента

Алгоритм Количество Время Количество

векторов работы (с) кластеров

20 0,015 S

Алгоритм № 1 S0 0,032 S

100 0,047 4

S00 1,047 4

20 0,016 S

Алгоритм № 2 SO 0,047 4

100 0,422 3

S00 351,656 3

Автоматическая кластеризация в анализе данных на основе саморганизующихся карт кохонена

Сеньковская И. С., Сараев П.В.

3. Производится нормировка расстояний:

4. Осуществляется сортировка расстояний для вектора по возрастанию (по каждому столбцу табл. 1).

5. Векторы объединяются в кластеры: если следующее значение расстояния в одном столбце не превосходит предыдущее в некоторое фиксированное количество раз, то рассматриваемые векторы относятся к одному кластеру. Рассматриваемые векторы помечаются соответствующим номером кластера.

6. Переходим к следующему вектор-столбцу:

6.1. Если вектор-столбец уже относится к кластеру - выполняем п. 6.

6.2. Если вектор-столбец не является помеченным - выполняем пп. 5-6.

7. Для векторов, имеющих одинаковые метки, рассчитываются ядра кластеров как центры тяжести.

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

Было разработано программное обеспечение, рас -считывающее уточненные значения ядер кластеров. На вход программы подаются первоначальные данные. Константа обучения принимается равной 0,6 и уменьшается до 0,1 с шагом 0,1. Данные параметры могут быть изменены пользователем.

Для тестирования были сгенерированы 4 множества объемом 20, 50, 100 и 500 векторов. Количество кластеров зависит от фиксированной числовой характеристики; при выполнении данных тестов для первого алгоритма это величина, определяемая в п. 3, для второго алгоритма это величина, указанная в п. 5. Числовые характеристики подобраны так, чтобы максимальное расстояние от центра до других векторов в кластере были приблизительно равным. Результаты вычислительного эксперимента приведены в табл. 1.

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

Таблица 2

Результаты второго вычислительного эксперимента

Алгоритм Количество векторов Визуальное количество кластеров Время работы (с) Полученное количество кластеров

Алгоритм № 1 16 3 0,016 3

15 4 0,01 3

Алгоритм № 2 16 3 0,01 4

15 4 0,01 4

множества, так как при этом увеличивается вычислительная сложность алгоритма.

Были также рассмотрены небольшие тестовые множества с ярко выраженными кластерами. Результаты вычислительного эксперимента приведеныв табл. 2.

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

Список литературы

1. Сараев П.В. Нейросетевыеметсды искусственного интеллекта: учеб. пособие. Липецк: ЛГТУ, 2007. 64 с.

2. Кохонен Т. Самоорганизующиеся карты / пер. с англ. Агеева В.Н. М.: БИНОМ. Лаборатория знаний. 2008. 655 с.

3. Аксенов С.В., Новосельцев В.Б. Организация и использование нейронных сетей (методы и технологии). Томск: Изд-во НТЛ, 2006. 128 с.

Bibliography

1. Saraev P.V. Neural network methods of artificial intelligence. Lipetsk: LGTU, 2007. 64 p.

2. Kohonen T. Self-organizing map. Berlin: Springer-Verlag, 2001. 501 p.

3. Aksenov S.V., Novoseltsev V.B. Organization and use of neural networks (methods and technologies). Tomsk: NTL, 2006. 128 p.

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