Module bmor

Module bmor 

Source
Expand description

This module implement building blocks used a black box in coreset constructions. The algorithm computes an (alfa, beta) k-median approximation and is used as input to coreset computations.

Adaptation of Streaming k-means on well clustered data.
Braverman Meyerson Ostrovski Roytman ACM-SIAM 2011 braverman-2

This algorithm can run in a streaming context.

We do not constrain the clustering output to be exactly some value k but let the number of clusters be the result of the main algorithms.

Bmor algorithm dispatch points on the fly so it computes an upper bound of the cost.
But it is possible to dispatch_data explicitly

This algorithm can process mnist fashion data in 1 second on a i9 laptop (without requiring heavy multithreading)

Structsยง

Bmor
This structure gathers all parameters defining Bmor algorithm.
The algorithm do iterations with at each step an acceptable upper bound cost and upper bound on number facilities. The upper bounds are increased if iteration constraints are not satisfied, exisiting facilities are recycled as old points and the algortitm can go on with new incoming points in a streaming way.
BmorState
This structure stores the state of Bmor algorithm through iterations. In particular it stores allocated facilities.