Efficient kNN Classification with Different Numbers of Nearest Neighbors

From statwiki
Revision as of 17:24, 27 November 2020 by Dfagan (talk | contribs) (Summary)
Jump to: navigation, search

Presented by

Cooper Brooke, Daniel Fagan, Maya Perelman


Unlike popular parametric approaches which first utilizes training observations to learn a model and subsequently predict test samples with this model, the non-parametric k-nearest neighbors (kNNs) method classifies observations with a majority rules approach. kNN classifies test samples by assigning them the label of their k closest training observation (neighbours). This method has become very popular due to its significant performance and easy implementation.

There are two main approaches to conduct kNN classification. The first is to use a fixed k value to classify all test samples. The second is to use a different k value for each test sample. The former, while easy to implement, has proven to be impractical in machine learning applications. Therefore, interest lies in developing an efficient way to apply a different optimal k value for each test sample. The authors of this paper present the kTree and k*Tree methods to solve this research question.

Previous Work

Previous work on finding an optimal fixed k value for all test samples is well-studied. Zhang et al. [42] incorporated a certainty factor measure to solve for an optimal fixed k. This resulted in the conclusion that k should be sqrt(n) (where n is the number of training samples) when n > 100. The method Song et al.[44] explored involved selecting a subset of the most informative samples from neighbourhoods. Vincent and Bengio [45] took the unique approach of designing a k-local hyperplane distance to solve for k. Premachandran and Kakarala [49] had the solution of selecting a robust k using the consensus of multiple rounds of kNNs. These fixed k methods are valuable however are impractical for data mining and machine learning applications.

Finding an efficient approach to assigning varied k values has also been previously studied. Tuning approaches such as the ones taken by Zhu et al. as well as Sahugara et al. have been popular. Zhu et al. [21] determined that optimal k values should be chosen using cross validation while Sahugara et al. [33] proposed using Monte Carlo validation to select varied k parameters. Other learning approaches such as those taken by Zheng et al. and Góra and Wojna also show promise. Zheng et al. [30] applied a reconstruction framework to learn suitable k values. Góra and Wojna [15] proposed using rule induction and instance-based learning to learn optimal k-values for each test sample. While all these methods are valid, their processes of either learning varied k values or scanning all training samples are time-consuming.


Due to the previously mentioned drawbacks of fixed-k and current varied-k kNN classification, the paper’s authors sought to design a new approach to solve for different k values. The kTree and k*Tree approach seeks to calculate optimal values of k while avoiding computationally costly steps such as cross validation.

A secondary motivation of this research was to ensure that the kTree method would perform better than kNN using fixed values of k given that running costs would be similar in this instance.