一种测试分类数据集的方法
【技术领域】
[0001] 本申请涉及多标记学习及其应用领域,尤其涉及一种测试分类数据集的方法。
【背景技术】
[0002] 多标记学习及其应用,是当前机器学习和数据挖掘领域的热点研究问题。多标记 学习起源于文本分类问题。其中,每个文件可能属于多个事先预定的不同主题。除文本分 类以外,多标记学习已广泛应用于许多实际问题当中。例如蛋白质功能分类、语义场景分类 和音乐分类等。在功能基因组学研究中,每个基因可能隶属于多个功能类别,例如代谢、转 录和蛋白质合成等;在语义场景分类问题中,一张图片可能同时属于多种主题类别,例如一 张图片中如果同时存在沙滩和阳光的场景,那么在图片分类当中,这张图片既可以属于沙 滩类,也可以属于阳光类;同样的,在音乐分类中,一首歌可以既属于摇滚乐也可以属于民 谣,如蝎子乐队的歌曲。在这些应用当中,训练集中的每个示例都属于多个标记,而多标记 学习的任务就是通过对已知标记的训练集数据的分析,为每个未知的示例预测输出一组标 记集。
[0003] 现有的做法,是使用K最近邻分类算法进行分类。该算法由Hart和Cover于上世 纪60年代末首次提出,是一种典型的Lazy型分类算法,也是基于实例学习的分类算法中比 较常用的一种方法。是基于统计的分类方法,是根据测试样本在特征空间中K格最近邻样 本中的多数样本的类别来进行分类,因此具有直观、无需先验统计知识等特点,从而成为非 参数分类的一种重要方法。但是此算法的精确度还有待提高。
【发明内容】
[0004] 本发明了提供了一种测试分类数据集的方法,以解决现有的KNN算法精确度不够 高的技术问题。本发明基于粒子群优化算法,使用新的加权KNN分类算法,并将其运用到多 种多标记数据集中,对测试数据集进行测试,提高了 KNN分类算法的准确度。
[0005] 为解决上述技术问题,本发明提供了一种测试分类数据集的方法,所述方法包 括:
[0006] 步骤1,获得分类数据集;
[0007] 步骤2,判断所述分类数据集是否需要进行标准化,若是,使用绝对标准差的方式 对所述分类数据集进行标准化;
[0008] 步骤3,标准化之后,将所述分类数据集分成训练集和测试集;
[0009] 步骤4,利用PSO算法学习加权KNN算法中的权重值,然后根据获得的权重值的取 值范围对所述训练集进行种群初始化;
[0010] 步骤5,确定所述训练集中每个粒子的预测标记向量,然后根据适应度函数值公式 计算每个粒子的初始度适应值;
[0011] 步骤6,根据粒子群速度公式对每个粒子进行更新操作,然后对每个粒子进行适应 度评价以及适应度排序;
[0012] 步骤7,判断粒子是否达到停止条件;
[0013] 若满足,转入步骤8,根据每个粒子的适应度排序获得优化权重值;基于所述优化 权重值对所述测试集进行分类测试;
[0014] 若不满足,转入步骤5。
[0015] 优选的,在所述步骤4中,利用PSO算法学习加权KNN算法中的权重值,具体包括:
[0016] 获得距离计算公式
Cl1表示第i个粒子与全局最优粒子之间 的距离,gBestl表示全局最优粒子的位置,xil表示第i个粒子的位置,m表示粒子的总数; [0017] 每当一个粒子靠近当前全局最优位置时,增加惯性权重值w,缩小c2:
[0020] 其中
m为粒子维度值,η为种群大小,C2max= 2, c 2min= 0. 5, ω _ = 1· 1,ωηπη= 〇· 4 ;
[0021] 动态调整学习因子cl K1Q) = 4· O-C2 (i)。
[0022] 优选的,在所述步骤5中,确定所述训练集中每个粒子的预测标记向量,具体为:
[0023] 利用0/1的的方式对所述训练集进行标记,将每个粒子的预测标记向量确定为 0/1的向量集合,其中,〇表示标记不属于粒子,1表示标记属于粒子。
[0024] 优选的,在所述步骤5中,适应度函数值公式具体为:
[0026] 其中,Y表示所述训练集的数据标记集合,N表示集合中的粒子数,Y1表示第i个 粒子的实际标记向量集,Zi表示第i个粒子的预测标记向量集。
[0027] 优选的,在所述步骤8中,基于所述优化权重值对所述测试集进行分类测试,具体 包括:
[0028] 对所述优化权重值的适应度值进行排序,然后再求取各自的平均权值;
[0029] 利用所述平均权值和预测函数,获得所述测试集的预测类标记;
[0030] 计算所述测试集的分类准确度。
[0031] 优选的,在所述步骤8中,基于所述优化权重值对所述测试集进行分类测试,具体 还包括:
[0032] 对所述优化权重值的适应度值进行排序;
[0033] 基于排序后的优化权重值和预测函数,获得所述测试集的最终类标记,所述最终 类标记具体是类标记匹配度最高的标记;
[0034] 计算所述测试集的分类准确度。
[0035] 优选的,在所述根据每个粒子的适应度排序获得优化权重值之后,所述方法还包 括:
[0036] 利用所述优化权重值对待分类数据集进行分类预测。
[0037] 通过本发明的一个或者多个技术方案,本发明具有以下有益效果或者优点:
[0038] 在本发明中,描述了一种测试分类数据集的方法。在获得分类数据集之后,若需要 对其进行标准化处理,则使用绝对标准差的方式对所述分类数据集进行标准化;将PSO算 法与KNN分类算法进行结合,利用PSO算法学习加权KNN算法中的权重值,提出了基于PSO 算法的加权KNN分类算法,对测试集进行种群初始化;在确定所述训练集中每个粒子的预 测标记向量后,然后根据适应度函数值公式计算每个粒子的初始度适应值。通过适应度函 数值进行评价后得到最后的优化权重值,然后代入测试集进行预测。本发明在传统KNN分 类算法的基础上增加了数据的训练过程,然后再对测试数据集进行预测。本发明通过使用 粒子群优化算法对传统的数据分类进行改进,改进后的算法可以提高分类的准确度。
[0039] 进一步的,在计算初始度适应值时,是根据多标记学习中的二分类评估标准,采用 0/1向量标记集的方式,设计相应的适应度函数。
[0040] 进一步的,采用了两种不同的方式对测试数据集进行预测,以提高分类的准确度。
【附图说明】
[0041] 图1为本发明实施例中测试分类数据集的流程图;
[0042] 图2为本发明实施例中CAL500最优适应度权值分类结果;
[0043] 图3为本发明实施例中CAL500适应度排名前10权值分类结果;
[0044] 图4为本发明实施例中CAL500适应度排名前20权值分类结果;
[0045] 图5本发明实施例中CAL500适应度排名前30权值分类结果;
[0046] 图6为本发明实施例中emotions最优适应度权值分类结果;
[0047] 图7为本发明实施例中emotions适应度排名前10权值分类结果;
[0048] 图8为本发明实施例中emotions适应度排名前20权值分类结果;
[0049] 图9为本发明实施例中emotions适应度排名前30权值分类结果;
[0050] 图10为本发明实施例中scene最优适应度权值分类结果;
[0051] 图11为本发明实施例中scene适应度排名前10权值分类结果;
[0052] 图12为本发明实施例中scene适应度排名前20权值分类结果;
[0053] 图13为本发明实施例中scene适应度排名前10权值分类结果;
[0054] 图14为本发明实施例中scene最优适应度权值分类结果;
[0055] 图15为本发明实施例中scene适应度排名前10权值分类结果;
[0056] 图16为本发明实施例中scene适应度排名前20权值分类结果;
[0057] 图17为本发明实施例中scene适应度排名前30权值分类结果;
[0058] 图18为本发明实施例中CAL500分类结果对比;
[0059] 图19为本发明实施例中emotions分类结果对比;
[0060] 图2