Методы и алгоритмы анализа структуры многомерных данных
Кластерный анализ
Кластерный анализ предназначен для разбиения множества объектов на заданное или неизвестное число классов на основании некоторого математического критерия качества классификации (cluster (англ.) — гроздь, пучок, скопление, группа элементов, характеризуемых каким-либо общим свойством). Критерий качества кластеризации в той или иной мере отражает следующие неформальные требования:
- а) внутри групп объекты должны быть тесно связаны между собой;
- б) объекты разных групп должны быть далеки друг от друга;
- в) при прочих равных условиях распределения объектов по группам должны быть равномерными.
Требования а) и б) выражают стандартную концепцию компактности классов разбиения; требование в) состоит в том, чтобы критерий не навязывал объединения отдельных групп объектов.
Узловым моментом в кластерном анализе считается выбор метрики (или меры близости объектов), от которого решающим образом зависит окончательный вариант разбиения объектов на группы при заданном алгоритме разбиения. В каждой конкретной задаче этот выбор производится по-своему, с учетом главных целей исследования, физической и статистической природы используемой информации и т. п. При применении экстенсиональных методов распознавания, как было показано в предыдущих разделах, выбор метрики достигается с помощью специальных алгоритмов преобразования исходного пространства признаков.
Другой важной величиной в кластерном анализе является расстояние между целыми группами объектов. Приведем примеры наиболее распространенных расстояний и мер близости, характеризующих взаимное расположение отдельных групп объектов. Пусть wi — i-я группа (класс, кластер) объектов, Ni — число объектов, образующих группу wi, вектор m i — среднее арифметическое объектов, входящих в wi (другими словами [m i — “центр тяжести” i-й группы), a q ( wl, wm ) — расстояние между группами wl и wm
Рис. 1. Различные способы определения расстояния между кластерами wl и wm: 1 — по центрам тяжести, 2 — по ближайшим объектам, 3 — по самым далеким объектам
Рис 1.
Расстояние ближайшего соседа есть расстояние между ближайшими объектами кластеров:
Расстояние дальнего соседа — расстояние между самыми дальними объектами кластеров:
Расстояние центров тяжести равно расстоянию между центральными точками кластеров:
Обобщенное (по Колмогорову) расстояние между классами, или обобщенное K-расстояние, вычисляется по формуле
В частности, при t a µ и при t a -µ имеем
Выбор той или иной меры расстояния между кластерами влияет, главным образом, на вид выделяемых алгоритмами кластерного анализа геометрических группировок объектов в пространстве признаков. Так, алгоритмы, основанные на расстоянии ближайшего соседа, хорошо работают в случае группировок, имеющих сложную, в частности, цепочечную структуру. Расстояние дальнего соседа применяется, когда искомые группировки образуют в пространстве признаков шаровидные облака. И промежуточное место занимают алгоритмы, использующие расстояния центров тяжести и средней связи, которые лучше всего работают в случае группировок эллипсоидной формы.
Нацеленность алгоритмов кластерного анализа на определенную структуру группировок объектов в пространстве признаков может приводить к неоптимальным или даже неправильным результатам, если гипотеза о типе группировок неверна. В случае отличия реальных распределений от гипотетических указанные алгоритмы часто "навязывают" данным не присущую им структуру и дезориентируют исследователя. Поэтому экспериментатор, учитывающий данный факт, в условиях априорной неопределенности прибегает к применению батареи алгоритмов кластерного анализа и отдает предпочтение какому-либо выводу на основании комплексной оценки совокупности результатов работы этих алгоритмов.
Алгоритмы кластерного анализа отличаются большим разнообразием. Это могут быть, например, алгоритмы, реализующие полный перебор сочетаний объектов или осуществляющие случайные разбиения множества объектов. В то же время большинство таких алгоритмов состоит из двух этапов. На первом этапе задается начальное (возможно, искусственное или даже произвольное) разбиение множества объектов на классы и определяется некоторый математический критерий качества автоматической классификации. Затем, на втором этапе, объекты переносятся из класса в класс до тех пор, пока значение критерия не перестанет улучшаться.
Многообразие алгоритмов кластерного анализа обусловлено также множеством различных критериев, выражающих те или иные аспекты качества автоматического группирования. Простейший критерий качества непосредственно базируется на величине расстояния между кластерами. Однако такой критерий не учитывает "населенность" кластеров — относительную плотность распределения объектов внутри выделяемых группировок. Поэтому другие критерии основываются на вычислении средних расстояний между объектами внутри кластеров. Но наиболее часто применяются критерии в виде отношений показателей "населенности" кластеров к расстоянию между ними. Это, например, может быть отношение суммы межклассовых расстояний к сумме внутриклассовых (между объектами) расстояний или отношение общей дисперсии данных к сумме внутриклассовых дисперсий и дисперсии центров кластеров.
Функционалы качества и конкретные алгоритмы автоматической классификации достаточно полно и подробно рассмотрены в специальной литературе. Эти функционалы и алгоритмы характеризуются различной трудоемкостью и подчас требуют ресурсов высокопроизводительных компьютеров. Разнообразные процедуры кластерного анализа входят в состав практически всех современных пакетов прикладных программ для статистической обработки многомерных данных.
Оставить комментарий
Комментарии
Большой Спасиб!
Помогите мне в такой проблеме. Мне кажется что именно ваша методика мне подходит больше всего.
У меня такая задача: Есть диаграмма (искаженная синусоида) поведения
сердца пациента(пульсограмма )
Есть характерные искажения, соответствующие определенным симптомам. Если я имею картотеку таких диаграмм, для каждой из которых уже известен диагноз(определен врачом), как мне в дальнейшем узнать автоматически , без участия врача , что снятая сейчас диаграмма(кривая) относится к тому или другому виду.
Мне кажется что нужно искать близость по близости спектра , т. е. близости характеристик сотавляющих
данную кривую гармоник.
Мне показалось , что удобно воспользоваться функцией из МАТЛАБ
R=CORRCOEF([X Y]).
Я буду последовательно сравнивать мою новую кривую(X) по параметру R со своей картотекой(Y) и
там где R будет ближе к 1 то это значит что текущая кривая ближе к этому случаю.
Я хотел бы применить кластерный анализ , но не имею готовых средств для этого.
Есть для этого что то в МАТЛАБ ?
Заранее Вам большое спасибо за помощь.
С уважением
Валерий