2025-01-22 graphs lecture 1

Data

2025-01-22

 

0. Intro/Class Overview

Signal processing vibes

  • This class will be a bit more supervised learning
  • GNNs from the very basics
  • HWs = labs: pytorch, pygeometric : tutorial on Canvas

No textbook, based on research

Syllabus

3 homeworks 20% each (see syllabus on Canvas)

  • project in pytorch
  • covers 4 weeks of material Final project 30%
  • design a graph dataset (implementation)
  • or most recent papers and present (lit review) Participation 10%
  • Scribing (google doc)

1. Basics

see Lecture 1.pdf

Today

  • Why data science and why large scale graphs?
  • What are graphs/graph signals?
  • How do graphs and graph signals interact with each other?
    • Graph diffusion processes
  • adjacency matrix and laplacian
  • Total variation energy on graphs
  • Canonical frequencies and oscillation models

Question

What is graph data science?

Examples of Graph Data

  • Road networks (graph is the structure of then data: data is “on top” of the graph)
  • Network / partially complete network (graph and data are entangled)
  • Molecules (graph itself is the datapoint)

Question

Why large scale graphs?

  • Graphs can get BIG
    • nodes

Example

Genome sequencing using graphs.

  • lots of tiny pieces of dna sections
  • Want to find a path through all of them that makes sense
  • edge when there is any overlap

Graph

A graph is a triplet where

  • vertex set
  • edge set
  • weight function

(see graph)

Undirected

A graph is undirected if for all we have . Otherwise, it is directed

(see undirected graph)

Unweighted

A graph is unweighted if where

  • corresponds to no edge
  • corresponds to an edge These correspond to a binary relationship between nodes

Example

  • Friendship networks are unweighted
  • Citation networks
  • etc

A graph is weighted if

Example

  • Road networks, weights proportional to the lengths (traveling salesman problem)
  • Correlation networks (graph induced by covariance matrix)
  • etc

(see unweighted graph)

Graph Signals

Graph signals are data that exist on a graph . Data are represented as vectors where is the signal value at node . This is often implicit, but sometimes we will use the notation .

There are two types of signals:

  • fixed node properties or features are information associated with nodes
    • ex. Nodes belong to group A or group B
  • graph signals (which often implies variability) can be interpreted as variables on the nodes of the graph
    • ex. traffic counts on the roads of minnesota

(see graph signals)

Question

How do we process graph signals? How do signals interact with the graph ?

We can do this through a network diffusion process

  • sometimes called message passing, aggregation

Network Diffusion Process

A network diffusion process is a way to process graph signals. It is a procedure or description of ways to estimate information about a graph using available information and computations.

Example

Suppose we have a graph (see notes on Canvas and add graphic) with labelled nodes. We want to determine the labels of some nodes with unknown label.

Local (node-level) estimation or attributes with limited communications imposed by .

  • idea: take info from all its neighbors and average their labels
  • where is the neighborhood (graph) of .

Example: Signal Forecasting (Traffic Flow) is a directed graph and weighted with at each node . ie, is a probability of moving from to . If is the traffic at time , how do we estimate ?

Suppose

Define and .

We can estimate as

  • We assume that all traffic at node leaves ie

(see network diffusion process)

Neighbors

The neighborhood of node is the set

(see neighborhood (graph))

Diffusion processes are local to each node and we represent them locally above.

  • Can also represent these globally using matrices

Adjacency Matrix

The adjacency matrix for a graph is defined as

0 \text{ otherwise}\end{cases}$$

++++ (see notes) In our above example, can be expressed as a function of as

Graph Shift Opterator

We can define more general diffusion processes by defining the matrix such that (can only equal 0 along the diagonal?)

This matrix is called the graph shift operator (GSO). We way is a (graph) “shift” or diffusion of by .

Most common are adjacency matrix and laplacian We don’t really use 5,6,7 for directed graphs

We can always recover the local implementations:

(see graph shift operator)

Examples of Graph Shift Operators