Kernel Dimensionality Reduction for Supervised Learning