一种基于位置差异的高精度近邻搜索算法制造技术

技术编号:15063375 阅读:42 留言:0更新日期:2017-04-06 12:13
本发明专利技术涉及一种基于位置差异的高精度近邻搜索算法,其是将高维距离位置差异因子中第i个参考点i个分量取值为‑1,其他分量取值为1;将所有长度为1的单位向量设置为参考点;计算第i个参考点到所有数据点的距离Disi;依据距离Disi大小进行排序并产生一个有序序列;计算样本点A到长度为2k*ε子序列所有点的精确欧式距离,ε为子序列长度调节因子;对得到的距离值使用部分排序算法获得最小的k个欧式距离;若所有应用了参考点的数据点的最近邻点已经被计算,则计算所有数据点和终点的高维距离位置差异因子,否则i=i+1,回到第一步。本发明专利技术在没有增加算法的时间复杂度前提下提高了算法精度,还保留了在高维数据集上不依赖索引、高效、在线等优势。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种基于位置差异的高精度近邻搜索算法。
技术介绍
k近邻搜索算法用于搜索数据集中距离某一点最近的k个最近邻点。当前,该算法已经广泛应用于特征选择,模式识别,聚类,噪音检测分类等诸多领域。其中,作为早期的k近邻搜索算法,全搜索算法(FullSearchAlgorithm,简称FSA算法)是通过计算待分类点到各已知类别点的欧式距离以确定k个最近邻点,因此其时间复杂度较高(O(n2)),且适应性很差。针对FSA算法存在的缺陷,许多学者提出来了降低其时间复杂度的算法,这些算法大体可以分为两类:第一,创建搜索树以降低时间复杂度。比如,Kim和Park使用有序分拆方法来创建一个多分支搜索树以提高搜索效率;Wang和Gan将投射聚类和主轴搜索树算法相结合以减少运算时间。Chen等使用赢家更新搜索方法和下界树来改善算法效率。以上改进算法的不足之处在于,随着数据维数增加,其时间复杂度急剧变坏,且失去稳定性。第二,设置相关辅助信息以提高搜索效率。譬如,Ra和Kim通过计算待分类点到各已知类别点的平均值的差异来除去不可能数据点;Lai使用三角不等式和投影值以降低计算复杂度;Xia等在研究数据维度对最近邻搜索算法影响后提出了高维距离位置差异的近邻搜索算法(LocationDifferenceofMultipleDistancesBasedNearestNeighborsSearchingAlgorithm,简称LDMDBA算法,其参考文章为:(XiaS,XiongZ,LuoY,etal.Locationdifferenceofmultipledistancesbasedk-nearestneighborsalgorithm[J].Knowledge-BasedSystems,2015,90(C):99-110.)),该算法的时间复杂度(O(logdnlogn))不仅远低于FSA算法和大多数其他算法,而且其在不同的高维数据集上有良好的稳定性,但该算法不足之处在于在一些数据集的分类精度上略低于FSA算法。因此如何在不增加时间复杂度基础上,提高LDMDBA算法的分类精度成为当前研究的焦点。
技术实现思路
针对上述问题,本专利技术提出了一种基于位置差异的高精度近邻搜索算法,其基于高维距离位置差异的近邻搜索算法(简称LDMDBA算法),将参考点的数目从log(d)增加到d(d是数据集的维度),从而有效地提高了高维距离位置差异的近邻搜索算法(简称LDMDBA算法)的精度,并且从理论上证明了精度的提高没有增加算法的时间复杂度;同时仍然保留了原始算法在高维数据集上不依赖索引,高效,在线等优势。本专利技术的技术方案如下:上述的基于位置差异的高精度近邻搜索算法简称HPLDBA算法(HighPrecisionLocationDifferencebasedNearestNeighborsSearchingAlgorithm),其基于高维距离位置差异的近邻搜索算法(简称LDMDBA算法),先给定数据集D∈Rd,任取一样本点A∈D,k是要搜索的近邻数,参考点i=1,然后包括以下流程:(1)将高维距离位置差异因子中第i个参考点i个分量取值为-1,其他分量取值为1;(2)将所有长度为1的单位向量设置为参考点;(3)计算第i个参考点到所有数据点的距离Disi;(4)依据距离Disi大小进行排序,并产生一个有序序列;(5)计算样本点A到长度为2k*ε子序列的所有点的精确欧式距离,ε为子序列长度调节因子;(6)对上述步骤(5)得到的距离值使用部分排序算法获得最小的k个欧式距离,最小的k个欧式距离所对应的样本点即是A的最终k近邻样本;(7)如果所有应用了参考点的数据点的最近邻点已经被计算,则计算所有数据点和终点的高维距离位置差异因子,否则i=i+1,回到上述步骤(1)。所述基于位置差异的高精度近邻搜索算法,其中:所述高精度近邻搜索算法的时间复杂度由所述步骤(4)和步骤(6)的最大时间复杂确定。所述基于位置差异的高精度近邻搜索算法,其中:所述步骤(6)的时间复杂度为O(nlog2n)~O(n),若设置ε是一个常量或者一个小数值则时间复杂度范围是O(dnlog2n)~O(dn)。有益效果:本专利技术基于位置差异的高精度近邻搜索算法构思合理,与其他k近邻搜索算法比较搜索效率更高,同时通过将参考点的数目从log(d)增加到d(d是数据集的维度)有效地提高了算法的精度。分析结果表明,本专利技术基于位置差异的高精度近邻搜索算法(简称HPLDBA算法)的时间复杂度并未增加,算法复杂度维持在了O(nlogn),该算法复杂度要低于基本FSA算法以及现有所有的基于树索引结构的近邻搜索算法,保证了其在高维数据集中的算法效率优势。由于在保持算法时间复杂度的情况下,增加了参考点数目,使得近邻的搜索过程中排除掉更多假近邻样本,搜索结果更加准确,提高了近邻搜索的精度,尤其在高维距离位置差异的近邻搜索算法(简称LDMDBA算法)运行误差较大的部分高维数据集上的近邻分类结果中,改进算法的精度误差降低了一半以上。其有效性在公共数据集和人工数据集上得到了验证。附图说明图1为本专利技术基于位置差异的高精度近邻搜索算法中近邻数k=3时公共数据集上HPLDBA算法与其他算法预测精度图;图2为本专利技术基于位置差异的高精度近邻搜索算法中近邻数k=6时公共数据集上HPLDBA算法与其他算法预测精度图;图3为本专利技术基于位置差异的高精度近邻搜索算法中近邻数k=9时公共数据集上HPLDBA算法与其他算法预测精度图;图4为本专利技术基于位置差异的高精度近邻搜索算法中不同数据点数目下三种算法的运行时间图。具体实施方式本专利技术基于位置差异的高精度近邻搜索算法,其基于高维距离位置差异的近邻搜索算法(简称LDMDBA算法),通过一定程度上扩大LDMDBA算法中的参考点数目以提高LDMDBA算法的精度。本专利技术基于位置差异的高精度近邻搜索算法简称HPLDBA算法(HighPrecisionLocationDifferencebasedNearestNeighborsSearchingAlgorithm),具体是先给定数据集D∈Rd,任取一样本点A∈D,k是本专利技术的近邻搜索算法中要搜索的近邻数,参考点i=1之后,然后包括以下流程:(1)将高维距离位置差异因子(简称LDMDBF)中第i个参考点i个分量取值为-1,其他分量取值为1;(2)将所有长度为1的单位向量设置为参考点;(3)计算第i个参考点到所有数据点的距离Disi;(4)依据距离Disi大小进行排序,并产生一个有序序列;(5)计算样本点A到长度为2k*ε(ε为子序列长度调节因子)子序列的所有点的精确欧式距离;(6)将上述步骤(5)得到的距离值使用部分排序算法获得最小的k个欧式距离,最小的k个欧式距离所对应的样本点即是A的最终k近邻样本;(7)如果所有应用了参考点的数据点的最近邻点已经被计算,则计算所有数据点和终点的高维距离位置差异因子(简称LDMDBF),否则i=i+1,回到上述步骤(1)。本专利技术基于位置差异的高精度近邻搜索算法(简称HPLDBA算法)相比于高维距离位置差异的近邻搜索算法(简称LDMDBA算法)的创新就在于两点:第一点是在算法的第二步中,将所有的本文档来自技高网
...

