Научная статья на тему 'Алгоритм решения задачи нечеткой кластеризации'

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

CC BY
483
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКОЕ МНОЖЕСТВО / КЛАСТЕРИЗАЦИЯ / АЛГОРИТМ / СТЕПЕНЬ ДОВЕРЕННОСТИ / НЕЧЕТКО-ЛОГИЧЕСКИЕ ВЫВОДЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мингликулов Зафар Бозорович

Предложен алгоритм кластеризации, основанный на нечетко-логическом выводе. Приведен сравнительный анализ результатов решения модельной задачи предлагаемым алгоритмом и нечетким алгоритмом c-means.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Мингликулов Зафар Бозорович

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

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

10

Проблемы информатики. 2014■ № 1

АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ НЕЧЕТКОЙ КЛАСТЕРИЗАЦИИ

З. Б. Мингликулов

Центр разработки программных продуктов и аппаратно-программных комплексов при Ташкентском университете информационных технологий, 100084, Республика Узбекистан

УДК 519.8

Предложен алгоритм кластеризации, основанный на нечетко-логическом выводе. Приведен сравнительный анализ результатов решения модельной задачи предлагаемым алгоритмом и нечетким алгоритмом c-means.

Ключевые слова: нечеткое множество, кластеризация, алгоритм, степень доверенности, нечетко-логические выводы.

Clustering algorithm based on fuzzy-logical conclusions is proposed in this paper. Comparative analysis of the results of solving of model problem by the proposed algorithm and c-means fuzzy algorithm is presented.

Keywords: fuzzy set, clustering, algorithm, the degree reliability, fuzzy-logical conclusions.

Введение. Одним из направлений обработки данных различной структуры и свойств является кластеризация. Существует множество методов кластеризации, которые можно классифицировать как четкие и нечеткие. Четкие методы кластеризации разбивают исходное множество объектов Xi на несколько непересекающихся подмножеств. При этом любой объект из Xi принадлежит только одному кластеру. Нечеткие методы кластеризации позволяют одному и тому же объекту принадлежать одновременно нескольким (или даже всем) кластерам, но с различной степенью принадлежности. Нечеткая кластеризация во многих ситуациях более "естественна", чем четкая, например, для объектов, расположенных на границе кластеров [1, 2, 5, 6].

Кластеризация — это разбиение элементов некоторого множества на группы на основе их схожести. Задача кластеризации состоит в разбиении объектов из Xi на несколько подмножеств (кластеров), в которых объекты более схожи между собой, чем с объектами из других кластеров. В метрическом пространстве "схожесть" обычно определяют через расстояние. Большинство алгоритмов кластеризации не опирается на традиционные для статистических методов допущения; они могут использоваться в условиях почти полного отсутствия информации о законах распределения данных [4].

Методы кластеризации также классифицируются по тому, определено ли количество кластеров заранее или нет. В последнем случае количество кластеров определяется в ходе выполнения алгоритма на основе распределения исходных данных.

1. Постановка задачи. Алгоритмы кластеризации оперируют с объектами. С каждым объектом отождествляется вектор характеристик Xi = (x1, ..., x™).

Компоненты xk, i = 1, n, j = 1, ..,m являются отдельными характеристиками объекта. Количество характеристик d определяет размерность пространства характеристик.

Множество, состоящее из всех векторов характеристик, обозначается M = (X\, ..., Xn), где Xi = (x.., xm).

Кластер представляет собой подмножество "близких" друг к другу объектов из M. Расстояние D (Xi1, Xi2) между объектами Xi1 и Xi2 определяется на основе выбранной метрики в пространстве характеристик.

Четкая (непересекающаяся) кластеризация — кластеризация, в которой каждый объект Xi из М относится только к одному кластеру.

При анализе результатов кластеризации необходимо учитывать особенности использованных алгоритмов.

Большую популярность в последнее время получили нечеткие алгоритмы, среди которых особенно широко известен алгоритм "нечетких средних" — FCMA (Fuzzy C-Means Algorithm). Следует отметить, что главным недостатком k- и с-средних алгоритмов является необходимость априорного задания требуемого числа кластеров, а также других численных параметров, от величины которых существенно зависят результаты кластеризации. Из этого следует, что при использовании алгоритмов кластеризации необходимо иметь дополнительные критерии качества разделения объектов на кластеры, позволяющие численно оценить результат применения тех или иных параметров [1].

Основные известные алгоритмы кластеризации налагают ограничения на геометрию получаемых кластеров, в частности, требуя возможности охвата каждого кластера отдельным выпуклым множеством. Такое ограничение налагается предположениями таких алгоритмов о существовании центров кластеров (K-Means) или функции плотности вероятности для каждого кластера с соответствующим значением математического ожидания и дисперсией. В результате эти алгоритмы не в состоянии адекватно разбить на кластеры невыпуклые множества, тем более вложенные структуры.

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

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

На основании метрики определяется нечеткое отношение, обладающее свойствами четкой рефлексивности и нормальной а-симметричности. Строится транзитивное замыкание отношения, позволяющее определить для каждого значения а в диапазоне от 0 до 1 отношение эквивалентности на исходном множестве. По построению отношения два элемента входят в один класс эквивалентности тогда и только тогда, когда между ними есть последовательность попарно "близких" друг к другу элементов.

2. Описание алгоритмов кластеризации. Алгоритм, состоящий из нескольких этапов, начинается с определения списков объектов (формирование экспериментальных данных):

Xi = xk, i = l,n, k = l,m.

На следующем этапе производится их нормирование:

xk _ xmin

k , xi x

Uk = l—i--; i = l, n, k =l,m.

1 xmax _ xmin

Выполняется оператор фаззификации:

г ик-ь ■ '

1 + ии—1с

Ъ2, с, — параметры; ] = 1,1; I — термы.

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

ß* (U?) = maxß (U?) ; SP = Ц ß* (U?).

k=i

Выбор нечетких правил: Нормирование БРг

Фаззификация

г .БРг - SPm пг = l-

Sрmax _ SРmin

(пг) = n-j; ß* (пг) =max ß (пг).

Пусть X — метрическое пространство и определенная на нем метрика, (SPi,SPn) С X — последовательность элементов из X. Предполагаем, что

Уг е{1,..., n}3j е {1,... , n} : SPl = SP3. (1)

Из условия (1) следует, что при Уг е {1,... ,n} справедливо неравенство:

max{d(SPi,SPk)\k е {1,...,n}} > 0. (2)

Таким образом, для каждого индекса элемента i мы можем определить функцию £г(j), описывающую меру сходства j-го элемента последовательности с i-м элементом. Определение 1.

£г : {1,..,n}^ [0,1] , £г(j) := 1---ü• (3)

max {a(bP,i, SPk)\k е {1, ...,n}}

Для каждого индекса i определим функцию яг(k,l), описывающую меру сходства k-го и l-го элементов относительно i-го элемента [5]. Определение 2.

Яг : {1,...,n}2 ^ [0,1], Яг (k, l) := 1 - \£г (SPk) - £г (SPj)\ . (4)

Определим теперь функцию 9(i,j), описывающую меру сходства любых двух элементов последовательности относительно всех элементов последовательности. Определение 3.

9 : {1,...,n}2 ^ [0,..., 1], 9(i,j) := min {я? (i,j )\k e{1,...,n}} . (5)

Определение 4. Для t =1, 2,... , nопределим рекурсивную функцию9: {1,..., n}2! ^

[0, 1]:

1

Рис. 1. Результаты решения спиральной задачи на основе предложенного метода

в(1\г,з ):= в(г,з), 6)

в^(г,з) := шах {шт {в(-)(г, в),в(г-1)(в,з)} ^ € {1,и}} . { }

Определение 5. Для а Е [0,1] определим на множестве {БР1} ..., БРп} бинарное отношение Яа С {БР1, ..., БРп}2 следующим образом:

(БРг,БР3) Е Яа в(п) (г,3) > а.

Покажем, что отношение Яа является отношением эквивалентности.

Рефлексивность. Из ¡л^ (г, г) = 1, Уг,Ь следует, что в(п) (г,г) = 1 > а ^ (БРг,БРг) Е Яа.

