http://cs224w.stanford.edu Main question today: Given a network with - - PowerPoint PPT Presentation

http cs224w stanford edu main question today given a
SMART_READER_LITE
LIVE PREVIEW

http://cs224w.stanford.edu Main question today: Given a network with - - PowerPoint PPT Presentation

CS224W: Machine Learning with Graphs Jure Leskovec with Srijan Kumar , Stanford University http://cs224w.stanford.edu Main question today: Given a network with labels on some nodes, how do we assign labels to all other nodes in the network?


slide-1
SLIDE 1

CS224W: Machine Learning with Graphs Jure Leskovec with Srijan Kumar, Stanford University

http://cs224w.stanford.edu

slide-2
SLIDE 2

¡ Main question today: Given a network with

labels on some nodes, how do we assign labels to all other nodes in the network?

¡ Example: In a network, some nodes are

fraudsters and some nodes are fully trusted. How do you find the other fraudsters and trustworthy nodes?

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 2

slide-3
SLIDE 3

Jure Leskovec, Stanford

? ? ? ? ?

¡ Given labels of some nodes ¡ Let’s predict labels of unlabeled nodes ¡ This is called semi-supervised node

classification

slide-4
SLIDE 4

¡ Main question today: Given a network with

labels on some nodes, how do we assign labels to all other nodes in the network?

¡ Collective classification: Idea of assigning labels

to all nodes in a network together

¡ Intuition: Correlations exist in networks.

Leverage them!

¡ We will look at three techniques today:

§ Relational classification § Iterative classification § Belief propagation

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 4

slide-5
SLIDE 5

¡ Individual behaviors are correlated in a

network environment

¡ Three main types of dependencies that lead

to correlation:

Homophily Influence Confounding

5 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-6
SLIDE 6

¡ Homophily: the tendency of individuals to associate and bond with

similar others § “Birds of a feather flock together” § It has been observed in a vast array of network studies, based on a variety of attributes (e.g., age, gender, organizational role, etc.) § Example: people who like the same music genre are more likely to establish a social connection (meeting at concerts, interacting in music forums, etc.)

¡ Influence: social connections can influence the individual

characteristics of a person. § We will cover this in depth next month! § Example: I recommend my “peculiar” musical preferences to my friends, until one of them grows to like my same favorite genres J

6 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-7
SLIDE 7

Example:

¡ Real social network

§ Nodes = people § Edges = friendship § Node color = race

¡ People are

segregated by race due to homophily

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 7

(Easley and Kleinberg, 2010)

slide-8
SLIDE 8

¡ How do we leverage this correlation observed

in networks to help predict node labels? How do we predict the labels for the nodes in beige?

8 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-9
SLIDE 9

¡ Similar nodes are typically close together or

directly connected:

§ “Guilt-by-association”: If I am connected to a node with label 𝑌, then I am likely to have label 𝑌 as well.

§ Example: Malicious/benign web page: Malicious web pages link to one another to increase visibility, look credible, and rank higher in search engines

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 9

slide-10
SLIDE 10

¡ Classification label of an object 𝑃 in network

may depend on: § Features of 𝑃 § Labels of the objects in 𝑃’s neighborhood § Features of objects in 𝑃’s neighborhood

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 10

slide-11
SLIDE 11

11

Given:

  • Graph
  • Few labeled nodes

Find: class (red/green)

  • f remaining nodes

Assuming: Networks have homophily

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-12
SLIDE 12

¡ Let 𝑿 be a 𝑜×𝑜 (weighted) adjacency matrix

  • ver 𝑜 nodes

¡ Let Y = −1, 0, 1 + be a vector of labels:

§ 1: positive node § -1: negative node § 0: unlabeled node

¡ Goal: Predict which unlabeled nodes are

likely positive

13 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-13
SLIDE 13

¡ Intuition: Simultaneous classification of

interlinked nodes using correlations

¡ Several applications

§ Document classification § Part of speech tagging § Link prediction § Optical character recognition § Image/3D data segmentation § Entity resolution in sensor networks § Spam and fraud detection

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 14

slide-14
SLIDE 14

¡ Markov Assumption: the label Yi of one node i

depends on the labels of its neighbors Ni

¡ Collective classification involves 3 steps:

Local Classifier

  • Assign initial

labels Relational Classifier

  • Capture

