CS224W: Machine Learning with Graphs - 01 Introduction

Introduction

1. Course Outline

1). Traditional methods: Graphlets: Graph kernels
2). Methods for node embeddings: DeepWalk, Node2Vec
3). Graph Neural Networks: GCN, GraphSAGE, GAT, Theory of GNNs
4). Knowledge graphs and reasoning: TransE, BetaE
5). Deep generative models for graphs
6). Applications to Biomedicine, Science, Industry

2. Different Types of Tasks

  • Node level
  • Edge level
  • Community (subgraph) level
  • Graph-level prediction, Graph generation

3. Classic Graph ML Tasks

1). Node classification: predict a property of a node

  • Example: Categorize online users/items

2). Link prediction: predict whether there are missing links

  • Example: Knowledge graph completion

3). Graph classification: categorize different graphs

  • Example: Molecule property prediction

4). Clustering: detect if nodes form a community

  • Example: Social circle detection

5). Graph generation: drug discovery

6). Physical simulation

3. Components of a Network

  • Objects: nodes, vertices N N N
  • Interactions: links, edges E E E
  • Systems: network, graph G ( N , E ) G(N,E) G(N,E)

4. Directed vs Undirected Graphs

  • Undirected
    Links: undirected (symmetrical, reciprocal)
    Examples: Collaborations, Friendship on Facebook
  • Directed
    Links: directed (arcs)
    Examples: Phone calls, Following on Twitter

5. Node Degrees

  • Undirected
    Node degree k i k_i ki: the number of edges adjacent to node i i i
    Average degree: k ˉ = 2 E N \bar k=\frac{2E}{N} kˉ=N2E
  • Directed
    The total degree of a node is the sum of in-degrees and out-degrees.
    k ˉ = E N \bar k=\frac{E}{N} kˉ=NE k ˉ i n = k ˉ o u t \bar k^{in}=\bar k^{out} kˉin=kˉout

6. Representing Graphs

  • Adjacency Matrix
    A i j = 1 A_{ij}=1 Aij=1 if there is a link from node i i i to node j j j
    A i j = 0 A_{ij}=0 Aij=0 otherwise
    The adjacency matrix of an undirected graph is symmtrical ( A i j = A j i A_{ij}=A_{ji} Aij=Aji) but that of a directed graph may not ( A i j ≠ A j i A_{ij}\neq A_{ji} Aij=Aji).
    Adjacency Matrices are sparse (filled with zeros).
  • Edge List
    ( N i , N j ) (N_i, N_j) (Ni,Nj): an edge from node i i i to node j j j
  • Adjacency List
    Easier to work with if network is large and sparse.
    Allow us to quickly retrieve all neighbors of a give node
    N i N_i Ni: its neighors

7. Node and Edge Attributes

  • Weight (e.g., frequency of communication)
  • Ranking (best friend, second best friend…)
  • Type (friend, relative, co-worker)
  • Sign: Friend vs. Foe, Trust vs. Distrust
  • Properties depending on the structure of the rest of the graph: Number of common friends

8. More Types of Graphs

  • Unweighted graphs: A i j ∈ { 0 , 1 } A_{ij} \in \{0, 1\} Aij{0,1}; Weighted graphs: A i j ∈ R A_{ij} \in R AijR
  • Self-edges (self-loops): A i i ≠ 0 A_{ii}\neq 0 Aii=0

9. Connectivity of Undirected Graphs

Connected graph: Any two vertices can be joined by a path
A disconnected graph is made up by two or more connected components

10. Connectivity of Directed Graphs

Strongly connected directed graph has a path from each node to every other node.
Weakly connected directed graph is connected if we disregard the edge directions.

你可能感兴趣的:(数据挖掘,机器学习,神经网络,网络图)