Метод Лувена
Часть серии о | ||||
Сетевая наука | ||||
---|---|---|---|---|
Типы сетей | ||||
Графики | ||||
|
||||
Модели | ||||
|
||||
| ||||
Метод Лувена для обнаружения сообществ — это метод извлечения непересекающихся сообществ из больших сетей, созданный Блонделем и др . [1] из Лувенского университета (источник названия этого метода). Этот метод представляет собой жадный метод оптимизации, который работает во времени. где — количество узлов в сети. [2]
Оптимизация модульности
[ редактировать ]Вдохновением для этого метода обнаружения сообществ является оптимизация модульности по мере развития алгоритма. Модульность — это значение шкалы от −0,5 (немодульная кластеризация) до 1 (полностью модульная кластеризация), которое измеряет относительную плотность ребер внутри сообществ по отношению к ребрам вне сообществ. Оптимизация этого значения теоретически приводит к наилучшей возможной группировке узлов данной сети. Но поскольку перебирать все возможные итерации узлов в группы нецелесообразно, используются эвристические алгоритмы.
В методе Лувена обнаружения сообществ сначала небольшие сообщества находятся путем локальной оптимизации модульности на всех узлах, затем каждое небольшое сообщество группируется в один узел, и первый шаг повторяется. Этот метод аналогичен более раннему методу Клаузе, Ньюмана и Мура. [3] который объединяет сообщества, объединение которых приводит к наибольшему увеличению модульности. Было показано, что алгоритм Лувена правильно определяет структуру сообщества, когда она существует, в частности, в стохастической блочной модели. [4]
Алгоритм
[ редактировать ]Оптимизируемое значение — это модульность , определяемая как значение в диапазоне который измеряет плотность связей внутри сообществ по сравнению со связями между сообществами. [1] Для взвешенного графа модульность определяется как:
где:
- представляет вес ребра между узлами и ; см. матрицу смежности ;
- и представляют собой сумму весов ребер, прикрепленных к узлам и , соответственно;
- — сумма всех весов ребер в графе;
- – общее количество узлов в графе;
- и — это сообщества, к которым относятся узлы и принадлежать; и
- дельта - функция Кронекера :
На основе приведенного выше уравнения модульность сообщества можно рассчитать как: [5]
где
- представляет собой сумму весов ребер между узлами внутри сообщества. (каждое ребро рассматривается дважды); и
- представляет собой сумму всех весов ребер для узлов внутри сообщества (включая ребра, которые связаны с другими сообществами).
Поскольку узлы в разных сообществах не способствуют модульности , это можно записать как:
Чтобы максимально эффективно максимизировать модульность, метод Лувена состоит из двух этапов, которые повторяются итеративно.
Этап 1:
1. Во-первых, каждый узел сети закреплен за своим сообществом.
2. Далее для каждого узла , изменение модульности рассчитывается для удаления из своего сообщества и перемещения его в сообщество каждого соседа из . Это значение вычисляется в два этапа:
(a) Вычислите изменение модульности для удаления узла от своего первоначального сообщества.
(б) Вычислить изменение модульности для вставки изолированного узла (т.е. узел не имеет связей и находится в сообществе только самого себя) в сообщество соседнего узла, обозначаемого .
Далее мы покажем вывод для (b). Уравнения для (а) аналогичны и могут быть вычислены аналогичными методами.
Сначала мы вычисляем модульность изолированного кластера узлов , который мы назовем . Здесь мы предполагаем, что петель нет, и поэтому для всех значений :
Далее мы вычисляем модульность кластера прежде чем мы добавили новый узел . Мы уже вычислили это уравнение:
Наконец, мы вычисляем модульность кластера после того, как мы добавили новый узел :
Мы можем переписать первый член следующим образом:
где представляет собой сумму весов всех ребер, которые проходят между узлами и узлы в сообществе . Другими словами, это степень узла внутри сообщества .
Мы можем переписать второе слагаемое так:
Объединив это, мы имеем:
Сложив уравнения для , , и , мы можем вычислить изменение модульности для добавления изолированного узла в кластер . Иногда это называют выигрышем : [1]
3. После изменения модульности было рассчитано для всех сообществ этот узел подключен к узлу помещен в сообщество, что привело к наибольшему увеличению модульности. Если увеличение невозможно, узел остается в своем первоначальном сообществе.
4. Этот процесс применяется многократно и последовательно ко всем узлам до тех пор, пока не перестанет увеличиваться модульность. Как только этот локальный максимум модульности будет достигнут, первая фаза закончится.
Этап 2:
Второй этап алгоритма включает в себя сокращение сообществ до одного узла и повторение шагов этапа 1:
1. Каждое сообщество сводится к одному узлу. Ребра, соединяющие узлы из другим сообществам и аналогичным образом сводится к одному взвешенному преимуществу.
2. После создания нового графа второй этап завершается, и первый этап можно повторно применить к новой сети.
Предыдущее использование
[ редактировать ]- Социальная сеть Twitter (2,4 миллиона узлов, 38 миллионов ссылок) Хосепа Пухоля, Виджая Эррамилли и Пабло Родригеса: [6] Авторы исследуют проблему разделения социальных сетей на разные машины.
- Сеть мобильной связи (4 миллиона узлов, 100 миллионов каналов), авторы: Дерек Грин, Донал Дойл и Падрейг Каннингем: [7] Стратегии отслеживания сообществ для выявления динамических сообществ в различных динамичных социальных сетях.
- Обнаружение видов в сетевой динамической модели. [8]
Недостатки
[ редактировать ]Лувен создает только непересекающиеся сообщества, а это означает, что каждый узел может принадлежать не более чем одному сообществу. Это крайне нереально во многих реальных приложениях. Например, в социальных сетях большинство людей принадлежат к нескольким сообществам: их семье, друзьям, коллегам, старым школьным приятелям и т. д. В биологических сетях большинство генов или белков принадлежат более чем одному пути или комплексу. Более того, было показано, что Лувен иногда создает произвольно плохо связанные сообщества, и его эффективно заменил (по крайней мере, в непересекающемся случае) алгоритм Лейдена . [9]
Сравнение с другими методами обнаружения непересекающихся сообществ
[ редактировать ]При сравнении методов оптимизации модульности важными показателями являются скорость и результирующее значение модульности. Чем выше скорость, тем лучше, поскольку это показывает, что метод более эффективен, чем другие, и желательно более высокое значение модульности, поскольку оно указывает на более четко определенные сообщества. Сравниваемыми методами являются алгоритм Клаузета, Ньюмана и Мура, [3] Понс и Латапи, [10] и Вакита и Цуруми. [11]
Каратэ | Арксив | Интернет | Веб-nd.edu | Телефон | Веб Великобритания-2005 | Веб-веббаза 2001 | |
---|---|---|---|---|---|---|---|
Узлы/ссылки | 34/77 | 9к/24к | 70 тыс./351 тыс. | 325 тыс./1М | 2,6 М/6,3 М | 39М/783М | 118М/1Б |
Клаузет, Ньюман и Мур | .38/0 с | 0,772/3,6 с | .692/799 с | .927/5034с | -/- | -/- | -/- |
Понс и Латапи | .42/0 с | 0,757/3,3 с | .729/575с | .895/6666p | -/- | -/- | -/- |
Вакита и Цуруми | .42/0 с | 0,761/0,7 с | .667/62с | .898/248 с | .56/464 с | -/- | -/- |
Лувенский метод | .42/0 с | .813/0p | 0,781/1 с | .935/3с | .769/134с | .979/738 с | 0,984/152 млн. |
-/- в таблице относится к методу, выполнение которого заняло более 24 часов. Эта таблица (из [1] [13] ) показывает, что метод Лувена превосходит многие аналогичные методы оптимизации модульности как по модульности, так и по временным категориям.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б с д Блондель, Винсент Д; Гийом, Жан-Лу; Ламбьотт, Рено; Лефевр, Этьен (9 октября 2008 г.). «Быстрое развертывание сообществ в крупные сети». Журнал статистической механики: теория и эксперимент . 2008 (10): P10008. arXiv : 0803.0476 . Бибкод : 2008JSMTE..10..008B . дои : 10.1088/1742-5468/2008/10/P10008 . S2CID 334423 .
- ^ Ланчикинетти, Андреа; Фортунато, Санто (30 ноября 2009 г.). «Алгоритмы обнаружения сообществ: сравнительный анализ». Физический обзор E . 80 (5): 056117. arXiv : 0908.1062 . Бибкод : 2009PhRvE..80e6117L . дои : 10.1103/physreve.80.056117 . ISSN 1539-3755 . ПМИД 20365053 . S2CID 14193110 .
- ^ Jump up to: а б Клосет, Аарон; Ньюман, МЭЖ; Мур, Кристофер (6 декабря 2004 г.). «Нахождение структуры сообщества в очень больших сетях». Физический обзор E . 70 (6): 066111. arXiv : cond-mat/0408187 . Бибкод : 2004PhRvE..70f6111C . дои : 10.1103/PhysRevE.70.066111 . ISSN 1539-3755 . ПМИД 15697438 . S2CID 8977721 .
- ^ Коэн-Аддад, Винсент; Косовский, Адриан; Мальманн-Тренн, Фредерик; Саулпик, Дэвид (2020). «О силе Лувена в стохастической блочной модели». Достижения в области нейронных систем обработки информации (Neurips 2020) . Curran Associates, Inc., стр. 4055–4066.
- ^ https://eecs.wsu.edu/~ananth/papers/Ghosh_IPDPS18.pdf
- ^ Пуйоль, Хосеп М.; Эррамилли, Виджай; Родригес, Пабло (2009). «Разделяй и властвуй: разделение социальных сетей в Интернете». arXiv : 0905.4918v1 [ cs.NI ].
- ^ Грин, Дерек; Дойл, Донал; Каннингем, Падрейг (май 2011 г.). Отслеживание эволюции сообществ в динамических социальных сетях (PDF) (Технический отчет). Университетский колледж Дублина. UCD-CSI-2011-06. Архивировано из оригинала (PDF) 12 мая 2013 г. Проверено 20 ноября 2014 г.
- ^ Маркович, Омер; Красногор, Наталио (2018). «Прогнозирование появления видов в смоделированных сложных предбиотических сетях» . ПЛОС ОДИН . 13 (2): e0192871. Бибкод : 2018PLoSO..1392871M . дои : 10.1371/journal.pone.0192871 . ПМЦ 5813963 . ПМИД 29447212 .
- ^ Трааг, Вирджиния; Уолтман, Л.; ван Эк, Нью-Джерси (26 марта 2019 г.). «От Лувена до Лейдена: гарантия хороших связей между сообществами» . Научные отчеты . 9 (1): 5233. arXiv : 1810.08473 . Бибкод : 2019НатСР...9.5233Т . дои : 10.1038/s41598-019-41695-z . ISSN 2045-2322 . ПМЦ 6435756 . ПМИД 30914743 .
- ^ Понс, Паскаль; Латапи, Матье (2006). «Вычислительные сообщества в больших сетях с использованием случайных блужданий» (PDF) . Журнал графовых алгоритмов и приложений . 10 (2): 191–218. arXiv : cond-mat/0412368 . дои : 10.7155/jgaa.00124 . S2CID 121714719 .
- ^ Вакита, Кен; Цуруми, Тосиюки (2007). «Нахождение структуры сообщества в мегамасштабных социальных сетях». arXiv : cs/0702048 .
- ^ Блондель, Винсент Д.; Гийом, Жан-Лу; Ламбьотт, Рено; Лефевр, Этьен (2008). «Быстрое развертывание сообществ в крупные сети». Журнал статистической механики: теория и эксперимент . 2008 (10): P10008. arXiv : 0803.0476 . Бибкод : 2008JSMTE..10..008B . дои : 10.1088/1742-5468/2008/10/P10008 . S2CID 334423 .
- ^ Эйно, Томас; Блондель, Винсент Д.; Гийом, Жан-Лу; Ламбьотт, Рено (2013). «Многоуровневая локальная оптимизация модульности» . В Бишо, Шарль-Эдмон; Сиарри, Патрик (ред.). Разделение графа (1-е изд.). Уайли (опубликовано 13 февраля 2013 г.). стр. 315–345. дои : 10.1002/9781118601181.ch13 . ISBN 978-1-84821-233-6 .
- «Метод Лувена для обнаружения сообществ в больших сетях» Винсент Блондель http://perso.uclouvain.be/vincent.blondel/research/louvain.html