Симметричность. Пусть (БРг, БРг) Е Яа ^ в(п) (г,3) > а. В силу ц(г\г,з) = г),

следует, что в(п) (3, г) = в(п) (г,3) > а ^ (БРу, БРг) Е Яа.

Транзитивность. Пусть (БРу, БРг) Е Яа, (БРу, БРг) Е Яа ^ в(п) (г,3) ,в(п) (3,т) > а. Из в(п) (г, т) > а следует, что в(п) (г,т) > а ^ (БРг, БРт) Е Яа.

Таким образом, отношение эквивалентности Яа разбивает множество {БР1} БРп} на непересекающиеся классы эквивалентности. Два элемента БРг, БРу входят в один класс эквивалентности тогда и только тогда, когда значение функции в(п от этих элементов так велико, что на основании в(г,31), •••,в(3г,3) > а ^ в(1')(г,3) > а, в(г,31), •••,в(3т,3) > а эквивалентно существованию последовательности пар элементов (БРг,БРу) , (БРу,БРу) (БРг, БРг), на которых значение функции в велико. По определению в означает близость элементов каждой пары друг другу, т. е. два элемента входят в один класс эквивалентности тогда и только тогда, когда между ними есть последовательность попарно близких друг к другу элементов.

3. Вычислительный эксперимент. Работа алгоритма была проверена на задаче о спиралях. Задача состоит из разделения 150 объектов на два класса (кластера) на основании двух признаков. Поставленная задача является сложной, при этом объекты одного класса расположены очень близко к объектам второго класса (кластеры размыты между собой). На основании сравнительного анализа эта задача была решена и с помощью алгоритма с-средней (е-швапэ) кластеризации. Полученные результаты на основе предложенного алгоритма приведены на рис. 1, а результаты на основе с-среднего алгоритма приведены на рис. 2.

При анализе результатов было выявлено, что при кластеризации на основе предложенного алгоритма, алгоритм классифицировал 7 объектов в другой кластер, что дает 4,7% ошибки. Из графика, приведенного на рис. 2, видно, что решение задачи на основе с-среднего алгоритма дает 56% ошибки (см. таблицу).

Рис. 2. Результаты решения спиральной задачи на основе с-среднего алгоритма

Таблица

Точность кластеризации алгоритмов

Сведения Предлагаемый C-means

об объектах алгоритм алгоритм

Объекты 150

Признаки 2

Кластеры 2

Точность 95,3% 44%

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

Программа для кластеризации, на базе которой реализованы вышеизложенные методы применительно к нескольким задачам, приведена в [3].

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

1. РотштЕЙн А. П. Интеллектуальные технологии идентификации: нечеткая логика, генетические алгоритмы, нейронные сети. Винница: УНИВЕРСУМ-Винница, 1999.

2. Бекмуратов Т. Ф., Мухамедиева Д. Т. Методы и алгоритм синтеза нечетко-нейронных моделей принятия решений. Saarbrucken, Germany: изд-во "Palmarium Academic Publishing", 2013.

3. Мухамедиева Д. Т., Мингликулов З. Б. Программа построения нейронечеткой модели идентификации // Гос. Патент. ведомство. Агентство по правовой охране программ для ЭВМ и базы данных. № DGU 02316. 2011.

4. Чувукова И. А. Data Mining. М.: Интернет-Университет информационных технологий; БИНОМ. Лаборатория знаний, 2006.

5. Мухамедиева Д. Т. Алгоритм кластеризации правил систем нечеткого вывода // Естеств. и техн. науки. 2013. № 2. С. 248-252.

6. Мухамедиева Д. Т. Решение задач многокритериальной оптимизации при наличии неопределенности нестатического характера // Акт. пробл. совр. науки. 2013. № 2. С. 237-239.

Мингликулов Зафар Бозорович — старш. науч. сотр. Центра разработки программных продуктов и аппаратно-программных комплексов при Ташкентском университете информационных технологий; тел. (+99871) 262-79-11; e-mail: [email protected]

Дата поступления — 8.11.2013

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