[发明专利]基于样本扫描的不确定数据序列K近邻方法及系统在审
申请号: | 202110780361.2 | 申请日: | 2021-07-09 |
公开(公告)号: | CN113344141A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 王文标;林瀚 | 申请(专利权)人: | 中山大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N20/00 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 刘俊 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 样本 扫描 不确定 数据 序列 近邻 方法 系统 | ||
1.基于样本扫描的不确定数据序列K近邻方法,其特征在于,包括以下步骤:
S1:获取待计算的数据集,包括所有不确定序列和查询序列;
S2:计算所有不确定序列的所有样本与查询序列的距离,将距离与样本所属不确定序列编号一同保存在样本数组中;
S3:根据距离从小到大对样本数组进行排序;
S4:构建第一数组、第二数组和控制变量,并对第一数组、第二数组和控制变量进行初始化;
其中:所述第一数组用于记录每个不确定序列已被扫描的样本数;所述第二数组用于记录当前扫描到的样本为每个不确定序列累加的概率贡献;控制变量用于计算当前样本对其所属的不确定序列的概率贡献;
S5:对排序后的样本数组从第一个样本开始扫描;根据控制变量计算当前样本对其所属的不确定序列的概率贡献后更新累加到第二数组对应的元素中,同时,根据当前样本所属的不确定序列更新第一数组对应的元素;
S6:判断待测不确定序列在第一数组中对应的元素是否不小于每个不确定序列的样本数,若是,则待测不确定序列的所有样本已经完成扫描,执行步骤S7;否则,返回步骤S5,扫描下一个样本;
S7:扫描第二数组,找出其中最大的K个元素,其在数组的位置即是带计算数据集中查询序列的K近邻的编号。
2.根据权利要求1所述的基于样本扫描的不确定数据序列K近邻方法,其特征在于,在所述步骤S1中,待计算的数据集D包括N个不确定序列和查询序列Q,其中,第i个不确定序列Xi的所有样本表示为1≤i≤N,1≤j≤m,m为不确定序列Xi的样本数量;
因此,在所述步骤S2中,所有不确定序列Xi的所有样本与查询序列Q的距离表示为将距离与样本所属不确定序列编号i一同保存在样本数组samples中,使得:
samples[(i-1)*m+j]·i=i
其中,dist表示样本数组samples中用于保存距离的元素。
3.根据权利要求2所述的基于样本扫描的不确定数据序列K近邻方法,其特征在于,在所述步骤S4中,初始化长度为N的第一数组和第二数组,使其所有元素为0,初始化控制变量logp=N*ln m,在后续扫描中,第一数组记录每个不确定序列已被扫描的样本数,由于样本从小到大扫描,因此满足以下关系:
m-scanned[i]=#S>(Xi,Q,distance)
其中,scanned[·]表示第一数组;#S>(Xi,Q,distance)表示不确定序列Xi中与查询序列Q之间距离大于给定距离distance的样本的数量;第二数组记录目前扫描到的样本为每个不确定序列累加的概率贡献,具体表示为:
其中,res[·]表示第二数组;P>(D,Q,s)表示数据集D中所有不确定序列的#S>(Xi,Q,s)对样本数量的比值的乘积;控制变量logp是P>(D,Q,s)取对数的结果,在这之上再加上N*lnm保持其值为正数,具体为:
logp=ln P>(D,Q,distance)+N*ln m。
4.根据权利要求3所述的基于样本扫描的不确定数据序列K近邻方法,其特征在于,在所述步骤S5中,令当前元素为sample,i=sample·i,dist=sample·distance,根据控制变量logp的计算式,有:
elogp-N*ln m=P>(D,Q,distance)
计算当前样本对其所属的不确定序列Xi的概率贡献为:
elogp-ln(m-scanned[i])-N*ln m
并将其更新累加到第二数组对应的元素res[i]中;同时,根据当前样本所属的不确定序列更新第一数组对应的元素,具体表示为:
scanned[i]+=1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110780361.2/1.html,转载请声明来源钻瓜专利网。