Теоретические основы кластерного анализа

Автор работы: Пользователь скрыл имя, 03 Февраля 2014 в 18:31, курсовая работа

Краткое описание

Ленивые люди ищут простейшие пути прохождения. От выбора порядка прохождения контрольных точек зависит время прохождения, а так же затраты на дорогу. В пути тратятся драгоценные физические силы, являющиеся ограниченным человеческим ресурсом, а успеть необходимо многое. Эту задачу решают спортсмены во время спортивного ориентирования, почтальон при разносе пенсий и почты, а так же проверяющие предприятий. Это все подтверждает актуальность данной работы древности.

Содержание

1.Введение
2. Теоретические основы кластерного анализа
2.1 Объединение (древовидная кластеризация)
2.1.1 Иерархическое дерево
2.1.2 Меры расстояния
2.1.3 Правила объединения
2.2 Метод К средних
2.2.1 Описание алгоритма
2.2.2 Проверка качества кластеризации
2.3 Кластеризация с помощью генетических алгоритмов
2.4 Решение задачи коммивояжера с помощью генетических алгоритмов
3.1 Описание объектов кластеризации
3.2 Разбиение участников рейда на группы методом древовидной кластеризации
3.3 Разбиение участников рейда на группы методом К средних
3.4 Разбиение участников рейда на группы и выявление центра сбора участников рейда с помощью генетических алгоритмов
3.5 Нахождение оптимальных путей для каждой из групп
4 Заключение

Прикрепленные файлы: 1 файл

Кластерный анализ.doc

— 719.50 Кб (Скачать документ)

Оглавление

1.Введение

2. Теоретические основы  кластерного анализа

2.1 Объединение (древовидная  кластеризация)

2.1.1 Иерархическое дерево

2.1.2 Меры расстояния

2.1.3 Правила объединения

2.2 Метод К средних

2.2.1 Описание алгоритма

2.2.2 Проверка качества  кластеризации

2.3 Кластеризация с  помощью генетических алгоритмов

2.4 Решение задачи коммивояжера  с помощью генетических алгоритмов

3.1 Описание объектов  кластеризации

3.2 Разбиение участников рейда на группы методом древовидной кластеризации

3.3 Разбиение участников  рейда на группы методом К  средних

3.4 Разбиение участников  рейда на группы и выявление  центра сбора участников рейда  с помощью генетических алгоритмов 

3.5 Нахождение оптимальных путей для каждой из групп

4 Заключение

 

 

 

 

 

 

 

 

 

Введение.

Постановка задачи следующая. Участники рейда должны выйти из точки встречи, посетить по разу в неизвестном порядке магазины 2,1,3..n и вернуться в точку сбора. Расстояния между магазинами известны. В каком порядке следует обходить магазины в течение рейда, чтобы замкнутый путь (тур) участников был кратчайшим?

По сути это задача Коммивояжёра. Задача о бродячем торговце, одна из известных задач конечной математики. Формулируется следующим  образом: даны n городов и известны расстояния между каждыми двумя городами; коммивояжёр, выходящий из какого-нибудь города, должен посетить n — 1 других городов и вернуться в исходный. В каком порядке ему нужно посещать города (по одному разу каждый), чтобы общее пройденное расстояние было минимальным? К задачам такого типа, связанным с объездом ряда пунктов и возвращением в исходную точку, относятся: задачи доставки продуктов питания в магазины, подвода электроэнергии к потребителям, построения кольцевой линии электропередач, различные задачи, возникающие при автоматизации монтажа схем. Методы решения Коммивояжёра задачи сводятся к организации полного перебора вариантов; никакого эффективного алгоритма не известно.1

Магазинов всего 38, для этого участники разбиваются на группы, для экономии времени. Оптимальное количество групп определяется с помощью кластерного анализа.

"Кластерный анализ – совокупность  математических методов, предназначенных  для формирования относительно "отдаленных" друг от друга групп "близких" между собой объектов по информации о расстояниях или связях (мерах близости) между ними. По смыслу аналогичен терминам: автоматическая классификация, таксономия, распознавание образов без учителя." Такое определение кластерного анализа дано в последнем издании "Статистического словаря". Фактически "кластерный анализ" - это обобщенное название достаточно большого набора алгоритмов, используемых при создании классификации. Кластерный анализ широко используется в науке как средство типологического анализа. В любой научной деятельности классификация является одной из фундаментальных составляющих, без которой невозможны построение и проверка научных гипотез и теорий. Таким образом, в работе рассматриваются  основы кластерного анализа.2

Ленивые люди ищут простейшие пути прохождения. От выбора порядка прохождения контрольных точек зависит время прохождения, а так же затраты на дорогу. В пути тратятся драгоценные физические силы, являющиеся ограниченным человеческим ресурсом, а успеть необходимо многое. Эту задачу решают спортсмены во время спортивного ориентирования, почтальон при разносе пенсий и почты, а так же проверяющие предприятий. Это все подтверждает актуальность данной работы древности.

 

