Why Networks?

Networks are a general langague for describing complex systemsof interacting entities

Many types of data are graphs

Ways to Analyze Networks

Social Circle Detection

A community detection example can be detecting social circle as we can see below image.png

Modeling Pinteres as a bipartite graph it's possible to map users to images and suggest new links image-2.png

Predicting Virality

Given a viral it's possible to model how it's going to spread with a graph image-3.png

How do you define a Network?

How we design links model the questions we will be able to answer image.png

Defining a Graph

Directed vs Undirected Graphs

image-2.png

Node Degrees

The number of edges that touches a node in undirected graphs. In directed graphs there's in-degre for incoming links and out-degree for outcoming links.

A source node is a node with indegree 0 A sink node is a node with outdegree 0

image-3.png

Complete Graph

A special graph is a graph where all the nodes have links to all other nodes. The number os links is given by its combinatory.

image-4.png

Bipartite Graph

Conects a set of nodes U to a set of nodes V

image-5.png

Folded/Projected Bipartite Graphs

image-6.png

Representing a Graph

Adjacency Matrix

Edge List

image-8.png

Adjacency List

Allow t work with very large graphs. Preferred implementation image-9.png

Edge Attributes

image-10.png Encoding weights can be done as below image-11.png

image-12.png

image-13.png