correlations between nodes Collective Inference

  • Propagate

correlations through network

15

𝑄(𝑍

/|𝑗) = 𝑄 𝑍 / 𝑂/)

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-15
SLIDE 15

Local Classifier: Used for initial label assignment

§ Predicts label based on node attributes/features § Standard classification task § Does not use network information

16

Collective Inference

  • Propagate

correlations through network

Local Classifier

  • Assign initial

labels

Relational Classifier

  • Capture

correlations between nodes

Relational Classifier: Capture correlations based

  • n the network
  • Learns a classier to label one node based on the

labels and/or attributes of its neighbors

  • This is where network information is used

Collective Inference: Propagate the correlation

  • Apply relational classifier to each node iteratively
  • Iterate until the inconsistency between neighboring

labels is minimized

  • Network structure substantially affects the final

prediction

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-16
SLIDE 16

¡ Exact inference is practical only when the

network satisfies certain conditions

§ Exact inference is NP-hard for arbitrary networks

¡ We will look at techniques for approximate

inference:

§ Relational classifiers § Iterative classification § Belief propagation

¡ All are iterative algorithms

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 17

Intuition: Exact vs. Approximate If we represent every node as a discrete random variable with a joint mass function 𝑞 of its class membership, the marginal distribution

  • f a node is the summation of 𝑞 over

all the other nodes. The exact solution takes exponential time in the number of nodes, therefore we use inference techniques that approximate the solution by narrowing the scope of the propagation (e.g., only neighbors) and the number of variables by means of aggregation.

slide-17
SLIDE 17

¡ How to predict the labels 𝑍𝑗 for the nodes 𝑗 in

beige?

¡ Each node 𝑗 has a feature vector 𝑔𝑗 ¡ Labels for some nodes are given (+ for green,

  • for blue)

¡ Task: Find 𝑄(𝑍𝑗) given all features and the

network

18

𝑄(𝑍𝑗) = ?

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-18
SLIDE 18

¡ Basic idea: Class probability of 𝑍𝑗 is a weighted

average of class probabilities of its neighbors

¡ For labeled nodes, initialize with ground-truth 𝑍

labels

¡ For unlabeled nodes, initialize 𝑍 uniformly ¡ Update all nodes in a random order until

convergence or until maximum number of iterations is reached

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 19

slide-19
SLIDE 19

¡ Repeat for each node 𝑗 and label 𝑑

§ 𝑋(𝑗, 𝑘) is the edge strength from 𝑗 to 𝑘

¡ Challenges:

§ Convergence is not guaranteed § Model cannot use node feature information

10/17/19 20 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

𝑄 𝑍

/ = 𝑑 =

1 ∑ /,: ∈< 𝑋(𝑗, 𝑘) =

/,: ∈<

𝑋 𝑗, 𝑘 𝑄(𝑍

: = 𝑑)

slide-20
SLIDE 20

Initialization: All labeled nodes to their labels, and all unlabeled nodes uniformly

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 21

