1. A method of processing a data set, comprising the steps of: sampling data points from the data set to create hierarchically arranged subspaces from the sampled data points; projecting data points from the data set onto the hierarchically arranged subspaces; and storing the hierarchically arranged subspaces with the projected data points as a compressed representation of the data set.