I. Introduction
The nearest neighbor algorithm [1] is a simple learning algorithm which could be applied to high dimensional datasets without any modification to the original algorithm. However, its performance is often poor in high dimensions, as is the case also for many other learning algorithms, due to its sensitivity to the input data [2]. This is known as the curse of dimensionality [3], a well known phenomenon that misleads learning algorithms when applied to high-dimensional data. Dimensionality reduction is one potential approach to address this problem [3], [4]. However, selecting a suitable dimensionality reduction method for a dataset may not be straightforward since the resulting performance is dependent not only on the dataset but also the learning algorithm.