- •1. Введение
- •2. Задача кластеризации
- •7.1.1. Формальная постановка задачи
- •7.1.2. Меры близости, основанные на расстояниях, используемые в алгоритмах кластеризации
- •7.2. Представление результатов
- •7.3. Базовые алгоритмы кластеризации
- •7.3.1. Классификация алгоритмов
- •7.4. Адаптивные методы кластеризации
- •7.4.1. Выбор наилучшего решения и качество кластеризации
- •7.4.2. Использование формальных критериев качества в адаптивной кластеризации
- •7.4.3. Пример адаптивной кластеризации
7.1.1. Формальная постановка задачи
Дано — набор данных со следующими свойствами:
каждый экземпляр данных выражается четким числовым значением;
класс для каждого конкретного экземпляра данных неизвестен.
Найти:
способ сравнения данных между собой (меру сходства);
способ кластеризации;
разбиение данных по кластерам.
Формально задача кластеризации описывается следующим образом.
Дано множество объектов данных I, каждый из которых представлен набором атрибутов. Требуется построить множество кластеров С и отображение ¥ множества / на множество С, т.е. F: I → С. Отображение F задает модель данных, являющуюся решением задачи. Качество решения задачи определяется количеством верно классифицированных объектов данных.
Множество / определим следующим образом:
I = {i1, i2, …, ij, …, in},
где ij — исследуемый объект.
Примером такого множества может быть набор данных о ирисах, с которыми в середине 30-х гг. прошлого столетия работал известный статист Р. А. Фишер (эти данные часто называют ирисы Фишера). Он рассмотрел три класса ирисов Iris setosa, Iris versicolor и Iris virginica. Для каждого из них было представлено по 50 экземпляров с разными значениями четырех параметров: длина и ширина чашелистника, длина и ширина лепестка. В табл. 7.1 представлены данные по пяти экземплярам для каждого класса.
Таблица 7.1
№ |
Длина чашелистника |
Ширина чашелистника |
Длина лепестка |
Ширина лепестка |
Класс |
1 |
5,1 |
3,5 |
1,4 |
0,2 |
Iris setosa |
2 |
4,9 |
3,0 |
1,4 |
0,2 |
Iris setosa |
3 |
4,7 |
3,2 |
1,3 |
0,2 |
Iris setosa |
4 |
4,6 |
3,1 |
1,5 |
0,2 |
Iris setosa |
5 |
5,0 |
3,6 |
1,4 |
0,2 |
Iris setosa |
51 |
7,0 |
3,2 |
4,7 |
1,4 |
Iris versicolor |
52 |
6,4 |
3,2 |
4,5 |
1,5 |
Iris versicolor |
53 |
6,9 |
3,1 |
4,9 |
1,5 |
Iris versicolor |
54 |
5,5 |
2,3 |
4,0 |
1,3 |
Iris versicolor |
55 |
6,5 |
2,8 |
4,6 |
1,5 |
Iris versicolor |
101 |
6,3 |
3,3 |
6,0 |
2,5 |
Iris virginica |
102 |
5,8 |
2,7 |
5,1 |
1,9 |
Iris virginica |
103 |
7,1 |
3,0 |
5,9 |
2,1 |
Iris virginica |
104 |
6,3 |
2,9 |
5,6 |
1,8 |
Iris virginica |
105 |
6,5 |
3,0 |
5,8 |
2,2 |
Iris virginica |
Каждый из объектов характеризуется набором параметров:
ij = {x1,xi2, …, xj, …, xn}
В примере с ирисами, как уже отмечалось, такими параметрами являются
длина И ширина чашелистника, длина И ширина лепестка.
Каждая переменная х/, может принимать значения из некоторого множества:
xj = {v1h, v2h,…}.
В данном примере значениями являются действительные числа.
Задача кластеризации состоит в построении множества:
С= {с1,с2, ... ,сk, ... ,cg).
Здесь ск— кластер, содержащий похожие друг на друга объекты из множества:
Ck = {ij, ip | ij Є I, ip Є I и d(ij, ip) < δ
где δ — величина, определяющая меру близости для включения объектов в один кластер; d(ij, ip)— мера близости между объектами, называемая расстоянием.
Неотрицательное значение d(ij, ip) называется расстоянием между элементами ij и ip если выполняются следующие условия:
d(ij, ip) > 0, для всех /, И 1р.
d(ij, ip) = 0, тогда и только тогда, когда /, = /р.
d(ij, ip)) = d(ip, ii)
d(ij, ip) < d(ij, ir) + d(ir, ip)
Если расстояние d(ij, ip) меньше некоторого значения о, то говорят, что элементы близки и помещаются в один кластер. В противном случае говорят, что элементы отличны друг от друга и их помещают в разные кластеры.
Большинство популярных алгоритмов, решающих задачу кластеризации, используют в качестве формата входных данных матрицу отличия D. Строки и столбцы матрицы соответствуют элементам множества / Элементами матрицы являются значения d(ij, ip) в строке j и столбце p. Очевидно, что на главной диагонали значения будут равны нулю:
Большинство алгоритмов работают с симметричными матрицами. Если матрица несимметрична, то ее можно привести к симметричному виду путем следующего преобразования:
(D + Dm) / 2.