P(Y = 1) = 0 P(Y = 1) = 0 P(Y=1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 1 P(Y = 1) = 1

P(Y=1) = 0.5

slide-21
SLIDE 21

¡ Update for the 1st Iteration:

§ For node 3, N3={1,2,4}

22 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

P(Y = 1) = 0 P(Y = 1) = 0 P(Y=1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 1 P(Y = 1) = 1

P(Y=1|N3) = 1/3 (0 + 0 + 0.5) = 0.17

slide-22
SLIDE 22

¡ Update for the 1st Iteration:

§ For node 4, N4={1,3, 5, 6}

23 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

P(Y = 1) = 0 P(Y = 1) = 0 P(Y=1|N4)= ¼(0+ 0.17+0.5+1) = 0.42

P(Y=1) = 0.17

P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 1 P(Y = 1) = 1

slide-23
SLIDE 23

¡ Update for the 1st Iteration:

§ For node 5, N5={4,6,7,8}

24 10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

P(Y = 1) = 0 P(Y = 1) = 0 P(Y=1|N4)= 0.42

P(Y=1) = 0.17

P(Y=1|N5) = ¼ (0.42+1+1+0.5) = 0.73 P(Y = 1) = 0.5 P(Y = 1) = 0.5 P(Y = 1) = 1 P(Y = 1) = 1

slide-24
SLIDE 24

After Iteration 1

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 25

P(Y = 1) = 0 P(Y = 1) = 0 P(Y = 1) = 0.17 P(Y = 1) = 0.42 P(Y = 1) = 0.73 P(Y = 1) = 0.91 P(Y = 1) = 1.00

slide-25
SLIDE 25

After Iteration 2

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 26

P(Y = 1) = 0 P(Y = 1) = 0 P(Y = 1) = 0.14 P(Y = 1) = 0.47 P(Y = 1) = 0.85 P(Y = 1) = 0.95 P(Y = 1) = 1.00

slide-26
SLIDE 26

After Iteration 3

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 27

P(Y = 1) = 0 P(Y = 1) = 0 P(Y = 1) = 0.16 P(Y = 1) = 0.50 P(Y = 1) = 0.86 P(Y = 1) = 0.95 P(Y = 1) = 1.00

slide-27
SLIDE 27

After Iteration 4

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 28

P(Y = 1) = 0 P(Y = 1) = 0 P(Y = 1) = 0.16 P(Y = 1) = 0.51 P(Y = 1) = 0.86 P(Y = 1) = 0.95 P(Y = 1) = 1.00

slide-28
SLIDE 28

¡ All scores stabilize after 5 iterations:

§ Nodes 5, 8, 9 are + (P(Yi = 1) > 0.5) § Node 3 is – (P(Yi = 1) < 0.5) § Node 4 is in between (P(Yi = 1) =0.5)

29

+ + +

  • +/-

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-29
SLIDE 29

¡ Relational classifiers ¡ Iterative classification ¡ Loopy belief propagation

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 33

slide-30
SLIDE 30

¡ Relational classifiers do not use node

  • attributes. How can one leverage them?

¡ Main idea of iterative classification: Classify

node i based on its attributes as well as labels

  • f neighbor set Ni

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 34

slide-31
SLIDE 31

¡ Relational classifiers do not use node

  • attributes. How can one leverage them?

¡ Main idea of iterative classification: Classify

node i based on its attributes as well as labels

  • f neighbor set Ni

§ Create a flat vector ai for each node i § Train a classifier to classify using ai § Node may have various number of neighbors, so we can aggregate using: count , mode, proportion, mean, exists, etc.

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 35

slide-32
SLIDE 32

¡ Bootstrap phase

§ Convert each node i to a flat vector ai § Use local classifier f(ai) (e.g., SVM, kNN, …) to compute best value for Yi

¡ Iteration phase: Iterate till convergence

§ Repeat for each node i

§ Update node vector ai § Update label Yi to f(ai). This is a hard assignment

§ Iterate until class labels stabilize or max number of iterations is reached

¡ Note: Convergence is not guaranteed

§ Run for max number of iterations

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 36

slide-33
SLIDE 33

w1 w2

1

w3

B

1

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

¡ w1, w2, w3, … represent presence of words ¡ Baseline: train a classifier (e.g., k-NN) to

classify pages based on words

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

  • Wrong. Can we

improve?

Same words, but different link structure. Word-based classifier gives same label A to both. Can we use link to improve prediction?

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 37

slide-34
SLIDE 34

w1 w2

1

w3

B

1

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

¡ Each node maintains a vector of neighborhood labels:

(IA, IB, OA, OB). I = In, O = Out

¡ IA = 1 if at least one of the incoming pages is labelled A.

Similar definitions for IB, OA, and OB B

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

IA

1

IB

1

OA

1

OB IA

1

IB OA

1

OB IA IB OA

1

OB IA

1

IB OA OB

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

Include network features

38

slide-35
SLIDE 35

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

1

w1 w2

1

w3

B

1

w1 w2

1

w3

A

1

IA

1

IB

1

OA

1

OB

1

IA IB OA

1

OB

1

IA IB OA OB IA

1

IB

1

OA OB IA IB

1

OA OB

On a different training set, train two classifiers:

  • 1. Word vector only (green

circles)

  • 2. Word and link vectors

(red circles)

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 39

slide-36
SLIDE 36

w1 w2

1

w3

?

1

w1 w2

1

w3

?

1

w1 w2

1

w3

?

w1

1

w2

1

w3

?

Use trained word-vector classifier to bootstrap on test set

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 40

slide-37
SLIDE 37

w1 w2

1

w3

B

1

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

Wrong using word only

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

Use trained word-vector classifier to bootstrap on test set

41

slide-38
SLIDE 38

w1 w2

1

w3

1

IA

1

IB

1

OA OB

B

1

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

IA IB

1

OA

1

OB IA

1

IB

1

OA

1

OB

1

IA IB OA OB

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

Update neighborhood vector for all nodes

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 42

slide-39
SLIDE 39

w1 w2

1

w3

1

IA

1

IB

1

OA OB

B

1

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

IA IB

1

OA

1

OB IA

1

IB

1

OA

1

OB

1

IA IB OA OB

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

Reclassify all nodes

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 43

slide-40
SLIDE 40

w1 w2

1

w3

1

IA

1

IB

1

OA OB

B

1

w1 w2

1

w3

A

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

IA IB

1

OA

1

OB IA

1

IB

1

OA

1

OB

1

IA IB OA OB

B

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

Reclassify all nodes

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 44

slide-41
SLIDE 41

w1 w2

1

w3 IA

1

IB OA

1

OB

B

1

w1 w2

1

w3

B

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

IA IB OA

1

OB IA

1

IB

1

OA

1

OB IA

1

IB OA OB

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

Continue till convergence

45

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-42
SLIDE 42

w1 w2

1

w3 IA

1

IB OA

1

OB

B

1

w1 w2

1

w3

B

1

w1 w2

1

w3

A

w1

1

w2

1

w3

B

IA IB OA

1

OB IA

1

IB

1

OA

1

OB IA

1

IB OA OB

  • 1. Train
  • 2. Bootstrap
  • 3. Iterate
  • a. Update relational features
  • b. Classify

46

Ground truth: B Ground truth: B Ground truth: A Ground truth: B

Correct now!

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-43
SLIDE 43

REV2: Fraudulent User Predictions in Rating Platforms Kumar et al. ACM Web Search and Data Mining, 2018

slide-44
SLIDE 44

¡ Review sites are an attractive target for spam:

a +1 star increase in rating increases revenue by 5-9%!

¡ Often hype/defame spam ¡ Paid spammers

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 52

slide-45
SLIDE 45

¡ Behavioral analysis

§ individual features, geographic locations, login times, session history, etc.

¡ Language analysis

§ use of superlatives, lots of self-referencing, rate of misspellings, many agreement words, …

¡ Easy to fake: individual behaviors, content of

review

¡ Hard to fake: graph structure

§ Graphs capture relationships between reviewers, reviews, stores

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 53

slide-46
SLIDE 46

¡ Input: bipartite rating

graph as a weighted signed network: § Nodes: users, products § Edges: rating scores between -1 and +1

¡ Output: set of users

that give fake ratings

54

Red edges = -1 rating Green edges = +1 rating

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-47
SLIDE 47

¡ Basic idea: Users, products,

and ratings have intrinsic quality scores:

§ Users have fairness scores § Products have goodness scores § Ratings have reliability scores

¡ All values are unknown

55

Each product has a ‘goodness’ score G 𝑞 ∈ −1,1 Each user has a ‘fairness’ score 𝐺 𝑣 ∈ 0,1 Each rating has a ‘reliability’ score R 𝑣, 𝑞 ∈ 0,1

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-48
SLIDE 48

¡ Basic idea: Users, products,

and ratings have intrinsic quality scores:

§ Users have fairness scores § Products have goodness scores § Ratings have reliability scores

¡ All values are unknown ¡ How can one calculate the

values for all nodes and edges simultaneously?

¡ Solution: Iterative

classification

56

Each product has a ‘goodness’ score G 𝑞 ∈ −1,1 Each user has a ‘fairness’ score 𝐺 𝑣 ∈ 0,1 Each rating has a ‘reliability’ score R 𝑣, 𝑞 ∈ 0,1

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-49
SLIDE 49

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 57

¡ Fixing goodness and reliability, fairness is

updated as:

slide-50
SLIDE 50

¡ Fixing fairness and reliability, goodness is

updated as:

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 58

slide-51
SLIDE 51

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 59

¡ Fixing fairness and goodness, reliability is

updated as:

slide-52
SLIDE 52

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 60

G(p) = 1 G(p) = 1 G(p) = 1 F(u) = 1 F(u) = 1 F(u) = 1 R(u,p) = 1 R(u,p) = 1 R(u,p) = 1 R(u,p) = 1

slide-53
SLIDE 53

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 61

F(u) = 1 F(u) = 1 F(u) = 1 F(u) = 1 F(u) = 1

R(r) = 1

R(r) = 1 G(p) = 0.67 G(p) = 0.67 G(p) = -0.67 R(r) = 1 R(r) = 1

slide-54
SLIDE 54

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 62

F(u) = 1 F(u) = 1 F(u) = 1 F(u) = 1 F(u) = 1 F(u) = 1 R(r) = 0.92 R(r) = 0.92 R(r) = 0.92 R(r) = 0.58 R(r) = 0.58 G(p) = 0.67 G(p) = 0.67 G(p) = -0.67 Both gamma values are set to 1

slide-55
SLIDE 55

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 63

F(u) = 0.92 F(u) = 0.92 F(u) = 0.58 F(u) = 0.92 F(u) = 0.92 F(u) = 0.92 R(r) = 0.92 R(r) = 0.92 R(r) = 0.58 R(r) = 0.58 R(r) = 0.92 G(p) = 0.67 G(p) = 0.67 G(p) = -0.67

slide-56
SLIDE 56

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 64

F(u) = 0.83 F(u) = 0.83 F(u) = 0.17 F(u) = 0.83 F(u) = 0.83 F(u) = 0.83 R(r) = 0.83 R(r) = .83 R(r) = 0.83 R(r) = 0.17 R(r) = 0.83 R(r) = 0.17 G(p) = 0.67 G(p) = 0.67 G(p) = -0.67

slide-57
SLIDE 57

¡ Guaranteed to converge ¡ Number of iterations till convergence is

upper-bounded

¡ Time–complexity: linear in the number of

edges in the graph

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 65

slide-58
SLIDE 58

¡ Low fairness users = Fraudsters ¡ 127 of 150 lowest fairness users in

Flipkart were real fraudsters

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 66

slide-59
SLIDE 59

¡ Multiple iterations, but linear scalability

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 67

slide-60
SLIDE 60
slide-61
SLIDE 61

¡ Relational classifiers ¡ Iterative classification ¡ Loopy belief propagation

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 69

slide-62
SLIDE 62

¡ Belief Propagation is a dynamic programming

approach to answering conditional probability queries in a graphical model

¡ Iterative process in which neighbor variables “talk” to

each other, passing messages

¡ When consensus is reached, calculate final belief

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 74

slide-63
SLIDE 63

Task: Count the number of nodes in a graph* Condition: Each node can only interact (pass message) with its neighbors Example: straight line graph

adapted from MacKay (2003) textbook

* Potential issues when the graph contains cycles. We’ll get back to it later!

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 75

slide-64
SLIDE 64

1 before you

2 before you there's 1 of me 3 before you 4 before you 5 before you

Task: Count the number of nodes in a graph Condition: Each node can only interact (pass message) with its neighbors Solution: Each node listens to the message from its neighbor, updates it, and passes it forward

1 after you 2 after you 3 after you 4 after you 5 after you 6 after you

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 76

slide-65
SLIDE 65

3 behind you

2 before you

there's 1 of me Belief: Must be 2 + 1 + 3 = 6

  • f us
  • nly see

my incoming messages 2 before you

Each node only sees incoming messages

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 77

slide-66
SLIDE 66

4 behind you 1 before you there's 1 of me

  • nly see

my incoming messages Belief: Must be 2 + 1 + 3 = 6

  • f us

Belief: Must be 1 + 1 + 4 = 6

  • f us

Each node only sees incoming messages

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 78

slide-67
SLIDE 67

7 here 3 here 11 here (= 7+3+1) 1 of me

Each node receives reports from all branches of tree

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 79

slide-68
SLIDE 68

3 here 3 here 7 here (= 3+3+1)

Each node receives reports from all branches of tree

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 80

slide-69
SLIDE 69

7 here 3 here 11 here (= 7+3+1)

Each node receives reports from all branches of tree

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 81

slide-70
SLIDE 70

7 here 3 here 3 here Belief: Must be 14 of us

Each node receives reports from all branches of tree

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 82

slide-71
SLIDE 71

7 here 3 here 3 here Belief: Must be 14 of us wouldn't work correctly with a 'loopy' (cyclic) graph

Each node receives reports from all branches of tree

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 83

slide-72
SLIDE 72

What message will i send to j?

  • It depends on what i hears

from its neighbors k

  • Each neighbor k passes a

message to i its beliefs of the state to i

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 84

slide-73
SLIDE 73

¡ Label-label potential matrix : Dependency

between a node and its neighbor. equals the probability of a node j being in state given that it has a i neighbor in state

¡ Prior belief : Probability of node i

being in state

¡

is i’s estimate of j being in state

¡

is the set of all states

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 85

slide-74
SLIDE 74
  • 1. Initialize all messages to 1
  • 2. Repeat for each node:

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 86

Label-label potential Prior All messages sent by neighbors from previous round Sum over all states

slide-75
SLIDE 75

After convergence: = i’s belief of being in state

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 87

Prior All messages from neighbors

slide-76
SLIDE 76

88

¡ Messages

from different subgraphs are no longer independent!

¡ But we can

still run BP -- it's a local algorithm so it doesn't "see the cycles." What if our graph has cycles?

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu

slide-77
SLIDE 77

This is an extreme example. Often in practice, the cyclic influences are weak. (As cycles are long or include at least one weak correlation.)

89

T 2 F 1 T 2 F 1 T 2 F 1 T 2 F 1 T 2 F 1 T 4 F 1 T 4 F 1

  • Messages loop around and around:

2, 4, 8, 16, 32, ... More and more convinced that these variables are T!

  • BP incorrectly treats this message as

separate evidence that the variable is T.

  • Multiplies these two messages as if

they were independent.

  • But they don’t actually come from

independent parts of the graph.

  • One influenced the other (via a cycle).

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 89

slide-78
SLIDE 78

¡ Advantages:

§ Easy to program & parallelize § General: can apply to any graphical model w/ any form of potentials (higher order than pairwise)

¡ Challenges:

§ Convergence is not guaranteed (when to stop), especially if many closed loops

¡ Potential functions (parameters)

§ require training to estimate § learning by gradient-based optimization: convergence issues during training

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 90

slide-79
SLIDE 79

Netprobe: A Fast and Scalable System for Fraud Detection in Online Auction Networks Pandit et al., World Wide Web conference 2007

slide-80
SLIDE 80

¡ Auction sites: attractive target for fraud ¡ Made up 63% of complaints to Federal

Internet Crime Complaint Center (US) in 2006

¡ Average loss per incident: = $385

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 92

slide-81
SLIDE 81

¡ Insufficient solution to look at individual

features: user attributes, geographic locations, login times, session history, etc.

¡ Hard to fake: graph structure ¡ Capture relationships between users ¡ Main question: how do fraudsters interact

with other users and among each other?

§ In addition to buy/sell relations, are there more complex relations?

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 93

slide-82
SLIDE 82

¡ Each user has a reputation score ¡ Users rate each other via feedback ¡ Question: How do fraudsters game the

feedback system?

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 94

slide-83
SLIDE 83

¡ Do they boost each others’

reputation?

§ No, because if one is caught, all will be caught

¡ They form near-bipartite

cores (2 roles)

§ Accomplice: trades with honest, looks legit § Fraudster: trades with accomplice, fraud with honest

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 95

slide-84
SLIDE 84

¡ How to find near-bipartite cores? How to find

roles (honest, accomplice, fraudster)?

§ Use belief propagation!

¡ How to set BP parameters (potentials)?

§ prior beliefs: prior knowledge, unbiased if none § compatibility potentials: by insight

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 96

slide-85
SLIDE 85

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 97

Initialize all nodes as unbiased

slide-86
SLIDE 86

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 98

Initialize all nodes as unbiased At each iteration, for each node, compute messages to its neighbors

slide-87
SLIDE 87

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 99

Initialize all nodes as unbiased Continue till convergence At each iteration, for each node, compute messages to its neighbors

slide-88
SLIDE 88

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 100

P(fraudster) P(associate) P(honest)

slide-89
SLIDE 89

¡ Three collective classification algorithms:

§ Relational models

§ Weighted average of neighborhood properties § Cannot take node attributes while labeling

§ Iterative classification

§ Update each node’s label using own and neighbor’s labels § Can consider node attributes while labeling

§ Belief propagation

§ Message passing to update each node’s belief of itself based on neighbors’ beliefs

10/17/19 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, http://cs224w.stanford.edu 101