2 Теоретические  основы кластерного анализа 

Термин кластерный анализ (впервые ввел Tryon, 1939) в действительности включает в себя набор различных алгоритмов классификации. Общий вопрос, задаваемый исследователями во многих областях, состоит в том, как организовать наблюдаемые данные в наглядные структуры, т.е. развернуть таксономии.

Фактически, кластерный анализ является не столько обычным  статистическим методом, сколько "набором" различных алгоритмов "распределения объектов по кластерам". Существует точка зрения, что в отличие от многих других статистических процедур, методы кластерного анализа используются в большинстве случаев тогда, когда вы не имеете каких-либо априорных гипотез относительно классов, но все еще находитесь в описательной стадии исследования. Кластерный анализ определяет "наиболее возможно значимое решение".

Техника кластеризации  применяется в самых разнообразных  областях. Хартиган (Hartigan, 1975) дал прекрасный обзор многих опубликованных исследований, содержащих результаты, полученные методами кластерного анализа. Ввсякий раз, когда необходимо классифицировать "горы" информации к пригодным для дальнейшей обработки группам, кластерный анализ оказывается весьма полезным и эффективным.

2. 1 Объединение (древовидная кластеризация)

Назначение этого алгоритма состоит в объединении объектов в достаточно большие кластеры, используя расстояние между объектами. Типичным результатом такой кластеризации является иерархическое дерево.

2.1.1 Иерархическое дерево

Рассмотрим горизонтальную древовидную диаграмму. Диаграмма начинается с каждого объекта в классе (в левой части диаграммы). Постепенно (очень малыми шагами) ослабляется критерий о том, какие объекты являются уникальными, а какие нет. Другими словами, понижается порог, относящийся к решению об объединении двух или более объектов в один кластер.

В результате, связываеся вместе всё большее и большее число объектов и агрегируется (объединяется) все больше и больше кластеров, состоящих из все сильнее различающихся элементов. Окончательно, на последнем шаге все объекты объединяются вместе. На этих диаграммах горизонтальные оси представляют расстояние объединения (в вертикальных древовидных диаграммах вертикальные оси представляют расстояние объединения). Так, для каждого узла в графе (там, где формируется новый кластер) можно видеть величину расстояния, для которого соответствующие элементы связываются в новый единственный кластер. Когда данные имеют ясную "структуру" в терминах кластеров объектов, сходных между собой, тогда эта структура, скорее всего, должна быть отражена в иерархическом дереве различными ветвями. В результате успешного анализа методом объединения появляется возможность обнаружить кластеры (ветви) и интерпретировать их.

 

 

2.1.2 Меры расстояния

Объединение или метод древовидной  кластеризации используется при  формировании кластеров расстояния между объектами. Эти расстояния могут определяться в одномерном или многомерном пространстве. Наиболее прямой путь вычисления расстояний между объектами в многомерном пространстве состоит в вычислении евклидовых расстояний. Если есть двух- или трёхмерное пространство, то эта мера является реальным геометрическим расстоянием между объектами в пространстве (как будто расстояния между объектами измерены рулеткой). Однако алгоритм объединения не "заботится" о том, являются ли "предоставленные" для этого расстояния настоящими или некоторыми другими производными мерами расстояния, что более значимо для исследователя; и задачей исследователей является подобрать правильный метод для специфических применений.

Евклидово расстояние. Это наиболее общий тип расстояния. Оно попросту является геометрическим расстоянием в многомерном пространстве и вычисляется следующим образом:

расстояние(x,y) = { i (xi - yi)2 }1/2

Евклидово расстояние (и его квадрат) вычисляется по исходным, а не по стандартизованным данным. Это обычный способ его вычисления, который имеет определенные преимущества (например, расстояние между двумя объектами не изменяется при введении в анализ нового объекта, который может оказаться выбросом). Тем не менее, на расстояния могут сильно влиять различия между осями, по координатам которых вычисляются эти расстояния. К примеру, если одна из осей измерена в сантиметрах, а вы потом переведете ее в миллиметры (умножая значения на 10), то окончательное евклидово расстояние (или квадрат евклидова расстояния), вычисляемое по координатам, сильно изменится, и, как следствие, результаты кластерного анализа могут сильно отличаться от предыдущих.

Квадрат евклидова расстояния. Иногда может возникнуть желание возвести в квадрат стандартное евклидово расстояние, чтобы придать большие веса более отдаленным друг от друга объектам. Это расстояние вычисляется следующим образом:

расстояние(x,y) = i (xi - yi)2

Расстояние городских  кварталов (манхэттенское расстояние). Это расстояние является просто средним разностей по координатам. В большинстве случаев эта мера расстояния приводит к таким же результатам, как и для обычного расстояния Евклида. Однако отметим, что для этой меры влияние отдельных больших разностей (выбросов) уменьшается (так как они не возводятся в квадрат). Манхэттенское расстояние вычисляется по формуле:

расстояние(x,y) = i |xi - yi|

