- •5 Кластерный Анализ и Неконтролируемое Обучение
- •5.1 Введение
- •5.1.1 Определение кластеризации
- •5.1.2 Мера сходства
- •Евклидово расстояние
- •Расстояние Махалонобиуса
- •Коэффициент Танимото
- •5.1.3 Типы алгоритмов кластеризации Классификация алгоритмов кластеризации
- •Внутреннее и внешнее расстояния: один критерий
- •5.1.4 Общие замечания
- •5.2 Кластеризация с неизвестным числом классов
- •5.2.1 Адаптивное конструирование (эвристический метод)
- •5.2.2 Алгоритм Бачелора и Уилкинса
- •5.2.3 Алгоритм иерархической кластеризации основанный на к-ближайших соседях
- •5.3 Кластеризация с известным числом классов
- •5.3.1 Минимизация суммы квадратов расстояний
- •5.3.2 Алгоритм isodata
- •5.3.3 Модификация алгоритма isodata (без участия человека для выбора некоторых параметров)
- •5.3.4 Техника динамического поиска оптимального кластера (dynoc)
- •5.3.5 Метод динамических кластеров в неиерархической кластеризации
- •5.4 Оценка кластеризации исходов различными алгоритмами
- •5.5 Графо-теоретические методы
- •5.5.1 Матрица подобия
- •5.5.2 Методы дерева охвата Метод минимального дерева охвата
- •Кластеризация с разделением ближайшего соседа и максимального дерева охвата
- •Графо-теоретическая кластеризация основанная на ограниченном наборе соседей
- •5.6 Смешанная статистика и неконтролируемое обучение
- •5.7 Заключение
5.1.4 Общие замечания
Большинство алгоритмов кластеризации эвристические. Большинство статей о кластеризации предоставляют экспериментальные доказательства эффективности процесса кластеризации. Но мы считаем, что никакой объективный количественный критерий эффективности кластеризации не существует, хотя много усилий было израсходовано на его поиск. Мы не совсем уверены, по крайней мере в настоящее время, как результаты зависят от данных.
В прикладных программах кластеризации мы пробуем найти режимы, то есть получить локальный максимум плотности вероятности, если номер М класса известен. Когда число классов неизвестно, мы обычно пробуем получить оценку номера и режимы, то есть находить естественную группировку образцов. Таким образом мы узнаём кое-что относительно статистики. Например, среднее и ковариация данных, которые будут проанализированы, полезны для предварительной обработки данных и обучения минимального классификатора расстояния для многих классов также как и для сетевой адаптивной классификации в неустановившейся среде. Это позволяет реализовать более эффективную и более точную классификацию модели.
5.2 Кластеризация с неизвестным числом классов
5.2.1 Адаптивное конструирование (эвристический метод)
Когда число классов неизвестно, классификация кластеризацией должна фактически создать вероятностные плотности из выборок модели. Адаптивный типовой набор - один из обычно используемых подходов.
Сущность этого алгоритма состоит в том, чтобы создать кластеры, используя критерий расстояния. Первый кластер может быть выбран произвольно. Как только кластер выбран, делается попытка включить в него очередной образец, если расстояние от образца до центра кластера меньше чем порог. Если нет, то сформировать новый кластер. Когда образец попадает в кластер, среднее и дисперсия того кластера будут скорректированы. Повторяем процесс, пока не распределим все образцы по кластерам. Процедура состоит из следующих шагов:
Рисунок 5.1. Кластеризация основанная на мере расстояния.
Пусть первый образец является представителем первого кластера:
z1 = x1
где z1 центр первого кластера.
Возьмём следующий образец и сосчитаем расстояние (меру схожести) до всех существующих кластеров (сначала у нас всего один кластер).
Присвоить x кластеру с центром zi если
(5.20)
где есть граница принадлежности для заданного кластера. Это значение должно быть указано заранее.
(b) Не присваивать x кластеру с центром в zi если
(5.21)
(c) Решение не может быть принято если x попадает в один из "промежуточных регионов" для zi, как показано на рисунке 5.1.
(a) Каждый раз когда новый x присваивается zi пересчитываем zi(t + 1) и C(t + 1) в соответствии со следующими выражениями:
где t обозначает число образцов уже присвоенных zi и x есть образец (t + l). zi(t) и C(t) сосчитаны на предыдущих шагах.
(b) Сформировать новый кластер zj если
(5.24)
Повторять шаги 2 и 3 пока все образцы не будут присвоены кластерам. Кластеры могут быть сформированы немного иначе, если образцы рассматриваются в другом порядке.
После того как тренировка окончена (что означает, что x не изменяет классы или всегда какое-то число x оказывается не присвоенным) мы можем позволить системе свободно проводить кластеризацию больших наборов образцов. С этого момента не существует региона неопределённости. Все x-ы попадающие в регион неопределённости могут быть присвоены ближайшему классу по правилу минимального расстояния. Все такие x-ы могут считаться неклассифицированными если расстояния от них до центров кластеров больше чем .
Этот алгоритм очень прост и эффективен. Его преимущества: минимум вычислений, образцы обрабатываются последовательно и не хранятся, число классов не задано.
С другой стороны имеются и недостатки. Во-первых необходимо сделать ряд предположений, например о том, что кластеры не вытянуты и расположены далеко друг от друга. Во-вторых результаты кластеризации зависят от порядка рассмотрения x-ов, причём первое значение используется как центр кластера. Если, например, центр кластера zi (а также C) изменяется, или x(t) попадается в порядке t + m, то этот образец может быть классифицирован иначе. Также различные результаты могут быть получены при тренировке. В-третьих результаты кластеризации сольно зависят от выбора .