- •Кластерный анализ
- •2.1. Введение
- •2.2. Признаки объекта
- •2.3. Мера сходства объектов и классов. Расстояния.
- •2.3.1 Метрика Махалонобиса
- •2.3.1.1. Центр класса, дисперсия и среднеквадратичное отклонение
- •2.3.1.2. Скейлинг (масштабное преобразование) и стандартизованное расстояние
- •2.3.1.3 Ковариационная матрица
- •2.3.1.4 Алгоритм вычисления расстояния по Махалонобису
- •2.3.2. Функции сходства.
- •2.3.3 Расстояние между списками
- •2.4. Общая схема классификации и распознавания образов
- •2.4.1. Понятие об обучении. Обучение с учителем и без учителя.
- •2.4.2. Общая схема системы классификации
- •2.5. Разделяющие поверхности и разделяющие функции
- •2.5.1 Линейные и кусочно-линейные разделяющие функции
- •2.6. Методы классификации. Алгоритмы классификации.
- •2.6.1. Алгоритм максимина
- •2.6.2. Алгоритм к-средних
- •2.6.3. Нечеткий алгоритм к-средних (Fuzzy k-means)
- •Алгоритм изодата
2.6.3. Нечеткий алгоритм к-средних (Fuzzy k-means)
Процедуру алгоритма К-средних часто называют «четкой» классификацией. В этом алгоритме каждый объект выборки либо принадлежит, либо не принадлежит к определенному классу. Алгоритм К-средних может успешно применяться в случае непересекающихся классов, т.е. в случае, когда между классами можно провести четкие границы. В противоположность этому нечеткий алгоритм К-средних реализует «мягкую» или «нечеткую» классификацию и используется в тех случаях, когда не представляется возможным однозначно установить принадлежность объекта к определенному классу. В этом случае говорят, что каждый объект может иметь определенную степень принадлежности к каждому из классов. Например, объект может принадлежать на 20% к первому классу, на 65% ко второму и на 15% к третьему классу, а объект - на 70% к первому, на 10% ко второму и на 20% к третьему.
Нечеткий алгоритм К-средних широко применяется для распознавания и классификации объектов с «нечеткими» признаками, например, в системах компьютерной обработки и распознавания цветных изображений, географии и геодезии при классификации почв и ландшафтов, метеорологии при предсказаниях изменений климата и др.
Идея нечеткого алгоритма К-средних основана на минимизации суммарной взвешенной среднеквадратичной ошибки
(2.24)
при следующих условиях:
для любого ;
для любого ; (2.25)
для любых и .
Здесь – количество объектов в выборке; – количество классов; - «функция принадлежности», т.е. функция, значение которой равно степени принадлежности -го объекта к -му классу; - квадрат расстояния между -м объектом и центром -го класса в выбранной метрике (в дальнейшем эту величину будем обозначать просто ) .
Параметр в показателе степени в (2.24) определяет собой «степень нечеткости», «степень размытия» классов, или степень перекрытия классов в конечном решении задачи классификации. При получится “четкая” классификация, а при решение приближается к максимальной степени нечеткости. Выбор параметра достаточно произволен и при использовании данного алгоритма обычно требуется многократно провести процедуру классификации для различных , а затем выбрать наилучший результат. Однако следует иметь ввиду, что очень большие значения приводят к тому, что каждый объект будет иметь одинаковую степень принадлежности ко всем классам и классы станут вообще неразличимы. Кроме того, при использовании различных метрик наилучшие результаты будут получаться при различных значениях параметра . Так, например, для метрики Евклида вначале рекомендуется выбирать , а для метрики Махаланобиса вначале нужно взять меньшее значение .
Минимизация функции с использованием условий (2.25) приводит к следующему выражению для функции принадлежности :
для всех и . (2.26)
Тогда положения центров классов вычисляются следующим образом:
для всех . (2.27)
Перейдем теперь непосредственно к изложению словесного описания нечеткого алгоритма К-средних.
-
Зададим количество классов , значение для параметра нечеткости () и выберем метрику для вычисления расстояний в пространстве существенных признаков.
-
Задать точность вычислений . Этот параметр используется для прекращения вычислений. Если положения центров всех классов на некоторой итерации изменились по сравнению с их положениями на предыдущей итерации на величину, меньшую , то вычисления заканчиваются.
-
Задать максимально допустимое число итераций . Этот параметр также используется для прекращения вычислений. Если требуемая точность еще не достигнута, но количество проведенных итераций стало равно , то вычисления прекращаются, и выводится сообщение о невозможности достигнуть заданной точности при данном числе итераций . Зададим начальное значение счетчика итераций .
-
Выбираем начальные положения центров классов . Как и в «четком» алгоритме К-средних в качестве можно выбрать первых объектов выборки, т.е. , и т.д., либо случайным образом выбрать произвольных объектов.
-
Вычисляем все компоненты функции принадлежности по формуле
.
Для этого нужно предварительно вычислить в выбранной метрике квадраты расстояний между всеми объектами и всеми центрами классов, т.е. величины для всех и . Если какая-либо из величин или , где некоторое наперед заданное положительное число , то для данных и следует положить .
-
Вычислив компоненты функции принадлежности для всех объектов, распределяем их по классам. Объект принадлежит к классу , если , то есть значение функции принадлежности объекта для данного класса наибольшее.
-
Увеличим счетчик итераций на единицу . Вычислим новые положения центров классов по формуле
для всех .
Для вычисления центров классов используется функция принадлежности , вычисленная на шаге 5.
-
Вычислим расстояние между положением центра класса на данной и предыдущей итерации для всех центров, т.е. величины для всех .
-
Если , то вычисления закончены с выводом дополнительного сообщения о невозможности достигнуть заданной точности при данном .
-
Если , то вычисления закончены, иначе перейти к шагу 5.
Результатом выполнения алгоритма является функция принадлежности - матрица , которая содержит данные о степени принадлежности -го объекта к -му классу. Пусть, например, для пяти объектов и трех классов эта матрица имеет вид:
-
j
i
1
2
3
1
0,78
0,15
0,07
2
0,92
0,08
0,00
3
0,15
0,05
0,8
4
0,00
0,05
0,95
5
0,09
0,87
0,04
Естественно считать, что объект принадлежит к тому классу для которого функция принадлежности имеет максимальное значение. Таким образом, для данного случая первый объект принадлежит к первому классу ; второй объект принадлежит к первому классу; третий объект принадлежит третьему классу и т.д.