Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СППР / Лекция 6-7.doc
Скачиваний:
190
Добавлен:
23.03.2016
Размер:
2.2 Mб
Скачать

Алгоритм 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.

Соседние файлы в папке Лекции по СППР