Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

ПТАиМСС – магистратура, 2 курс осень 2021 – 2.2...

ТиМПИ
September 10, 2021

ПТАиМСС – магистратура, 2 курс осень 2021 – 2.2 занятие

ТиМПИ

September 10, 2021
Tweet

More Decks by ТиМПИ

Other Decks in Science

Transcript

  1. 10 сентября 2021 [email protected], [email protected] Анастасия Андреевна Корепанова м.н.с. лаборатории

    ТиМПИ Социальный граф Абрамов Максим Викторович доцент кафедры информатики
  2. 2/31 2/31 СОЦИАЛЬНЫЙ ГРАФ • Граф, вершины (узлы) которого представляют

    социальные объекты, например, пользовательские профили, с набором атрибутов, а рёбра — социальные отношения между ними. Источник: https://sysblok.ru/philology/socseti-russkoj-dramy-chast-i-osnovy-setevogo-analiza/ • Две вершины инцидентны, если существует соединяющее их ребро. • Степень вершины — сумма инцидентных ей вершин
  3. 4/31 4/31 ВЗАИМООТНОШЕНИЯ • Гомогенность — степень, в которой пользователи

    образуют связи с себе подобными (пол, возраст, образовательный уровень и т.п.) • Множественность — число множественных связей, образуемых пользователями (работа + учёба) • Взаимность — степень, с которой пользователи отвечают взаимностью на действия друг друга. • Сетевая закрытость — степень, в которой друзья пользователя являются друзьями друг другу (транзитивность). • Соседство — тенденция пользователей иметь большое количество связей с географически близкими пользователями.
  4. 5/31 5/31 СВЯЗИ • Центральность — степень, которая показывает влияние

    пользователя внутри графа. • Плотность — отношение имеющихся связей к общему числу возможных. • Расстояние — минимальное количество связей длина кратчайшего пути между двумя отдельными пользователями.
  5. 6/31 6/31 СЕГМЕНТАЦИЯ​ • Клика — группа, в которой все

    пользователи имеют «прямые» связи. • Коэффициент кластеризации — степень вероятности того, что два разных пользователя, связанные с конкретным пользователем, тоже связаны. • Сплочённость — степень, в которой пользователи связаны между собой одной общей связью.
  6. 7/31 7/31 ПРИМЕР Naomichi Hatano Communicability Betweenness in Complex Networks

    // Physica A: Statistical Mechanics and its Applications 388(5) May 2009
  7. 8/31 8/31 СКОЛЬКО ВСЕГО ЕСТЬ МЕР ЦЕНТРАЛЬНОСТИ? 1. Betweenness 2.

    Bonacich 3. Closeness 4. Total communicability 5. Connectivity 6. Communicability (Kij ) 7. Connectedness power 8. Walk (Kij ) 9. Degree 10. Walk (Kii) 11. Coreness 12. Estrada 13. Bridging 14. Eigencentrality based on Jaccard dissimilarity 15. PageRank 16. Eigencentrality based on Dice dissimilarity 17. Harmonic closeness 18. Closeness (Forest) 19. Eccentricity 20. Closeness (Heat); 21. p-Means (p = −2) 22. Closeness (logarithmic Forest) 23. p-Means (p = 0) 24. Closeness (logarithmic Walk) 25. p-Means (p = 2) 26. Closeness (logarithmic Heat) 27. Beta current flow 28. Closeness (logarithmic Communicability ) 29. Weighted degree 30. Eccentricity (Forest) 31. Decaying degree 32. Eccentricity (Heat) 33. Decay 34. Eccentricity (logarithmic Forest) 35. Generalized degree 36. Eccentricity (logarithmic Walk) 37. Katz 38. Eccentricity (logarithmic Heat) 39. Eigenvector 40. Eccentricity (logarithmic Communicability). 41. … Очень много Источник: arXiv:2003.01052
  8. 10/31 10/31 ПРЕДСТАВЛЕНИЕ ГРАФА 𝑎𝑖𝑗 = ቊ 1, узлы 𝑖

    и 𝑗 соединены ребром 0, узлы не соединены ребром A = 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0
  9. 12/31 12/31 СТЕПЕНЬ СВЯЗНОСТИ 2/2 • Чем больше у узла

    соседей, тем он круче • Нормализованная степень связности 𝐶𝐷 𝑖 = ෍ 𝑗 𝑎𝑖𝑗 , 𝑎𝑖𝑗 − элементы матрицы смежности 𝐶𝐷 𝑖 ∈ [0, ∞) С𝐷 ∗ 𝑖 = 1 𝑛 − 1 𝐶𝐷 𝑖 С𝐷 ∗ 𝑖 ∈ [0,1] A = 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0
  10. 14/31 14/31 СТЕПЕНЬ БЛИЗОСТИ (CLOSENESS CENTRALITY) 2/2 • Чем ближе

    узел ко всем остальным, тем круче • Нормализованная степень близости 𝐶𝑐 𝑖 = 1 σ 𝑗 𝑑(𝑖, 𝑗) , 𝑑 𝑖, 𝑗 − длина пути между 𝑖 и 𝑗 С𝑐 ∗ 𝑖 = (𝑛 − 1)𝐶𝑐 𝑖 𝐶𝑐 𝑖 = 1 6 С𝑐 ∗ 𝑖 = 1 𝐶𝑐 𝑖 = 1 8 С𝑐 ∗ 𝑖 = 7 8
  11. 15/31 15/31 СТЕПЕНЬ ПОСРЕДНИЧЕСТВА (BETWEENNESS CENTRALITY) 𝐶𝐵 𝑖 = ෍

    𝑠≠𝑡≠𝑖 𝜎𝑠𝑡 (𝑖) 𝜎𝑠𝑡 , 𝜎𝑠𝑡 − количество кратчайших путей между 𝑠 и 𝑡 • Чем больше кратчайших путей через этот узел проходит, тем он круче • Нормализованная степень посредничества С𝐵 ∗ 𝑖 = 2 (𝑛 − 1)(𝑛 − 2) 𝐶𝐵 𝑖 А C B D 𝐶𝐵 𝐷 = 1 2 𝐶𝐵 ∗(𝐷) = 1 6 D 𝐶𝐵 𝐷 = 6 𝐶𝐵 ∗(𝐷) = 1
  12. 16/31 16/31 СТЕПЕНЬ ВЛИЯТЕЛЬНОСТИ (EIGENVECTOR CENTRALITY) 1/2 • 𝑣𝑖 ←

    σ 𝑗 𝑎𝑖𝑗 𝑣𝑗 , • 𝑎𝑖𝑗- элемент матрицы смежности графа • Значимость узла — сумма значимостей • его соседей 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 Первый шаг в матричном виде: Что напоминает?
  13. 17/31 17/31 СТЕПЕНЬ ВЛИЯТЕЛЬНОСТИ (EIGENVECTOR CENTRALITY) 2/2 1 1 1

    0 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 𝐴𝑣𝑘 = 𝑣𝑘+1 𝑣𝑖 ← ෍ 𝑗 𝑎𝑖𝑗 𝑣𝑗 𝑣𝑖 = 1 𝜆 ෍ 𝑗 𝑎𝑖𝑗 𝑣𝑗 Первый шаг в матричном виде: 𝐴𝑣 = 𝜆𝑣
  14. 18/31 18/31 УГАДАЙКА 1/3 • Степень связности (количество соседей) •

    Степень близости (путь до остальных узлов) • Степень посредничества (кратчайшие пути между узлами) • Степень влиятельности (влиятельные соседи)
  15. 19/31 19/31 УГАДАЙКА 2/3 • Степень связности (количество соседей) •

    Степень близости (путь до остальных узлов) • Степень посредничества (кратчайшие пути между узлами) • Степень влиятельности (влиятельные соседи)
  16. 20/31 20/31 УГАДАЙКА 3/3 • Степень связности (количество соседей) •

    Степень близости (путь до остальных узлов) • Степень посредничества (кратчайшие пути между узлами) • Степень влиятельности (влиятельные соседи)
  17. 21/31 21/31 ТЕПЕРЬ К ОРИЕНТИРОВАННЫМ ГРАФАМ • Ориентированные ребра •

    Sinks • Sources Старые меры не подходят: • Степень связности (количество соседей) • Степень близости (путь до остальных узлов) • Степень посредничества (кратчайшие пути между узлами) • Степень влиятельности (влиятельные соседи) Возможно, кто-то знает что делать?
  18. 22/31 22/31 PAGERANK 1/6 • PageRank — это числовая величина,

    характеризующая «важность» веб- страницы. Чем больше ссылок на страницу, тем она «важнее». Кроме того, «вес» страницы А определяется весом ссылки, передаваемой страницей B. Таким образом, PageRank — это метод вычисления веса страницы путём подсчёта важности ссылок на неё. • Моделирует поведение случайного «сёрфера» в интернете. Почему так называется? Что напоминает?
  19. 23/31 23/31 PAGERANK 2/6 PR(A) — PageRank документа A L(B)

    — количество ссылок с документа B, ссылающегося в том числе и на документ A PR 𝐴 = PR(𝐵1 ) 𝐿(𝐵1 ) + PR(𝐵2 ) 𝐿(𝐵2 ) + ⋯ + PR(𝐵𝑁 ) 𝐿(𝐵𝑁 )
  20. 24/31 24/31 PAGERANK 3/6 Случайные переходы пользователя: • Может перестать

    блуждать по страницам. • Может перейти со страницы A по одной из исходящих ссылок. • Может «телепортироваться» на другой документ.
  21. 25/31 25/31 PAGERANK 4/6 •Коэффициент угасания 𝑑, 𝑑 ∈ [0,

    1] •PR 𝐴 = 1 − 𝑑 + 𝑑 × PR(𝐵1) 𝐿(𝐵1) + PR(𝐵2) 𝐿(𝐵2) + ⋯ + PR(𝐵𝑁) 𝐿(𝐵𝑁) Пользователю нравится страница, он остаётся Пользователю разонравились предыдущие страницы
  22. 26/31 26/31 PAGERANK 5/6 Наивный итеративный подход вычисления. • Проинициализируем

    черновое значение пэйдж-ранка каждого документа 1−𝑑 𝑁 • Итеративно пересчитываем, пока не сойдётся
  23. 28/31 28/31 ЦЕНТРАЛИЗАЦИЯ ГРАФА • 𝐶𝑥 = σ𝑖 𝑁 𝐶𝑥

    𝑝∗ −𝐶𝑥(𝑝𝑖) max σ 𝑖 𝑁 𝐶𝑥 𝑝∗ −𝐶𝑥(𝑝𝑖) , • 𝐶𝑥 — какая-то мера центральности • 𝐶𝑥 𝑝∗ — центральность наиболее центрального узла Насколько централизована вся сеть в сравнении со звездой
  24. 30/31 30/31 ПРАКТИЧЕСКОЕ ЗАДАНИЕ import matplotlib.pyplot as plt import networkx

    as nx G = nx.karate_club_graph() plt.figure(figsize =(15, 15)) nx.draw_networkx(g, with_labels = True) • Zachary’s Karate Club graph • Davis Southern women social network • Florentine families graph
  25. 10 сентября 2021 [email protected], [email protected] Анастасия Андреевна Корепанова м.н.с. лаборатории

    ТиМПИ Социальный граф Абрамов Максим Викторович доцент кафедры информатики