GPGC Genetic Programming for Automatic Clustering using a

  • Slides: 20
Download presentation
GPGC: Genetic Programming for Automatic Clustering using a Flexible Non-Hyper-Spherical Graph-Based Approach Andrew Lensen,

GPGC: Genetic Programming for Automatic Clustering using a Flexible Non-Hyper-Spherical Graph-Based Approach Andrew Lensen, Dr. Bing Xue, and Prof. Mengjie Zhang Victoria University of Wellington, New Zealand GECCO 2017

Cluster Shape • Many clustering algorithms make assumptions around a cluster’s shape. • k-means:

Cluster Shape • Many clustering algorithms make assumptions around a cluster’s shape. • k-means: hyper-sphericality. • Others (DBSCAN etc. ) assume clusters are regions of uniform density. 2

Graph-based Clustering • Graph-based clustering techniques exploit the natural graph structure formed by instances

Graph-based Clustering • Graph-based clustering techniques exploit the natural graph structure formed by instances (nodes) – neighbouring instances share an edge. • Most techniques use a fixed threshold or n-nearest neighbours to decide which instances share an edge. • Inflexible, dataset-dependent, doesn’t allow varying density… 3

GP: Improving Graph-based Clustering • GP is good at creating function trees which map

GP: Improving Graph-based Clustering • GP is good at creating function trees which map inputs to an output. • Why not use GP to design similarity functions that decide which instances to connect with an edge? • Learn which function is suitable for a given dataset. • Exploit power of graph representation. • Construct more powerful features than those used in standard similarity functions. 4

Goals (1) Propose a novel GP graph-based clustering algorithm (GPGC) to dynamically produce clusters

Goals (1) Propose a novel GP graph-based clustering algorithm (GPGC) to dynamically produce clusters of a range of shapes. 1. Develop a new GP representation to allow GP to build similarity functions. 2. Propose a new algorithm to use the output of a GP tree to directly perform graph-based clustering. 5

Goals (2) 3. Develop a new fitness function which can produce good quality clusters

Goals (2) 3. Develop a new fitness function which can produce good quality clusters of varying shape. 4. Evaluate the performance of the proposed algorithm vs baselines across a wide range of clusters with varying shapes. 6

Overall Design 7

Overall Design 7

GP Program Design (Goal #1) • A similarity function takes two instances and outputs

GP Program Design (Goal #1) • A similarity function takes two instances and outputs their similarity. • Terminal Set: Features from each instance, random double. • Function set: Normal arithmetic operators for FC, Conditional operators (if/max/min) to allow varying behaviour across dataset. 8

Clustering Alg. (Goal #2) • A GP tree takes two instances as input and

Clustering Alg. (Goal #2) • A GP tree takes two instances as input and outputs a measure of how similar they are. • The c most similar neighbours to an instance are given an edge. • Choose from l closest neighbours. • Each graph gives one cluster. 9

Fitness Function (Goal #3) • GPGC uses a fitness function designed to automatically discover

Fitness Function (Goal #3) • GPGC uses a fitness function designed to automatically discover a variety of cluster shapes (i. e. not only hyper-spherical clusters). • Balance three key measures of cluster quality: • Compactness: clusters should be tightly-packed in order to be specific. • Separability: clusters should be far apart to be distinct clusters. • Connectedness: close instances should be in the same cluster. • The number of clusters is not explicitly considered! 10

Fitness Function: Compactness • Find the most isolated instance in a given cluster. •

Fitness Function: Compactness • Find the most isolated instance in a given cluster. • The instance furthest away from its nearest-neighbour. • The red node is the most isolated in the top cluster. • The distance to its nearest-neighbour is the cluster’s sparsity. • More sparse � Less compact. • Minimise sparsity. 11

Fitness Function: Separation • Find the closest neighbouring cluster. • Minimum distance from any

Fitness Function: Separation • Find the closest neighbouring cluster. • Minimum distance from any instance in the cluster to any other instance not in the same cluster. • The red connection shows the minimum separation between these two clusters. • Maximise separation. 12

Fitness Function: Connectedness • Find how well each instance lies in the same cluster

Fitness Function: Connectedness • Find how well each instance lies in the same cluster as its nearest n neighbours. • For each of the n neighbours in the same cluster, find the inverse distance to that neighbour, and add to the total connectedness score. • Close neighbours are weighted higher. • Maximise connectedness. 13

Fitness Function: Combining the Measures • Find the ratio of cluster sparsity: separation (CS:

Fitness Function: Combining the Measures • Find the ratio of cluster sparsity: separation (CS: S) for each cluster. • Sparsity and separation are conflicting. • Find the mean connectedness across all instances. • Maximise the overall fitness. 14

Experiments (Goal #4) • 15

Experiments (Goal #4) • 15

Results (1) • Outperformed all baselines on hardest synthetic datasets, despite not pre-defining K.

Results (1) • Outperformed all baselines on hardest synthetic datasets, despite not pre-defining K. • Finds K much more accurately than OPTICS. • F-Measure compares to "gold standard" provided by dataset authors. • Much better F-Measure! 16

Results (2) • Best method in general across all handcrafted datasets. • GPGC shown

Results (2) • Best method in general across all handcrafted datasets. • GPGC shown to successfully adapt to range of cluster shapes. 17

Example of an Evolved Similarity Function 18

Example of an Evolved Similarity Function 18

Final Remarks • First work using GP to evolve similarity functions for clustering. •

Final Remarks • First work using GP to evolve similarity functions for clustering. • Builds powerful high-level features within the GP tree. • Shown to be flexible across a range of datasets and dimensionalities. • Further room for improvement – EMO, multi-tree, other functions. 19

Thank you! 20

Thank you! 20