摘要

K最近邻(KNN)算法作为目前使用最广泛的有监督分类算法,在大规模、多维度数据的处理方面往往是低效的,因此提出了一种适用于高维度大数据量处理的改进KNN算法。首先采用深度神经网络(DNN)作为特征提取器并进行降维,以学习到最合适的深度特征表示形式;然后通过密度Canopy算法获取到合适的集群数和初始聚类中心,成为之后K-means聚类的输入参数;最后对学习到的数据进行聚类,并采用近似相似性搜索(ASS)中的Hashing策略按其近似相似度进行集群划分,将结果作为KNN分类器的新训练样本。考虑到要查询的最近邻样本可能落在不同集群之中,导致KNN搜索的性能下降,在聚类时额外采用了一种聚类增强策略,有效缓解了这种情况的发生。使用五个不同的数据集进行对比测试,结果表明:与实验对比的算法相比,该算法不仅能够极大地提高KNN的分类精度,而且有效地提升了算法的分类效率,减少了搜索所需的距离数,对噪声数据还具有良好的鲁棒性。