Расстояние Чебышева. Это расстояние может оказаться полезным, когда желают определить два объекта как "различные", если они различаются по какой-либо одной координате (каким-либо одним измерением). Расстояние Чебышева вычисляется по формуле:

расстояние(x,y) = Максимум|xi - yi|

Степенное расстояние. Иногда желают прогрессивно увеличить или уменьшить вес, относящийся к размерности, для которой соответствующие объекты сильно отличаются. Это может быть достигнуто с использованием степенного расстояния. Степенное расстояние вычисляется по формуле:

расстояние(x,y) = ( i |xi - yi|p)1/r

где r и p - параметры, определяемые пользователем. Несколько примеров вычислений могут показать, как "работает" эта мера. Параметр p ответственен за постепенное взвешивание разностей по отдельным координатам, параметр r ответственен за прогрессивное взвешивание больших расстояний между объектами. Если оба параметра - r и p, равны двум, то это расстояние совпадает с расстоянием Евклида.

Процент несогласия. Эта мера используется в тех случаях, когда данные являются категориальными. Это расстояние вычисляется по формуле:

расстояние(x,y) = (Количество xi yi)/ i  

2.1.3 Правила объединения или связи

На первом шаге, когда  каждый объект представляет собой отдельный кластер, расстояния между этими объектами определяются выбранной мерой. Однако когда связываются вместе несколько объектов, возникает вопрос, как следует определить расстояния между кластерами? Другими словами, необходимо правило объединения или связи для двух кластеров. Здесь имеются различные возможности: например, можно связать два кластера вместе, когда любые два объекта в двух кластерах ближе друг к другу, чем соответствующее расстояние связи. Другими словами, используется "правило ближайшего соседа" для определения расстояния между кластерами; тот метод называется методом одиночной связи. Это правило строит "волокнистые" кластеры, т.е. кластеры, "сцепленные вместе" только отдельными элементами, случайно оказавшимися ближе остальных друг к другу. Как альтернативу вы можете использовать соседей в кластерах, которые находятся дальше всех остальных пар объектов друг от друга. Этот метод называется метод полной связи. Существует также множество других методов объединения кластеров, подобных тем, что были рассмотрены.

Одиночная связь (метод ближайшего соседа). Как было описано выше, в этом методе расстояние между двумя кластерами определяется расстоянием между двумя наиболее близкими объектами (ближайшими соседями) в различных кластерах. Это правило должно, в известном смысле, нанизывать объекты вместе для формирования кластеров, и результирующие кластеры имеют тенденцию быть представленными длинными "цепочками".

Полная связь (метод наиболее удаленных соседей). В этом методе расстояния между кластерами определяются наибольшим расстоянием между любыми двумя объектами в различных кластерах (т.е. "наиболее удаленными соседями"). Этот метод обычно работает очень хорошо, когда объекты происходят на самом деле из реально различных "рощ". Если же кластеры имеют в некотором роде удлиненную форму или их естественный тип является "цепочечным", то этот метод непригоден.

 

2. 2 Метод K средних

 Имея гипотезы относительно числа кластеров (по построению точек на плоскости), системе указывается образовать ровно четыре кластера так, чтобы они были настолько различны, насколько это возможно. Это именно тот тип задач, которые решает алгоритм метода K средних. В общем случае метод K средних строит ровно K различных кластеров, расположенных на возможно больших расстояниях друг от друга.

С вычислительной точки  зрения можно рассматривать этот метод, как дисперсионный анализ "наоборот". Программа начинает с K случайно выбранных кластеров, а затем изменяет принадлежность объектов к ним, чтобы: (1) - минимизировать изменчивость внутри кластеров, и (2) - максимизировать изменчивость между кластерами. Данный способ аналогичен методу "дисперсионный анализ (ANOVA) наоборот" в том смысле, что критерий значимости в дисперсионном анализе сравнивает межгрупповую изменчивость с внутригрупповой при проверке гипотезы о том, что средние в группах отличаются друг от друга. В кластеризации методом K средних программа перемещает объекты (т.е. наблюдения) из одних групп (кластеров) в другие для того, чтобы получить наиболее значимый результат при проведении дисперсионного анализа (ANOVA).

Обычно, когда результаты кластерного анализа методом K средних  получены, можно рассчитать средние  для каждого кластера по каждому измерению, чтобы оценить, насколько кластеры различаются друг от друга. В идеале вы должны получить сильно различающиеся средние для большинства, если не для всех измерений, используемых в анализе. Значения F-статистики, полученные для каждого измерения, являются другим индикатором того, насколько хорошо соответствующее измерение дискриминирует кластеры.3

 

2.2.1Описание алгоритма

Первоначальное  распределение объектов по кластерам.

Выбирается число k, и  на первом шаге эти точки считаются "центрами" кластеров. Каждому кластеру соответствует один центр.

Выбор начальных центроидов может осуществляться следующим  образом:

Информация о работе Теоретические основы кластерного анализа