Кластеризация графов без использования метрик (пример)
Материал из MachineLearning.
Volokno (Обсуждение | вклад)
(Новая: == Аннотация == Данная работа посвящена решению задачи кластеризации. Рассматривается задача кластер...)
К следующему изменению →
Версия 11:16, 9 мая 2011
Содержание |
Аннотация
Данная работа посвящена решению задачи кластеризации. Рассматривается задача кластеризации на графах, на которых не задана метрика. Подобная задача может встретиться, например, при анализе групп знакомств в социальных сетях. Для ее решения предлагается использовать вероятностный алгоритм построения дендрограммы.
Постановка задачи
Пусть задан граф ( – множество вершин графа, – множество ребер, – весовая функция) и целое число .
Задача кластеризации заключается в поиске разбиения на непересекающихся подмножеств (), с минимизацией заданного функционала . В качестве такого функционала будем рассматривать сумму весов ребер между подмножествами, т.е.
Введем ряд определений, которыми будем пользоваться в дальнейшем.
Определение. Вероятность, превышающую , будем называть высокой.
Определение. Вероятностный алгоритм, получающий на вход данные оптимизационной задачи и параметр , который за полиномиальное время с высокой вероятностью получает решение, не более чем в раз превышающее оптимальное, будем называть полиномиальной рандомизированной аппроксимационной схемой (PRAS).
Определение. Если PRAS находит оптимальное решение с высокой вероятностью для любого , то такой алгоритм будем называть вероятностным алгоритмом типа Монте-Карло.
В дальнейшем граф будем считать связным, а веса ребер – единичными. Несколько слов о модификации алгоритма для решения задачи в случае взвешенного графа будет сказано в следующем разделе.
Первое условие не накладывает никаких дополнительных ограничений, поскольку в случае несвязного графа можно каждую отдельную компоненту связности рассматривать в качестве одного из кластеров.
Второе условие возникает из конструкции алгоритма и приводит к тому, что минимизируемый функционал будет представлять собой число ребер между кластерами. Для того чтобы рассмотреть задачу в более общем случае потребуется дерандомизация исследуемого алгоритма, что приведет к возрастанию его трудоемкости.
Заметим, что рассматривается задача с заранее заданным число кластеров. Подбор оптимального значения числа можно в дальнейшем осуществить простым перебором.
Алгоритм
В состоянии правки
Вычислительный эксперимент
Вычислительный эксперимент будет проведен на ряде модельных графов. Представлены графы с различным числом вершин, результаты кластеризации данных графов, полученные рассматриваемым алгоритмом, и получены графики зависимости времени работы и качества работы алгоритма от числа вершин в графе.
Исходный код
Литература
Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |