[发明专利]一种基于参考点的快速精确近邻分类算法在审
申请号: | 201611173890.1 | 申请日: | 2016-12-16 |
公开(公告)号: | CN106778869A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 夏书银 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62 |
代理公司: | 北京同恒源知识产权代理有限公司11275 | 代理人: | 廖曦 |
地址: | 400065 *** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 参考 快速 精确 近邻 分类 算法 | ||
技术领域
本发明属于计算机技术领域,涉及一种基于参考点的快速精确近邻分类算法。
背景技术
k近邻分类算法(k Nearest Neighbors’Algorithm,kNN)是机器学习领域最为经典和常用的分类算法之一。当前,该算法已经广泛应用于特征选择,模式识别,聚类,噪音检测分类等诸多领域。最基本的全搜索k近邻算法(Full Searching algorithm,FSA)算法是通过计算待分类点到各已知类别点的欧式距离以确定k个最近邻点,因此其时间复杂度较高(O(n2)),算法效率很低。另外,现有的k近邻算法在不平衡数据集中的分类精度无法保证。现有的改进的近邻算法主要在于提高k近邻算法的效率,这些算法大体可以分为两类:第一类,创建搜索树以降低时间复杂度。比如,Kim和Park使用有序分拆方法来创建一个多分支搜索树以提高搜索效率;Wang和Gan将投射聚类和主轴搜索树算法相结合以减少运算时间。Chen等使用赢家更新搜索方法和下界树来改善算法效率。以上改进算法的不足之处在于,随着数据维数增加,其时间复杂度急剧变坏,且失去稳定性,所以算法的时间复杂度在(O(nlogn)~O(n2))。第二类,近似k最近邻算法。该类算法通过搜索近似的k最近邻样本代替精确的最近邻样本,来避免所有样本之间距离的直接计算,以提高搜索效率。譬如,Ra和Kim通过计算待分类点到各已知类别点的平均值的差异来除去不可能数据点;Lai使用三角不等式和投影值以降低计算复杂度;Xia在研究数据维度对最近邻搜索算法影响后提出了LDMDBA算法;还有一些算法通过聚类来提高算法效率。这些算法虽然在效率上得到了提升,但是都在不同程度上牺牲了算法的精度,要低于精确最近邻算法(即FSA或是其他基于树索引结构的算法)。总结来说,两类算法无法在保证算法精度的情况下,将算法在包括高维数据集上的各种数据上的时间复杂度降低到O(nlogn)。另外,这些改进算法都无法解决k近邻算法在不平衡数据集上精度下降的问题。
发明内容
有鉴于此,本发明的目的在于提供一种新的分类算法,即一种基于参考点的快速精确近邻分类算法(RPkN)。该近邻搜索算法与现有k近邻算法不同的是,其不再搜索最近邻样本用来分类,而是对分类问题更有效的样本。该特性使RPkN能突破现有的最近邻分类算法在处理不平衡数据低精度的局限性,使得RPkN具有更好的分类预测精度。另外,相比现有基于树的精确最近邻算法,RPkN算法不依赖任何树索引结构,所以能够更高效地处理高维数据,该算法的时间复杂度在任何数据集中可以保证在O(nlogn)。另外,RPkN仍然保留了现有最近邻查询算法的优势:在线、多分类、不依赖训练等。
为达到上述目的,本发明提供如下技术方案:
一种基于参考点的快速精确近邻分类算法,该算法用参考点的距离来替代样本点之间的距离的进行直接计算,找到了比最近邻样本更加适合分类的样本点,以提高算法的分类精度,算法给定数据集D∈Rd,k是近邻算法中要搜索的近邻数,A是D中的一个样本点,ε为关系近邻搜索算法时间复杂度的常量;表示候选参考点设置为单位向量及其反向量,定义变量ExistingNeighbors=NULL,j=1,具体步骤包括:
1)设置子序列的长度为2j*k*ε,并选择第i个候选参考点为当前的参考点;
2)计算所有样本点的参考点因子值,即RPF值,并对所有样本点按照其RPF值进行排序并生成一个有序序列;
3)在由ExistingNeighbors和以A为中心且长度为2j*k*ε的子序列构成的集合中,找到与到A最近的k的样本点;
4)计算所有样本点的近邻样本及整个数据集的分类精度;
5)i=i+1,将第i个候选参考点设置为下一个参考点;并计算加入新参考点后的分类精度;
6)如果所有候选参考点被加入且精度增加,用所有样本的k近邻样本替代ExistingNeighbors,转向步骤7);如果还有候选参考点未被加入且精度增加,用所有样本的k近邻样本替代ExistingNeighbors,转向步骤5);
7)如果子序列长度增加后算法的分类精度降低,算法终止;否则,转向步骤8);
8)通过j=j+1将子序列的长度增加1并转向步骤1)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611173890.1/2.html,转载请声明来源钻瓜专利网。