【技术保护点】
一种基于位置差异的高精度近邻搜索算法,其基于高维距离位置差异的近邻搜索算法,其特征在于,是先给定数据集D∈Rd,任取一样本点A∈D,k是要搜索的近邻数,参考点i=1,然后包括以下流程:(1)将高维距离位置差异因子中第i个参考点i个分量取值为‑1,其他分量取值为1;(2)将所有长度为1的单位向量设置为参考点;(3)计算第i个参考点到所有数据点的距离Disi;(4)依据距离Disi大小进行排序,并产生一个有序序列;(5)计算样本点A到长度为2k*ε子序列的所有点的精确欧式距离,ε为子序列长度调节因子;(6)对上述步骤(5)得到的距离值使用部分排序算法获得最小的k个欧式距离,最小的k个欧式距离所对应的样本点即是A的最终k近邻样本;(7)如果所有应用了参考点的数据点的最近邻点已经被计算,则计算所有数据点和终点的高维距离位置差异因子,否则i=i+1,回到上述步骤(1)。

【技术特征摘要】
1.一种基于位置差异的高精度近邻搜索算法,其基于高维距离位置差异的近邻搜索算法,其特征在于,是先给定数据集D∈Rd,任取一样本点A∈D,k是要搜索的近邻数,参考点i=1,然后包括以下流程:(1)将高维距离位置差异因子中第i个参考点i个分量取值为-1,其他分量取值为1;(2)将所有长度为1的单位向量设置为参考点;(3)计算第i个参考点到所有数据点的距离Disi;(4)依据距离Disi大小进行排序,并产生一个有序序列;(5)计算样本点A到长度为2k*ε子序列的所有点的精确欧式距离,ε为子序列长度调节因子;(6)对上述步骤(5)得到的距离值使用部分排序算法获得最...

【专利技术属性】
技术研发人员:杨柳毕孝儒贾小林
申请(专利权)人:四川外国语大学重庆南方翻译学院
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1