发明名称 一种基于欧氏距离改进的kNN近邻查找方法
摘要 本发明公开了一种基于欧氏距离改进的kNN近邻查找方法。本发明利用欧式空间的特性,通过加减运算替换传统kNN方法中较为复杂的乘方运算,减少计算开销,在不降低查询准确率的条件下,实现对待分类样本的k近邻查找。本发明可有效减少部分样本点的计算量,降低kNN方法的时间复杂度;同时借助简化过程引入的临时变量,规避对全局集中式索引结构的依赖,将传统kNN方法由串行单线程处理模式,非常方便地扩展为多线程处理模式,提升处理器利用率并适应大数据处理的需求。
申请公布号 CN106250506A 申请公布日期 2016.12.21
申请号 CN201610626850.1 申请日期 2016.08.02
申请人 东南大学 发明人 杨鹏;吕培培;顾梁;董永强
分类号 G06F17/30(2006.01)I;G06F9/38(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 李玉平
主权项 一种基于欧氏距离改进的kNN近邻查找方法,其特征在于:假定由n(n&gt;0)个样本构成样本集合S={s<sub>0</sub>,s<sub>1</sub>,…,s<sub>n</sub>‑1},同时共有t(t&gt;0)个线程TD<sub>0</sub>、TD<sub>1</sub>、…、TD<sub>t‑1</sub>进行处理,在S中查找与待分类样本v<sub>0</sub>最相似的k个近邻,则本方法具体可以分为3个主要步骤:步骤1,线程初始化处理;对任一线程TD<sub>j</sub>(0≤j≤t‑1),令<img file="FDA0001067371300000011.GIF" wi="414" he="63" /><img file="FDA0001067371300000012.GIF" wi="294" he="126" />其中<img file="FDA0001067371300000013.GIF" wi="50" he="61" />为取下整符号,则TD<sub>j</sub>首先在S<sub>j</sub>中随机取k个样本,构成TD<sub>j</sub>关于待分类样本v<sub>0</sub>的初始k‑近邻集合<img file="FDA0001067371300000014.GIF" wi="80" he="71" />再计算<img file="FDA0001067371300000015.GIF" wi="56" he="77" />中各样本与v<sub>0</sub>的欧氏距离,并选择其中距离最大值,不妨记为dmax<sub>j</sub>,假定与它对应的样本为s<sub>max</sub>;同时令<img file="FDA0001067371300000016.GIF" wi="374" he="89" />并且令样本集合<img file="FDA0001067371300000017.GIF" wi="245" he="72" />步骤2,单个线程求k‑近邻;对任一线程TD<sub>j</sub>(0≤j≤t‑1),从<img file="FDA0001067371300000018.GIF" wi="51" he="71" />中逐个选取每一样本s;首先,计算s各个维度与v<sub>0</sub>对应维度的距离,并将其与radius进行比较:只要其中有一个维度的距离大于radius,则直接丢弃s;否则,计算s与v<sub>0</sub>的欧氏距离d;将计算所得d与dmax<sub>j</sub>进行比较,如果d大于dmax<sub>j</sub>,则直接丢弃s;否则令<img file="FDA0001067371300000019.GIF" wi="523" he="71" />并再在所得新的<img file="FDA00010673713000000110.GIF" wi="51" he="70" />中选择距离v<sub>0</sub>最远的样本(仍用s<sub>max</sub>表示),v<sub>0</sub>和样本s<sub>max</sub>的距离仍用dmax<sub>j</sub>表示,同时更新<img file="FDA00010673713000000111.GIF" wi="389" he="88" />当<img file="FDA00010673713000000112.GIF" wi="51" he="72" />中所有样本处理完后,则得到线程TD<sub>j</sub>的k‑近邻集合<img file="FDA00010673713000000113.GIF" wi="81" he="79" />计算并记录<img file="FDA00010673713000000114.GIF" wi="56" he="79" />中各样本与v<sub>0</sub>的欧氏距离;步骤3,多线程归并求k‑近邻;将t个线程的k‑近邻集合进行归并,得到<img file="FDA00010673713000000115.GIF" wi="246" he="119" />该集合中共有t*k个样本,并对应t*k个欧氏距离;通过在t*k个欧氏距离中选取k个最小值,很容易得到全局样本集合S中关于待分类样本v<sub>0</sub>的k个近邻。
地址 210096 江苏省南京市玄武区四牌楼2号