Dimensionality Reduction Algorithm