Генерация социальных графов и поиск сообществ Abstract

advertisement
Генерация социальных графов и поиск сообществ
Бузун Назар
Московский физико-технический институт (ГУ)
postrealist@gmail.com
Abstract
группах (политика / религия / личная жизнь
/ игры) из-за давления со стороны сверстников.
Наконец, некоторые виды групп (географические
/ образовательные / профессиональные) основаны
на сходстве атрибутов и не могут быть полностью
восстановлены, в связи с неполнотой информации о
пользователях.
В то же время, раскрытие структуры
неявных сообществ социальной сети (извлечение
списка сообществ для выбранного пользователя)
предоставляет дополнительный источник данных
для
многих
аналитических
приложений
и
служб. Именно поэтому методы кластеризации
графов привлекли большое внимание со стороны
исследователей по всему миру. Например, широко
востребованы такие задачи, как коллаборативная
фильтрация при типе отношений покупатель-товар,
обнаружение социального сходства, категоризация
текстового контента и фильтрация спама. Недавние
исследования [10, 11] показывают, что системы
рекомендаций (использующие коллаборативную
фильтрацию) могут получить выигрыш от
привлечения нескольких видов взаимосвязанных
объектов. Кроме вида отношений покупатель-товар,
система должна также уметь учитывать сообщества
покупателя по интересам, категории товара и
дополнительные его характеристики.
Причина
в том, что разреженная структура наблюдаемой
матрицы рейтингов покупатель-товар ведет к
значительному переобучению.
Таким образом,
дополнительные виды отношений, в том числе
структура сообществ, играют роль регуляризаторов
в таких задачах.
Помимо методов поиска сообществ для
исследовательских целей (к примеру, тестирования
методов поиска на точность и производительность)
востребованы генераторы социальных графов. Как
правило, генерация графа занимает значительно
меньше времени, нежели скачивание социальной
сети, к тому же, поваляется возможность
регулировки интересующих параметров.
К
получаемым
таким
образом
синтетическим
графам налагается ряд структурных требований,
приближающих их к реальным социальным
В
данном
исследовании
рассматривается
вероятностная
модель
социального
графа.
Сформирован список наиболее важных свойств
сообществ
в
социальном
графе,
которые
объединены в вероятностную генеративную
модель. Данная модель будет использована как
при генерации графов, так и для выявления
структуры сообществ. Преимуществами модели
в сравнении с другими генераторами графов и
методами поиска сообществ является гибкая
настройка под конкретный тип социальной сети,
учет атрибутов пользователей и эгосообществ
(индивидуальных кругов друзей пользователей),
относительно низкая сложность вычислений и
возможность проведения распределенных расчетов.
1. Введение
Общение в социальных сетях, как известно,
имеет естественную модульную структуру [5].
Пользователи социальных сетей, как правило,
объединяются либо явно (с помощью встроенного
функционала образования групп) или неявно
(путем установления связей, основанных на
общей принадлежности,
роли,
деятельности,
кругов общения, интересов, функции или какоголибо другого типа связи).
На данный момент
не
существует
общепринятого
формального
определения сообщества. Обзорные статьи [1, 2]
содержат многочисленные определения, которым
можно сопоставить различные контр-примеры.
В соответствии с общей теорией идентификации
[3], люди присоединяются к группам, исходя из
идентичности (то есть на основании интереса к
обсуждаемым темам) или так называемого “bond
attachment” (то есть, социальных отношений).
Однако, поддержание множества кругов общения и
категорий в явном виде займет у пользователя массу
времени. Кроме того, для многих людей может быть
неудобным явно объявить членство в некоторых
398
графам, которые будут приведены ниже и по
выполнимости которых будет выполнятся сравнение
с
существующими
алгоритмами
генерации
социальных сетей.
Целью данной работы является построение
общей вероятностной модели, включающей набор
предъявленный качественных свойств социальной
сети, которая может быть использована как
для генерации графа с выраженной кластерной
структурой, так и для поиска сообществ. Помимо
того, в работе приведен ряд свойств предлагаемой
модели и экспериментальное сравнение в точности и
производительности с другими методами.
Далее будем рассматривать вероятностную
модель социального графа (см. аналоги [4, 6, 7],
представляющего собой четверку (V, E,W, A), где V
– пользователи социальной сети, E – отношение
на множестве V × V (ребра), W – интенсивность
взаимодействия (веса ребер), A : V → 2D – атрибуты
пользователей (например, место работы, вуз, год
рождения, национальность).
В первом разделе мы приведем список свойств
социального графа, собранный из нескольких
источников.
Далее следует поэтапное описание
распределенного
метода
генерации
графа,
базирующегося на требуемых свойствах.
Здесь
же коснемся способов вычисления статистик графа,
а также проанализируем репрезентативность
(выраженность)
кластерной
структуры
в
зависимости от конфигурации генератора.
В
завершение,
выполнено
экспериментальное
сравнение
с
наиболее
распространенным
генератором LFR [13].
В разделе поиска сообществ будет рассмотрен
EM-алгоритм и жадный способ (seed expansion)
оптимизации правдоподобия модели, а также будет
проведено сравнение наиболее точных методов
кластеризации графов при помощи метрики
правдоподобия на данных из сети Facebook [9, 12].
1. Отделимость
соответствует
интуиции,
что хорошее сообщество должно заметно
отделяться от остальной части сети.
Это
может
рассматриваться
как
отношение
количества внутренних и внешних ребер
сообщества [5]. В некоторых случаях, однако,
когда узел принадлежит многим различным
сообществам, количество внешних ребер может
превышать количество внутренних. В такой
ситуации можно охарактеризовать сильную
(статистически значимую) связь узла j и
сообщества Zc вероятностью
p jc = P(Kc j ≥ kc j ),
где Kc j является количеством внутренних ребер,
оцененным в некоторой модели случайного
графа с такими же степенями узлов или их
математическими ожиданиями. Меньшее p jc
значение означает более крепкую связь узла с
сообществом.
Аггрегация вероятностей
f p jc , j ∈ Zc
по всем членам сообщества (наподобие Bscore или C-score [14]), зачастую, лучше
характеризует отделимость, нежели отношение
числа внутренних и внешних ребер;
2. Плотность означает, что вероятность двух
узлов быть соединенными увеличивается с
количеством общих сообществ, к которым они
принадлежат [4, 7]. Связь между i и j (наличие
или отсутствие ребра) моделируется с помощью
Ai j – независимые случайные величины:
Ai j ∈ Be(1 − exp(−λi j )),
λi j = ∑(zic z jc λc + εg(zic , z jc , ki , k j , ki jc )),
c
где zic = 1 означает, что i входит в сообщество
Zc , ki jc – количество общих друзей внутри Zc , λc
– параметр модели, связанный с вероятностью
ребра внутри c, ε – малый параметр.
2. Структурные свойства социальной
сети
3. Cohesiveness
характеризует
внутреннюю
структуру сообщества.
Должно быть
относительно трудно разделить сообщество
на под-сообщества. Формальное определение
этого свойства для Zc можно сформулировать
как:
∑i∈S, j6∈S Ai j
,
min
S⊆Zc min(A(S), A(Zc \ S)
Рассмотрим граф G = (V, E), |V | = n, |E| =
m.
Множество сообществ (cover ) определяется
как C = {Zc }Kc=1 , Zc ⊂ V и |Zc | = nc . Ожидается,
что cover имеет много перекрывающихся элементов.
Количество различных сообществ, связанных с j-м
узлом, называется membership узла и обозначается
как m j ≥ 0. Внутренняя и внешняя степень узла
j ∈ Zc относительно сообщества c обозначаются как
kc j и k j −kc j соответственно, где k j является степенью
j-го узла.
Выделим следующие определяющие свойства
структуры сообществ в социальных графах:
A(S) =
∑
Ai j .
i∈S, j∈S
4. Cohesion: если ребро (i, j) находится внутри
сообщества Zc то большинство общих соседей i
и j также принадлежат Zc [15];
399
5. Узлы низкой степени, как правило, являются
частью немногих сообществ, в то время как
узлы высоких степеней, являются членами
большего числа групп [5];
Table 1. Параметры для построения двудольного
графа пользователь-сообщество.
Параметр Описание
по умолч.
N1
# вершин
103 − 109
xmin
минимальный
10
размер сообщества
mmin
минимальный
1
membership
xmax
максимальный
10000
размер сообщества
mmax
максимальный
20
membership
β1
параметр
2.5
распределения
mj
β2
параметр
2.5
распределения
xc = |Zc |
6. Количество ребер в сообществе увеличивается
супер-линейно с ростом размера сообщества [5];
7. Membership пользователя
распределение [5];
8. Размер
сообщества
распределение [13];
имеет
имеет
степенное
степенное
9. Каждое
сообщество
характеризуется
небольшим числом атрибутов,
присущих
большинству членов сообщества [17].
Данный список позволяет задать правила
поэтапной
генерации
графа,
описанной
в
следующем разделе. Отдельные свойства, такие
как отделимость, плотность и сohesiveness, не
удается использовать в одной генеративной модели,
однако они остаются полезными при максимизации
правдоподобия расширенной модели при поиске
сообществ.
получено из уравнения:
M0 = N1 · E[m j ] = N2 · E[xc ],
где E[m j ] и E[xc ] математические ожидания membership и размера сообщества. Количество ребер в
двудольном графе определятся как
3. Генерация социального графа
M = (1 + P≥2 )M0 ,
Для построения графа будем опираться
на
свойства
2,4,6-9
предыдущего
раздела.
Распределенный алгоритм генератора включает
три основных этапа:
(2)
где P≥2 вероятность кратного ребра.
0
1
P≥2 = 1 − EPc,i
− EPc,i
≈
Em2j Exc2
,
M2
x c mi xc mi M
xc mi M−1
1
0
, Pc,i
=M·
.
Pc,i
= 1− 2
1− 2
M
M
M
Для случайной величины x со степенным
распределением с параметром β (p(x) ∝ x−β ),
моменты могут быть вычислены по формуле
(k − β + 1 6= 0)
1. Создать двудольный граф, соответствующий
матрице отношений пользователь-сообщество
(kZc j kK,N
Для этой цели используется
c=1, j=1 ).
конфигурационная модель [13] с некоторыми
изменениями, описанными ниже.
При
помощи конфигурационной модели можно
получать двудольные графы с заданными
математическими ожиданиями степеней вершин
(см. свойства 7,8).
E[xk ] =
2. Создать ребра внутри каждого сообщества с
использованием модифицированной модели
случайного
графа
Эрдеша–Реньи,
для
которой свойственно повышенное значение
коэффициента кластеризации (см. свойство 4).
β − 1 β −1 k−β +1
k−β +1
x (xmax − xmin ).
k − β + 1 min
(3)
При k − β + 1 = 0
k
E[x ] = (β
3. Присвоить категориальные атрибуты каждой
вершине из множества D.
3.1. Генерация
двудольного
пользователь-сообщество
(1)
β −1
− 1)xmin ln
xmax
xmin
.
Сам процесс генерации состоит в синхронном
(распределенном) выборе пар вершин вида (c, j) с
вероятностью m j xc /M 2 . Всего выбирается M таких
пар, при этом на каждом узле вычислительного
кластера выбирается M/s пар (всего на кластере
s узлов, работающих в параллельном режиме).
Последовательности
m1 , . . . , mN1
и
x1 , . . . , xN2
предварительно
генерируются
из
степенных
графа
Основной параметр N1 – число вершин графа,
из которого количество сообществ N2 может быть
400
распределений с параметрами β1 , β2 и по завершении
генерации ребер в среднем сохраняют свои значения
(отклонения имеют место ввиду появления кратных
ребер).
Вычислительная сложность данной стадии
может быть оценена как O(M log(N1 N2 )), где
логарифм возникает за счет семплирования
номеров c и j из дискретных распределений на
каждой итерации.
Погрешность вычисления моментов в формуле 3
с учетом того, что распределения степеней вершин
искажаются после создания графа при помощи
конфигурационной модели, объясняется следующей
теоремой
Table 2. Параметры для генерации ребер внутри
сообществ.
Параметр Описание
по умолч.
α
увеличивает
2
вероятность
ребра
в
сообществе
γ
уменьшает
0.5
вероятность
ребра
в
сообществе
ε
вероятность
N1−1
ребра в графе
λ
увеличивает
1
коэффициент
кластеризации
Теорема 1. Пусть Y – случайная величина с
биномиальным распределением с параметрами (n,
p = X/n), где X имеет степенное распределение с
параметром β . Тогда в вероятностью 1 − δ
p
k+1
k+0.5 2 log(n/δ ))
E[Y ]k − E[X]k ≤ 4(E[X] + kE[X]
.
n
Отметим, что в таком случае вероятность ребра (i, j)
в графе равна
N2
P(Ai j = 1) = 1 − ∏ (1 − pc )zic z jc .
Proof. В начале заметим, что если Z имеет
распределение Пуассона с параметром X, то
моменты Z и X совпадают. Действительно,
c=1
Параметр ε задает вероятность ребра в сообществе,
содержащего все вершины,
таким образом
моделируя появление ребер между сообществами.
Для увеличения коэффициента кластеризации в
сравнении со стандартной моделью Эрдеша-Реньи
используется модификация модели из работы [16].
Вместо пар вершин рассматриваются все возможные
комбинации троек вершин. На месте каждой тройки
образуется либо одно ребро, либо угол (два ребра),
либо треугольник как изображено на рисунке 1.
Зададим
вероятности
приведенных
конфигураций как
p0 = P(000) = (1 − p)3 ,
p1 = P(100) = p(1 − p)2 , p2 = P(110) = p2 (1 − p),
p3 = P(111) = p3 . Связь между pc и вероятностью
ребра в одной из троек сообщества p выражается из
соотношения pc = 1 − (1 − p)xc −2 .
EX EZ [Z]k = EX [X]k .
Применим неравенство Прохорова (см. [18] § 12) для
оценки разности полной вариации норм
∞ X
X i e−X i i
n−i
∑ Cn p (1 − p) − i! ≤ 4 n .
i=0
Из неравенства Бернштейна получаем,
вероятностью 1 − δ
r
n
∀ i ≤ n : i − X ≤ 2X log .
δ
что c
Домножив обе части неравенства Прохорова на
r
k
n
ik = X + 2X log
δ
и взяв математическое ожидание от обеих частей,
получим искомое неравенство.
Figure 1. Варианты генерируемой конфигурации
для каждой тройки вершин в сообществе.
!
3.2. Генерация ребер внутри сообществ
p = 1−e
Согласно свойству 6 вероятность ребра в
сообществе c можно задать как
pc =
α
γ,
xc
0 < γ < 1, α > 0.
ln(1−pc )
xck −2
= 1−e
ln 1− αγ
xc
xc −2
(5)
Регулировка
коэффициента
кластеризации
осуществляется за счет параметра λ
(4)
p2 = λ p2 (1 − p),
401
p3 = λ p3 ,
p0 = λ2 (1 − p)3 ,
p1 = λ2 p(1 − p)2 ,
3.4. Вычисление
вершины
причем λ облагается следующими ограничениями
λ2 =
1 − λ (1 − p01 )
≥ 0,
p01
λ≤
1
,
1 − p01
xc mi M xc mi
pic = P(Zic = 1) = 1 − 1 − 2
≈
.
M
M
Аналогично для пары вершин получаем, что
pi jc = P(Zic = 1, Z jc = 1) ≈
1 − pc = (1 − p∆ (1 − p))Mc (1+δ )
log(1 − pc )
− 1.
Mc log (1 − p∆ (1 − p))
∑ Epi jc pc − ∑
В завершении, кратные ребра удаляются и на
выходе получаем ненаправленный бинарный граф с
кластерной структурой без атрибутов. Временная
сложность второй стадии составляет O(N2 Mc ) ≈
2−γ
O(N2 Exc ).
∏
E
c <c2
c
|
{z
S1
+
∑
c1 <c2 <c3
|
E
pi jck pck +
k={1,2}
} |1
{z
}
S2
"
3.3. Генерация атрибутов пользователей
#
∏
pi jck pck ,
k={1,2,3}
{z
S3
}
где необходимые математические ожидания могут
быть вычислены по формуле
N2
θp
θ
θ1 θ2
∑ E[xc1 xc2 ·...·xc p ] = p E[xcθ11 ]E[xcθ22 ]·...·E[xc pp ]
c1 <c2 <...<c p
В начале, выполним присвоим атрибуты
сообществам,
который
впоследствии
будут
присвоены пользователям в соответствии с их
принадлежностью к сообществам. Назначим веса
атрибутов Wc1 , . . . ,WcD в сообществе c при помощи
распределения Дирихле
В
предпоследнем
выражении
величина
Sp
соответствуют всем ребрам,
которые были
сгенерированы не менее чем в p сообществах.
Согласно экспериментальным данным ребра
кратности более p = 3 встречаются менее чем
в 1% случаев.
Вычисление моментов E[xθ ]
осуществляется по формуле (3). В итоге, получаем
выражение для средней степени
Wc1 , . . . ,WcD ∼ Dir(a1 , . . . , aD ).
Разреженность вектора весов достигается за счет
выбора параметров a1 , . . . , aD близкими к нулю и
пропорционально глобальной частоте появления
соответствующих атрибутов у пользователей.
Далее, вершина j присваивает атрибут с номером a
с вероятностью
1
σ ∑ zc jWca , где σ (t) =
.
1
+
e−t
c
последней
xc mi (xc − 1)m j
.
M
M
Учитывая, что вероятность генерации ребра (i, j)
внутри равна pi jc pc (см. выражение 4), рассчитаем
вероятность ребра в итоговом графе P(Ai j = 1) по
формуле включений-исключений:
"
#
отсутствия ребра
где p = p0 + 2p1 + p2 – вероятность
x в тройке, p∆ = (xc − 2)/ 3ck – вероятность выбора
тройки при фиксированных i и j. Тогда
Временная
сложность
составляет O(N1 D).
степени
При
создании
графа
из
практических
соображений
вместо
параметров
α, γ
для
регулировки плотности ребер в графе удобнее
задавать в качестве входного параметры среднюю
степень.
В данном разделе будет получено
выражение для вероятности ребра в графе через
остальные параметры генератора, через которую
может быть легко получена оценка средней степени.
Найдем вероятность принадлежности вершины
i к сообществу c при условии xcMmi 1
1
≥ λ,
3p2
где p01 = p0 + 3p1 .
Для генерации описанной случайной модели
графа выбирается наугад (равновероятно) Mc троек,
где Mc , согласно модели, является случайной
величиной, имеющей биномиальное распределение
x
с параметрами ( 3ck , 3p1 + 3p2 + p3 ). Заметим,
что в сообществах больших размеров, выбор троек
осуществляется параллельно на нескольких узлах
кластера.
Аналогично ситуации с кратными ребрами в
двудольном графу величина Mc требует поправки,
для учета появления кратных троек. Будем искать
поправку в виде Mc (1 + δ ). Запишем вероятность
отсутствия ребра (i, j) двумя способами
δ=
средней
dmean ≈ (S1 − S2 + S3 )(N − 1).
3.5. Репрезентативность
структуры
стадии
с
402
кластерной
В этом разделе обозначим проблему, связанную
ограничениями на параметры генератора,
гарантирующими достаточно точное потенциальное
восстановление матрицы отношений вершинасообщество kZc j k по сгенерированному графу.
Рассмотрим
отклонение
значения
функции
правдоподобия в точке максимума Ze от значения
при истинном значении параметра Z ∗ , где
Ze = arg max L(Z),
Z
Z ∗ = arg max EA [L(Z)].
Z
Воспользуемся теоремой Уилкса для оценки
разности правдоподобия и тем самым зададим
общий вид ограничения на параметры генератора
e − L(Z ∗ )
kξ k2
L(Z)
≈
< δ,
∗
L(Z )
2L(Z ∗ )
где
D20 = −∇2 E[L(Z ∗ )] = Var(∇L(Z ∗ )),
kξ k2 = ∇LT (D20 )−1 ∇L.
Сам вид функции правдоподобия будет приведен
ниже.
3.6. Экспериментальное
генератора
исследование
Figure 3. Рис. 3: Проводимость, отделимость и
плотность сообществ в зависимости от размера
для предложенного генератора (слева) и LFR
(справа) N1 ≈ 105 , β = β1 = β2 = 2.5
Измерения проведенные на кластере из
небольшого числа узлов подтверждают близкую к
линейной временную сложность в зависимости от
параметра N1 .
4. Поиск сообществ
Исходя из предложенного способа генерации
графа выпишем функцию правдоподобия модели,
дополненную еще одним свойством структуры
социальной сети:
Введем понятие эгосообщества, обозначающего
локальное сообщества в эго-сети из друзей заданного
пользователя. Примерами эгосообществ могут быть
семья, коллеги по работе, односельчане.
Большинство узлов внутри эгосообщества
разделяют одно или несколько общих глобальных
сообществ.
Экспериментальное обоснование
свойства приведено в таблице 3. Иными словами,
такого рода локальные группы формируют искомые
глобальные сообщества. Данное свойство делает
модель негенеративной, однако ряд недавних
исследований [19, 20] отчетливо подтверждают его
полезность.
Представленная ниже вероятностная модель,
включающая структуру сообществ в качестве
структурного параметра, базируется на трех
основных компонентах: конфигурация ребер в
социальном графе, априорные предположения о
размерах сообществ и membership, конфигурация
Figure 2. Экспериментальная проверка временной
сложности. По оси абсцисс 106 ∗ x узлов – размер
графа.
Также эксперимент включает вычисление трех
важных характеристик структуры сообществ:
проводимость,
отделимость
и
плотность.
Результаты представлены в и показывают, что
плотность и проводимость аналогичны LFR,
наиболее популярного генератора. Тем не менее,
сообщества предложенного метода явно менее
разъемные. С другой стороны, многие из требуемых
свойств отсутствуют в LFR, но присущи реальным
сетям
403
эгосообществ, параметры пользователей.
Регуляризованное правдоподобие для всей модели
может быть определено следующим образом:
Table 3. Корреляция эгосообществ и глобальных
сообществ в LFR графах в зависимости от
среднего membership узла (om).
NMI –
среднее значение NMI (мера близости) при
сравнении эгосообществ пользователя и частей
глобальных сообществ в эго-сети пользователя,
FR - средняя доля эгосообщества покрытая
каким-либо глобальным сообществом (при
условии, что покрытие составляет > 0, 5, иначе
корреляция берется равной 0), Р - вероятность
эгосообщества быть полностью покрытым какимлибо глобальным сообществом.
om
NMI
FR
P
2
0.78
0.93
0.50
3
0.50
0.68
0.14
4
0.57
0.72
0.16
5
0.32
0.39
0.05
LG (C, α1 , α2 , σ , γ, β1 , β2 ) =
= log p(Z) ∏ p(Ai j )
i< j
6
0.41
0.53
0.10
Отмеченные
выше
свойства
структуры
сообществ можно объяснить с помощью модели,
описанной в данном разделе.
Используя
вышеуказанную
модель
для
генерации ребер и применения аппроксимацию
Пуассона, получаем следующее распределение
для Ai j :
Первое слагаемое внутри суммы близко к
nc log(nc /n), второе – к (n − nc ) log(1 − nc /n), при
условии, что mv . 10 изменяется незначительно
в сравнении с nc .
Также стоит учесть
инвариантность Z относительно перенумерации
сообществ. В результате приходим к следующему
аппроксимирующему выражению
n nc nc n−nc
c
p(Z) = |C|! ∏
.
1−
n
c∈C n
(λ
+
λ
k
)
∑ 1c 2c i jc ,
c
v∈V
где Z – пользователь-сообщество индекс
матрица (априорные знания), mv – membership v распределенный по степенному закону
с β1 параметром, nc – размер сообщества ∈
распределенный по степенному закону с β2
параметром,
что
соответствует
требуемым
свойствам, p(kv |mv ) – некоторая неубывающая
функция.
Априорную вероятность матрицы Z
можно вычислить, исходя из интерпретации в виде
двудольного графа, одну часть которого составляют
вершины, а другую – сообщества. Вероятность
ребра в таком графе равна произведению membership вершины и размера сообщества, нормированных
на общее число ребер
m n mv nc v c
+ (1 − Zcv ) log 1 −
.
log p(Z) = ∑ Zcv log
M
M
c,v
4.1. Правдоподобие структуры сообществ
Ai j = ∑ Ai jc ∈ Po
∏ p(λ1c )p(λ2c )p(nc ) ∏ p(kv |mv )p(mv ),
c∈C
c
В итоге, целью системы поиска сообществ является
нахождение такой конфигурации (C, α1 , α2 , σ ,
γ, β1 , β2 ), которая является точкой максимума L,
а цель системы, оценивающей качество найденных
сообществ, состоит в нахождении конфигурации (α1 ,
α2 , σ , γ, β1 , β2 ), максимизирующей L.
Привлечение свойства эгосообществ позволяет
определить дополнение к первоначальной функции
правдоподобия:
Ai jc ∈ Po(λ1c + λ2c ki jc ), i, j ∈ c,
α1 2
α2 2
λ1c ∈ N
, λ2c ∈ N
,
γ ,σ
γ ,σ
nc
nc
где P(Ai jc = 1) вероятность ребра (i, j) внутри
сообщества c, ki jc – общее количество друзей
i и j внутри сообщества c, нормированное на
полусумму степеней i и j, Po – распределение
Пуассона, N – нормальное распределение, A –
матрица смежности (двоичная или целочисленная),
nc – количество узлов внутри c.
Эта модель
предполагает существование эпсилон-сообщества,
включающего все узлы графа для учета ребер
между сообществами.
Поскольку параметр распределения λ1 + λ2 ki jc
(связанный с вероятностью ребра в сообществе)
зависит от количества общих друзей, модель
учитывает также свойство Cohesion.
Рост
числа внутренних ребер в зависимости от
размера выражается в распределениях λ1 , λ2 .
Lego (C, λ3 ) = log ∏
∏ ∏ p( j ∈ Ze ),
v∈V e∈E (v) j∈e
где p( j ∈ Ze ) ∈ Be(λ3 ) – есть вероятность того, что
j-й узел из egomunity e расположен внутри Ze –
сообщество наиболее покрывающее e, E (v) – набор
egomunities v-го узла.
В случае, если узлы графа имеют в дополнение
категориальные атрибуты, модель может быть
расширена за счет добавки Latr , в которой
вероятность наличия атрибута у пользователя
рассчитывается как усредненная вероятность
404
данного атрибута в сообществах,
пользователя.
содержащих
αc как аргумент априорного распределения p(Z) не
зависит от Z.
αc
+
L(Z) = ∑ ∑ Zic log
1 − αc
c i
3Ai j
−Ai j 2
+ ∑ ∑ 2 λi j +
− 1 λi j +
ξi j
i j ξi j
1
ϕai − c(ηia )ϕai2 +
+ ∑ ∑ Aia −
2
i a
!
!2
3
1
+∑
∑ Zic − γc2 ∑ Zic +
c γc
i
i
2
3
1
+∑
∑ Zic − ζ 2 ∑ Zic +
c
c
i ζi
i
λe
+ ∑ ∑ Zice log
+
1 − λe
e∈E i∈e
Latr (C,W ) = log ∏ ∏ eµva Ava σ (−µva ) , µva = ∑ ZcvWca .
v∈V a∈D
c
где Av – бинарные атрибуты пользователя v, W – вес
атрибута a внутри сообщества c.
4.2. Оптимизация правдоподобия
Среди
методов
оптимизации
структуры
сообществ Z при заданном функционале качества
(в нашем случае L(Z) = LG + Lego + Latr ) можно
выделить два весьма распространенных класса.
К первому классу относятся алгоритмы, которые
перебирают в цикле вершины графа и для каждой
вершины находят набор сообществ, дающий
максимальный прирост целевого функционала.
В этой работе будет рассмотрен вариационный
ЕМ-алгоритм, относящийся к первому классу,
который в качестве решения выдает простого вида
распределение q(Z) наиболее близкое к exp(L(Z))
по метрике KL.
Схожий подход рассмотрен в
статье [23]. С общими аспектами вариационного
подхода можно ознакомится, к примеру, в работе
[24]. Алгоритмы из второго класса вместо вершин
совершают перебор сообществ, добавляя на каждой
итерации несколько упорядоченных по приросту
функционала вершин к сообществу. Мы рассмотрим
также далее алгоритм seed expansion из второго
класса, используемый в статьях [7, 22].
+ const(Z), (6)
где
!
λi j = ∑ Zic Z jc λ1c + λ2c Ji j ∑ Aik A jk Zkc ,
c
Ji j =
k
2
,
ki + k j
ϕia = ∑ Wca Zic ,
c
ξi j , ηia , γc , ζi – соответствующие константы,
используемые в неравенствах вместо ξ .
E
– множество эгосообществ, в котором каждый
элемент имеет сообщество (ce ), покрывающее
более половины вершин из эгосооющества (т.е.
эгосообщества, не связанные на начальном этапе
с каким-либо из сообществ, не рассматриваются).
После каждого прохода цикла по всем вершинам
множество E обновляется.
Будем искать решение в виде полностью
факторизованного распределения
4.3. Вариационный ЕМ-алгоритм
Оптимизация правдоподобия по Z является
весьма затруднительной ввиду сразу нескольких
причин:
невыпуклость
по
совокупности
переменных,
бинарный значения аргумента,
большая размерность |Z| = O(n2 ).
Исключается
возможность
применения
EM-алгоритма,
ввиду сложного вида распределения p(Z) =
p(Z|A, Λ, k, E , A ,W ).
Ограничим снизу в функции правдоподобия
такие функции как log x, log σ (x) при помощи
следующих неравенств
q(Z) = ∏ Be(Zic |ric ),
KL(qkeL ) → min .
q
i,c
Оптимальное
значение
следующим утверждением
q(Z)
определяется
Лемма. Пусть q(X) = arg minq KL(qkp), причем
q(X) = ∏i qi (Xi ), KL(qkp) – гладкая функция
относительно параметров распределения q. Тогда
1
1
log(x) ≥ log(ξ ) + (x − ξ ) − 2 (x − ξ )2
ξ
ξ
log qi (Xi ) = EX [log p(X)|Xi ] + const(Xi ).
при 1 > x > 0.32ξ > 0,
Доказательств леммы приведено в работе [24].
Вычислим E[L(Z)|Zic ], необходимое для нахождения
экстремальных значений ric , для чего потребуются
следующие выражения.
Все равенства ниже
справедливы с точностью до аддитивной константы.
!
1
log σ (x) ≥ log σ (ξ ) + (x − ξ ) − c(ξ )(x2 − ξ 2 )
2
при ξ > 0, c(ξ ) = (σ (ξ ) − 0.5)/(2ξ ).
Выпишем слагаемые функции правдоподобия,
содержащие Z, применив данные неравенства.
Также для упрощения будем считать, что (nc /n) =
EZ [λi j |Zic ] ≈ Zic r jc λ1c + λ2c Ji j ∑ Aik A jk rkc
k
405
= Zic r jc λi jc ,
!
EZ [λi2j |Zic ] = Zic
r jc λi2jc + 2λi jc r jc
∑ λi js ris r js
Однако данную проблему можно обойти, выбирая
для обновления на одной итерации небольшое
подмножество вершин или же совершая усреднение
нового значения ric со старым. Также существенно
можно снизить сложность вычислений, приняв
следующее предложение: Zic > 0 только тогда, когда
существует вершина j такая, что Ai j Z jc > 0.
,
s6=c
!
EZ [ϕia2 |Zic ] = Zic
2
Wca
+ 2Wca
∑ risWsa
,
s6=c
!
2 #
∑ Zic Zic = Zic 1 + 2 ∑ ris ,
"
EZ
c
s6=c
4.4. Алгоритм seed expansion

!2 
!
EZ  ∑ Z jc Zic  = Zic 1 + 2 ∑ r jc .
j
Рассмотрим альтернативу вариационному ЕМалгоритму, состоящий из итерационного выполнения
последовательности шагов:
j6=i
Таким образом, мы доказали следующую теорему
1. Для каждого сообщества упорядочить вершины
по степени связности с сообществом kic , создать
список размера d, начиная с наибольших kic .
Теорема 2. Значения параметров ric распределения
qic (Zic ) = Be(Zic |ric ),
доставляющие минимум
расстояния KL(qkeL ) (см. для задания L формулу 6)
определяются согласно выражению
ric = σ (τic ),
σ (x) =
2. Добавить к сообществу одну или более вершин
из списка, соответствующую максимальному
приросту функции правдоподобия.
1
,
1 + e−x
В начале каждое ребро графа объявляется
сообществом,
а по завершении алгоритма
удаляется часть сообществ, если это приводит
к увеличению целевой функции.
Помимо того
бывает, согласно свойству 3, бывает уместным
разделение получившихся сообществ на более
мелкие подсообщества, используя тот же алгоритм
на подграфе сообщества [19].
В сравнении с первым классом методов seed expansion требует значительно больше итераций,
однако может быль более устойчивым при
параллельных вычислениях.
Помимо того, в
данном алгоритме совершается, в ряде случаев,
слишком резкое изменение Zic , а также отсутствует
возможность удаления вершин из сообществ.
где
αc
τic = log
1 − αc
+
3Ai j
EZ [λi j |Zic ]
−Ai j EZ [λi2j |Zic ]
+
−
1
+
2
Z
ξ
Zic
ξ
ic
ij
j
ij
1
EZ [ϕai2 |Zic ]
+ ∑ Aia −
Wac − c(ηia )
+
2
Zic
a
!
3
1
+ − 2 1 + 2 ∑ r jc +
γc γc
j6=i
!
3
1
+ − 2 1 + 2 ∑ ris +
ζi ζi
s6=c
λe
,
+ ∑ [i ∈ e][c = ce ] log
1 − λe
e∈E
+∑
4.5. Оценка методов поиска сообществ
Оценка качества найденных сообществ не
имеет устоявшейся меры.
В связи с чем
чаще всего производится сравнение с эталонными
сообществами, с использованием которых был
сгенерирован граф.
Если эталонное множество
сообществ не доступно, то можно также оценивать
качество найденных сообществ с помощью функции
правдоподобия графа в вероятностной модели,
введенной в предыдущих разделах.
Для эксперимента с реальными социальными
графами была взята Facebook100 – коллекция сетей
из ста американских колледжей и университетов [9].
Все
сети
являются
неориентированными,
бинарными
и
содержат
атрибуты
вершин
(факультет, пол, магистр, общежитие / дом, год,
школа). Сообщества, сформированные разными
методами, сравниваются по качеству при помощи
метрики L = (LG + Lego + Latr )/n.
Результаты
[·] – индикаторная функция.
Оптимизация правдоподобия по остальным
параметрам не вызывает трудностей и может быть
выполнена при помощи градиентного спуска или же
метода Лагранжа.
В целом алгоритм оптимизации состоит в
последовательном обновлении переменных ric ,
максимизации
EZ L(Z|A, Λ, k, E , A ,W, ξi j , ηia , γc , ζi )
по остальным переменным, проверки сходимости
к верхней границе функции EZ L − EZ log q(Z).
В качестве начальных значений в подобных
методах, чаще всего, выбирают Zic = [i = c] или же
Zic = [i = c] + Aic .
Параллельный процесс обновления ric может
привести к несогласованности, ввиду независимого
обновления соединенных ребрами пар вершин.
406
In Proceedings of the 29th annual international ACM
SIGIR conference on Research and development in information retrieval (SIGIR ’06). ACM, New York, NY,
USA, 236-243. 2006.
[11] D. H. Stern, R. Herbrich, T. Graepel. Matchbox: large
scale online bayesian recommendations. In Proceedings
of the 18th international conference on World wide web
(WWW ’09). ACM, New York, NY, USA, 111-120. 2009.
EgoLP SLPA GCE OSLOM MOSES [12] C. Lee, P. Cunningham. Benchmarking commudataset
nity detection methods on social media data. CoRR,
Caltech
-113
-120
-119
-116
-106
abs/1302.0739. 2013.
Cal65
-206
-207
-225
-217
-177
[13]
A. Lancichinetti, S. Fortunato. Benchmarks for testLehigh
-233
-233
-259
-257
-207
ing
community detection algorithms on directed and
Princeton
-273
-315
-311
-318
-248
weighted graphs with overlapping communities. Phys.
UChicago
-193
-211
-221
-214
-174
Rev. 2009.
Wellesley
-194
-207
-218
-209
-176 [14] A. Lancichinetti, F. Radicchi, J.J. Ramasco. Statistical
significance of communities in networks. Phys. Rev. E
81, 046110. 2010.
[15] A. Friggeri, G. Chelius, E. Fleury. Triangles to Capture
представлены в таблице 4. Тестируемые алгоритмы
Social Cohesion. CoRR, abs/1107.3231. 2011.
взяты из работ EgoLP [19] SLPA [2] GCE [21]
[16] A. Wegner. Random Graphs with Motifs. Max-PlanckOSLOM [22] MOSES [7].
Institut fur Mathematik in den Naturwissenschaften
Также,
приведенные
значения
функции
Leipzig, vol. 61, pp 130-131. 2011.
[17] J. McAuley and J. Leskovec. Learning to Discover Soправдоподобия формируют baseline для методов
cial Circles in Ego Networks. NIPS, 2012.
оптимизации L.
[18] Ширяев А.Н. Вероятность 1, 2. М.: МЦНМО, 2011.
[19] N. Buzun, A. Korshunov, V. Avanesov, I. Filonenko, I.
References
Kozlov, D. Turdakov, H. Kim. EgoLP: Fast and Distributed Community Detection in Billion-node Social
[1] N. Buzun, A. Korshunov. Innovative methods and meaNetworks. to be published. 2014.
sures in overlapping community detection. Proceedings
[20] M. Coscia, G. Rossetti, F. Giannotti, D. Pedreschi. DEof International Workshop on Experimental Economics
MON: a Local-First Discovery Method for Overlapping
in Machine Learning 2012, KU-Leuven, pp. 20-32. 2012.
Communities. CoRR, abs/1206.0629, 2012.
[2] J. Xie, S. Kelley, B. K. Szymanski. Overlapping com[21] C. Lee, F. Reid, A. McDaid, N. Hurley. Detectmunity detection in networks: the state of the art and
ing highly overlapping community structure by greedy
comparative study. CoRR abs/1110.5813. 2011.
clique expansion. arXiv:1002.1827. 2010.
[3] D. A. Prentice, D. T. Miller, and J. R. Lightdale. Asym[22] A. Lancichinetti, F. Radicchi, J.J. Ramasco, S. Formetries in attachments to groups and to their members:
tunato. Finding statistically significant communities in
Distinguishing between common-identity and commonnetworks. PLoS ONE 6. 2011.
bond groups. Personality and Social Psychology Bul[23] P. Latouche, E. Birmele, C. Ambroise. Model Selecletin, 20(5):484–493, 1994.
tion in Overlapping Stochastic Block Models. Electronic
[4] J. Yang, J. Leskovec. Community-Affiliation Graph
Journal of Statistics, vol 0, 2014.
Model for Overlapping Network Community Detection.
[24] D. Barber. Bayesian Reasoning and Machine Learning.
Data Mining (ICDM), 2012 IEEE. 2012.
Cambridge University Press, 2012.
[5] J. Yang and J. Leskovec. Defining and Evaluating Network Communities based on Ground-truth. ICDM, 2012.
[6] M. Mørup, MN. Schmidt. Bayesian community detection. Neural Comput. 2012 Sep;24(9):2434-56. 2012.
[7] A. McDaid, N. Hurley. Detecting highly overlapping
communities with Model-based Overlapping Seed Expansion. ASONAM. 2010.
[8] K. Chykhradze, A. Korshunov, N. Buzun, R. Pastukhov,
N. Kuzyurin, D. Turdakov, H. Kim. Distributed generation of billion-node social graphs with overlapping community structure. In proceedings of Complex Networks
V. Studies in Computational Intelligence Volume 549,
2014, pp 199-208.
[9] A. L. Traud, P. J. Mucha, M. A. Porter. The Social Structure of Facebook Networks. arXiv:1102.2166v1
[cs.SI]. 2005.
[10] X. Wang, J. Sun, Z. Chen, C. Zhai. Latent semantic analysis for multiple-type interrelated data objects.
Table 4.
Сравнение различных методов по
метрике правдоподобия на графах из Facebook100.
Наилучшие значения выделены
жирным шрифтом,
второсортные значения
выделены курсивом.
407
Related documents
Download