- •Многомерная модель данных.
- •Концептуальное многомерное представление
- •3. Тест fasmi
- •4. Архитектура olap-систем
- •Интеллектуальный анализ данных
- •Интеллектуальный анализ данных
- •1. Добыча данных — Data Mining
- •2 Задачи Data Mining
- •2.1. Классификация задач Data Mining
- •2.2. Задача классификации и регрессии
- •2..3. Задача поиска ассоциативных правил.
- •2.4. Задача кластеризации
- •Классификация и регрессия
- •1. Постановка задачи
- •Представление результатов
- •1. Правила классификации
- •2. Деревья решений
- •3. Математические функции
- •3. Методы построения правил классификации
- •3.1. Алгоритм построения 1Rправил
- •5.3.2. Метод Naive Bayes
- •4. Методы построения деревьев решений
- •4.1. Методика "разделяй и властвуй"
- •4.2. Алгоритм покрытия
- •5. Методы построения математических функций
- •5.1. Общий вид
- •5.2. Линейные методы. Метод наименьших квадратов
- •Карта Кохонена
- •Поиск ассоциативных правил.
- •1. Постановка задачи 6.1.1. Формальная постановка задачи
- •6.2. Сиквенциальный анализ
- •3.1. Алгоритм Apriori
- •6.3.2. Разновидности алгоритма Apriori
- •Глава 7. Кластеризация.
- •7.1. Постановка задачи кластеризации
- •7.1.1. Формальная постановка задачи
- •7.1.2. Меры близости, основанные на расстояниях, используемые в алгоритмах кластеризации
- •7.2. Представление результатов
- •7.3. Базовые алгоритмы кластеризации
- •7.3.1. Классификация алгоритмов
- •7.3.2. Иерархические алгоритмы гломеративные алгоритмы
- •Дивизимные алгоритмы
- •7.3.3. Неиерархические алгоритмы
- •Алгоритм k-means (Hard-c-means)
- •Алгоритм Fuzzy c-Means
- •Кластеризация по Гюстафсону-Кесселю
- •7.4. Кластеризация данных при помощи нечетких отношений
- •7.4.1. Анализ свойств нечетких бинарных отношений применительно к анализу данных
- •Сравнение данных
- •Отношение альфа-толерантности
- •7.4.2. Отношение альфа-квазиэквивалентности
- •Построение шкалы отношения а-квазиэквивалентности как алгоритм анализа данных
- •Об использовании шкалы а-квазиэквивалентности для анализа данных
- •Примеры анализа данных при помощи шкалы а-квазиэквивалентности
Алгоритм k-means (Hard-c-means)
Рассмотрим более подробно алгоритм на примере данных из табл. 7.1. Для большей наглядности ограничимся двумя параметрами - длиной и шириной чашелистника. Это позволит представить данные в двумерном пространстве (рис. 7.4). Точки отмечены номерами объектов.
Вначале выбирается к произвольных исходных центров — точек в пространстве всех объектов. Не очень критично, какие именно это будут центры, процедура выбора исходных точек отразится, главным образом, только на времени счета. Например, это могут быть первые к объектов множества I. В данном примере это точки 1, 2 и 3. Дальше итерационно выполняется операция двух шагов. На первом шаге все объекты разбиваются на к групп, наиболее близких к одному из центров. Близость определяется расстоянием, которое вычисляется одним из описанных ранее способов (например, берется Евклидово расстояние). Рис. 7.5 иллюстрирует разбиение ирисов на три кластера.

Рис. 7.4. Представление ирисов в двумерном пространстве

Рис. 7.5. Начальное разбиение ирисов на три кластера
На втором шаге вычисляются новые центры кластеров. Центры можно вычислить как средние значения переменных объектов, отнесенных к сформированным группам. Новые центры, естественно, могут отличаться от предыдущих. На рис. 7.6 отмечены новые центры и новое разделение в соответствии с ними. Естественно, что некоторые точки, ранее относящиеся к одному кластеру, при новом разбиении попадают в другой (в данном случае такими точками являются 1, 2, 5 и др.). Новые центры на рисунке помечены символом "х", обведенным в кружок.

Рис. 7.6. Второе разбиение множества ирисов на кластеры
Рассмотренная операция повторяется рекурсивно до тех пор, пока центры кластеров (соответственно, и границы между ними) не перестанут меняться. В нашем примере второе разбиение является последним. Если посмотреть на результаты кластеризации, то можно заметить, что нижний кластер полностью совпадает с классом Iris setosa. В остальных кластерах имеются представители обоих классов. В данном случае это произошло по причине кластеризации только по двум параметрам, а не по всем четырем.
После того как объекты отражены в точки многомерного пространства, процедура автоматического разбиения на кластеры весьма проста. Проблема в том, что исходные объекты не всегда можно представить в виде точек. В геометрии все переменные равнозначны, в реальных же данных изменение одной из них на некоторое значение по смыслу может значить существенно больше, чем такое же изменение другой переменной. Действительные переменные можно преобразовать к примерно равнозначному масштабу, разделив на их характерный естественный масштаб или, если он неизвестен, на среднее значение этой переменной, на диапазон ее изменения (разность между максимальным и минимальным значениями переменной), или на ее стандартное отклонение. Тогда геометрическое расстояние между точками будет мерно соответствовать интуитивным представлениям о близости. Введение метрики, расстояния между категориальными переменными, отношениями порядка несколько сложнее.
В заключение необходимо отметить, что метод средних хорошо paботает, если данные по своей естественной природе делятся на компактные.
Данный алгоритм является прообразом практически всех алгоритмов нечеткой кластеризации, и его рассмотрение поможет лучшему пониманию принципов, заложенных в более сложные алгоритмы, базовые определения и понятия в рамках данного алгоритма имеют вид:
Обучающее множество
![]()
d— количество точек (векторов) данных;
Метрика расстояния, рассчитываемая по формуле (7.6);



который определяет, что каждый вектор данных может принадлежать только одному кластеру и не принадлежать остальным. В каждом кластере находится не менее одной точки, но менее общего количества точек.
Конструктивно алгоритм представляет собой итерационную процедуру следующего вида.
Шаг 1. Проинициализировать начальное разбиение (например, случайным образом), выбрать точность дельта (используется в условии завершения алгоритма), проинициализировать номер итерации l= 0.
Шаг 2. Определить центры кластеров по следующей формуле:
(7.11)

Шаг 3. Обновить матрицу разбиения с тем, чтобы минимизировать квадраты ошибок, используя формулу
(7.12)

В остальных случаях.
Шаг 4. Проверить условие

Если условие выполняется, завершить процесс, если нет — перейти к шагу 2 с номером итерации l = l + 1.
Основной недостаток, присущий данному алгоритму в силу дискретного характера элементов матрицы разбиения, — большой размер пространства разбиения.
Одним из способов устранения данного недостатка является представление элементов матрицы разбиения числами из единичного интервала. То есть принадлежность элемента данных кластеру должна определяться функцией принадлежности - элемент данных может принадлежать нескольким кластерам с различной степенью принадлежности. Данный подход нашел свое воплощение в алгоритме нечеткой кластеризации Fuzzy C-Means.
