Clustering by contrast Cyril CHHUN Tlcom Paris Advisor: Jean-Louis - - PowerPoint PPT Presentation

clustering by contrast
SMART_READER_LITE
LIVE PREVIEW

Clustering by contrast Cyril CHHUN Tlcom Paris Advisor: Jean-Louis - - PowerPoint PPT Presentation

Clustering by contrast Cyril CHHUN Tlcom Paris Advisor: Jean-Louis DESSALLES June 20, 2019 Outline 1 Introduction 2 The algorithm 3 Test results 4 Conclusion Introduction views on Youtube Clustering by contrast Cyril CHHUN


slide-1
SLIDE 1

Clustering by contrast

Cyril CHHUN

Télécom Paris Advisor: Jean-Louis DESSALLES

June 20, 2019

slide-2
SLIDE 2

Outline

1

Introduction

2

The algorithm

3

Test results

4

Conclusion

slide-3
SLIDE 3

Introduction The algorithm Test results Conclusion

Introduction

What are the end goals of contrast learning?

Design a clustering algorithm able to:

  • understand the meaning of “small bacteria” and “small galaxy”

without going through the set of “small” objects

  • produce relevant descriptions: “it’s a singer who has ten million

views on Youtube”

  • produce negations and explanations: “she is not a writer”
  • detect anomalies: a talking cat
  • learn from a single example: a “Siamese cat”

Cyril CHHUN Clustering by contrast 3 / 17

slide-4
SLIDE 4

Introduction The algorithm Test results Conclusion

Impossibility theorem

Which properties would we expect of a clustering algorithm?

  • Scale-invariance, richness, consistency
  • Kleinberg (2002)1: it is impossible to design a distance

function-based clustering algorithm which verifjes those three properties.

  • Solution: forsake one of those properties or use non-metric

functions

1Jon Kleinberg. An impossibility theorem for clustering. Advances in Neural

Information Processing Systems 15, 2002.

Cyril CHHUN Clustering by contrast 4 / 17

slide-5
SLIDE 5

Introduction The algorithm Test results Conclusion

Vocabulary

  • Object: observed instance
  • Prototype: mental representation of a group as a basic object
  • Contrast: “difgerence” between two objects
  • Weight: number of times a prototype has been recalled
  • Deviation: acceptable range of an object’s properties compared

to its prototype

  • Order: real-life observations are fjrst-order objects, contrasts

are second-order objects, etc.

Cyril CHHUN Clustering by contrast 5 / 17

slide-6
SLIDE 6

Introduction The algorithm Test results Conclusion

Design

Prototypes

How to represent prototypes? Mean Deviation Weight    µ1 . . . µm       σ1 . . . σm    w

Cyril CHHUN Clustering by contrast 6 / 17

slide-7
SLIDE 7

Introduction The algorithm Test results Conclusion

Design

Finding the clusters

Given object b, how to fjnd the best prototype a of deviation a′?

  • Dimension-agnostic, scale-invariant, not density-based.
  • The prametric function

d(a, b) →

m

  • j=1

  • |aj − bj|

a′

j

> θj

  • verifjes scale-invariance along any axis.
  • It is not a distance, as none of the three properties are verifjed!
  • Problem: many prototypes can verify the smallest distance.

Cyril CHHUN Clustering by contrast 7 / 17

slide-8
SLIDE 8

Introduction The algorithm Test results Conclusion

Design

Comparing the clusters

Figure: The smaller cluster seems more reasonable: how to avoid the hub?

  • We simply take the best prototypes two by two and choose the
  • ne whose mean is closer to the object along the most
  • dimensions. The other cluster is eliminated.
  • Using this rule, we make a tournament and pick the winner.
  • Deviations are not used in this step so as to avoid hubs.

Cyril CHHUN Clustering by contrast 8 / 17

slide-9
SLIDE 9

Introduction The algorithm Test results Conclusion

Design

Updating the memory

How to stock the new information in the memory?

  • The object is added as a prototype no matter what, with a

deviation equal to ε times itself and a weight of 1

  • The winning cluster is updated as follows:

mean = weight ∗ prototype + object weight + 1 deviation = weight ∗ deviation + |prototype − object| weight + 1 weight = weight + 1

  • We enforce a limited memory to cope with initial errors and

improve effjciency. Unused prototypes are forgotten fjrst.

Cyril CHHUN Clustering by contrast 9 / 17

slide-10
SLIDE 10

Introduction The algorithm Test results Conclusion

Design

Skeleton def feed_data_online(data): for obj in data: closest_clusters = find_closest_clusters(obj) winner = cluster_battles(obj, closest_clusters) update_memory(obj, winner)

  • Clustering: simple loop with complexity O(mem_size × n)

→ Online learning

Cyril CHHUN Clustering by contrast 10 / 17

slide-11
SLIDE 11

Introduction The algorithm Test results Conclusion

Understanding results

  • Softer clustering than k-means; difgerent ways to classify when

seeing a new object: – Assign object b to prototype a if d(a, b) = 0 – Find the closest prototype to the object (by tournament for example)

Cyril CHHUN Clustering by contrast 11 / 17

slide-12
SLIDE 12

Introduction The algorithm Test results Conclusion

Live demonstration

Cyril CHHUN Clustering by contrast 12 / 17

slide-13
SLIDE 13

Introduction The algorithm Test results Conclusion

What about contrasts?

How to extract relevant contrasts?

  • The contrast features should be meaningful, i.e.

low-dimensional and applicable between similar objects.

  • Given an object b and its closest prototype a, we extract the

contrast c such that cj = (aj − bj) · ✶

  • |aj − bj|

a′

j

> θj

  • Example: seeing a black tomato would give a “red-to-black”

contrast.

Cyril CHHUN Clustering by contrast 13 / 17

slide-14
SLIDE 14

Introduction The algorithm Test results Conclusion

What about contrasts?

How to stock the contrasts in memory?

  • We can use the same principle! Contrast-prototypes with mean,

deviation and weight. Then, how to refjne the contrasts?

  • We can use the same procedure!

Cyril CHHUN Clustering by contrast 14 / 17

slide-15
SLIDE 15

Introduction The algorithm Test results Conclusion

Second demonstration

Cyril CHHUN Clustering by contrast 15 / 17

slide-16
SLIDE 16

Introduction The algorithm Test results Conclusion

Feedback on the checklist

✓ understand the meaning of “small bacteria” and “small galaxy” without going through the set of “small” objects ✗ produce relevant descriptions: “it’s a singer who has ten million views on Youtube” ✗ produce negations and explanations: “she is not a writer” ✓ detect anomalies: a talking cat ✓ learn from a single example: a “Siamese cat”

Cyril CHHUN Clustering by contrast 16 / 17

slide-17
SLIDE 17

Introduction The algorithm Test results Conclusion

Conclusion

  • The algorithm is dimension-agnostic and verifjes

scale-invariance

  • It learns on-the-fmy and has a reasonable complexity (linear on

average)

  • Designed to be used on relatively high-level datasets
  • Contrasts still need testing: some inconsistent results can

appear

Cyril CHHUN Clustering by contrast 17 / 17