selected topics in data networking explore social networks:

Post on 19-Jan-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Community Detection in Graphs Identifying modules and their boundaries allows for a classification of vertices, according to their structural position in the modules. Vertices with a central position in their clusters, i. e. sharing a large number of edges with the other group partners, may have an important function of control and stability within the group; 3 Source:

TRANSCRIPT

Selected Topics in Data Networking

Explore Social Networks:

Classification or Clustering of Vertices Grouping by

Structural Position: Position of Vertices Distance

Attributes of Vertices Similarity

2

Community Detection in Graphs Identifying modules and their boundaries allows for a classification

of vertices, according to their structural position in the modules.

Vertices with a central position in their clusters, i. e. sharing a large number of edges with the other group partners, may have an important function of control and stability within the group;

3

Source: http://hal.elte.hu/~pallag/

Community Detection in Graphs Vertices lying at the boundaries between modules play an important

role of mediation and lead the relationships and exchanges between different communities.

Real networks are usually composed by communities including smaller communities.

4

Community Evolution

Community structure is subject to constant evolution in many systems. Social networks are always changing due to new

acquaintances forming and older relationships fading away as time goes on. 

Large enough community can split into several smaller ones; new communities are born and old ones may disappear. 

5

Basic of CommunityA simple graph with three communities Zachary’s karate club

A standard benchmark in community detection

6

Basic of Community

A subgraph C of a graph G, with |C| = nc and |G| = n vertices

The internal and external degree of vertex v C, ∈ Internal degree: k(int)

the number of edges connecting v to other vertices of C External degree: k(ext)

the number of edges connecting v to the rest of the graph

7

Basic of Community

If k(ext) = 0, the vertex has neighbors only within C, which is likely to be a good cluster for v;

If k(int) = 0, the vertex is disjoint from C and it should better be assigned to a different cluster.

8

Basic of Community

The internal degree k(C, int) of C The sum of the internal degrees of its vertices.

The external degree k(C, ext) of C the sum of the external degrees of its vertices.

The total degree k(C) is the sum of the degrees of the vertices of C.

K(C) = k(C, int) + k(C, ext)

9

Basic of Community

10

11

Partition A partition of a network is a classification or clustering of

the vertices in the network such that each vertex is assigned to exactly one class or cluster.

Classes are identified by integers A list of nonnegative integers, one for each vertex in the network.

12

Partition Partitions store discrete characteristics of vertices.

A property is discrete if it consists of a limited number of classes.

Partitions may specify a structural property such as world system position, which is a result of network analysis or a characteristic measured independently of the network (e.g., the continent where a nation is located ). We call the latter attributes of vertices.

Attributes of Vertices Student Network

Nodes: Students Attributes of Nodes: gender, major of study, study year,

13

http://education-portal.com/articles/Connected_Colleges_New_Study_Suggests_Using_Social_Networking_Tools_to_Engage_Students.html

Partition

In real systems vertices may be shared among different communities. A division of a graph into overlapping (or fuzzy)

communities is called cover.

Partitions can be hierarchically ordered, when the graph has different levels of organization/structure at different scales.

14

Partition

15

Partition

Partition splits a network into parts. We can use partitions to reduce a network in

three ways: Extract one part (local view) Shrink each class of vertices into one new vertex

(global view) Select one part and shrink neighboring classes to

focus on the internal structure and overall position of this class (contextual view)

16

Graph Partitioning

The problem of graph partitioning consists in dividing the vertices in g groups of predefined size, such that the number of edges lying between the groups is minimal. The number of edges running between clusters is

called cut size.

17

Graph with fourteen vertices, for g = 2 and clusters of equal size.

Clustering Coefficient

A clustering coefficient is a measure of the degree to which nodes in a graph tend to cluster together. If the clustering coefficient were “1”, the

neighborhood would be fully connected.

18

Clustering Coefficient

19http://mathinsight.org/clustering_coefficient_definition

Clustering Coefficient

What is clustering coefficient of A?

How many edges may there be between A’s friends? B-C; B-D; B-E; C-D; C-E; D-E

Clustering Coefficient

What is clustering coefficient of A?

How many edges may there be between A’s friends? 6

How many edges are there between A’s friends?

Clustering Coefficient

What is clustering coefficient of A?

How many edges may there be between A’s friends? 6

How many edges are there between A’s friends? 1 (C-D)

Clustering Coefficient

What is clustering coefficient of A?

How many edges may there be between A’s friends? 6

How many edges are there between A’s friends? 1 (C-D)

Clustering coefficient: 1/6

Clustering Coefficient

What is clustering coefficient of B?

What is clustering coefficient of E?

24

Practice

https://www.learner.org/courses/mathilluminated/interactives/network/

25

References

Santo Fortunato, Community detection in graphs, Physics Reports 486, 75-174 (2010).

Teaching Materials: SCI 199Y Tutorial, 2010

26

top related