首页> 中国专利> 基于Fisher得分的Q学习辅助数据分析方法及系统

基于Fisher得分的Q学习辅助数据分析方法及系统

摘要

本发明涉及一种基于Fisher得分的Q学习辅助数据分析方法及系统,包括:将待处理数据输入训练样本中,初始化Q值表;从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率;根据Q值表选择当前状态下的动作,更新Q值表及本轮子集状态;判断本轮子集是否已满,若未满,则返回上一步,若已满,则继续判断是否满足迭代次数,若未满,则返回第二步,若已满,进入下一步;根据Q值表获得当前排序,返回目标子集。本发明不但提升速度快、更加稳定,且具有更好的泛化性能,时间复杂度较低。

著录项

  • 公开/公告号CN112215290A

    专利类型发明专利

  • 公开/公告日2021-01-12

    原文格式PDF

  • 申请/专利权人 苏州大学;

    申请/专利号CN202011110501.7

  • 申请日2020-10-16

  • 分类号G06K9/62(20060101);

  • 代理机构32257 苏州市中南伟业知识产权代理事务所(普通合伙);

  • 代理人张荣

  • 地址 215000 江苏省苏州市吴中区石湖西路188号

  • 入库时间 2023-06-19 09:32:16

说明书

技术领域

本发明涉及数据分析的技术领域,尤其是指一种基于Fisher得分的Q学习辅助数据分析方法及系统。

背景技术

大数据时代来临,数据样本量和特征数都有不断增长的趋势,数据更新的速度和多样性等特点给现有的特征选择方法带来了新的挑战。将强化学习的方法应用到特征选择问题中来,使得特征选择可以应对数据结构的变化做出反应,并且随着数据增加而自动进行更新选择。Q学习是一种与模型无关的强化学习算法,以马尔科夫决策过程为理论基础。Q为状态行为对的Q价值,即在某一个时刻的状态s下,采取动作a能够获得收益的期望。算法的主要思想就是将s和a构建成一张Q值表来存储Q值,然后根据Q值来选取能够获得最大收益的策略。

Moran等人提出的好奇特征选择(CFS)就是一种应用Q学习形成的特征选择方法,其动作空间等于数据特征空间,状态空间为数据特征空间加上包含初始状态,奖励为当前迭代中部分数据测试精确度。CFS直接使用学习算法分类性能作为特征重要性程度的评价标准,虽然拥有较高的精确度,但泛化能力较差,时间复杂度较高。为了减少训练时间,同时可用于在线学习,每次片段只截取训练集中的部分数据模拟数据流。每个片段中的样本数据不多,受不同数据集分布情况影响,在获得奖励时的精确度不能很好代表数据集的真实情况,受异常值影响较大,反而效果不佳。

发明内容

为此,本发明所要解决的技术问题在于克服现有技术中泛化性能差,时间复杂度较高的问题,从而提供一种泛化性能好,时间复杂度较低的基于Fisher得分的Q学习辅助数据分析方法及系统。

为解决上述技术问题,本发明的一种基于Fisher得分的Q学习辅助数据分析方法,包括:将待处理数据输入训练样本中,初始化Q值表;从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率;根据Q值表选择当前状态下的动作,更新Q值表及本轮子集状态;判断本轮子集是否已满,若未满,则返回步骤S3,若已满,则继续判断是否满足迭代次数,若未满,则返回步骤S2,若已满,进入步骤S5;步骤S5:根据Q值表获得当前排序,返回目标子集。

在本发明的一个实施例中,初始化Q值表的方法为:设动作空间等于数据特征空间,状态空间为当前特征子集中特征个数空间,使每个状态代表先前已选择的特征个数,每个动作表示下一个要选择的特征索引。

在本发明的一个实施例中,所述状态空间s

在本发明的一个实施例中,计算所述片段中每个特征类内距离和类间距离的方法为:第k个特征的类内距离

在本发明的一个实施例中,初始化本轮训练特征子集,获得本轮学习率和更新概率的方法为:初始化本轮训练特征子集

在本发明的一个实施例中,更新Q值表及本轮子集状态后,在当前状态s

在本发明的一个实施例中,所述根据ε-贪婪从中选择一个特征a

在本发明的一个实施例中,更新本轮训练特征子集F

在本发明的一个实施例中,计算Fisher得分后,计算Fisher得分后,更新Q值表及当前状态s

本发明还提供了一种基于Fisher得分的Q学习辅助数据分析系统,包括:数据预处理模块,用于将待处理数据输入训练样本中,初始化Q值表;片段初始模块,用于从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率;片段训练模块,用于根据Q值表选择当前状态下的动作,更新Q值表及本轮子集状态;判断模块,用于判断本轮子集是否已满,若未满,则返回所述片段训练模块,若已满,则继续判断是否满足迭代次数,若未满,则返回所述片段初始模块,若已满,进入选择模块;选择模块:用于根据Q值表获得当前排序,返回目标子集。

本发明的上述技术方案相比现有技术具有以下优点:

本发明所述的基于Fisher得分的Q学习辅助数据分析方法及系统,所述步骤S1中,将待处理数据输入训练样本中,初始化Q值表,从而有利于对数据进行预处理;所述步骤S2中,从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率,模拟数据流从而有利于推广到动态特征选择中,特征选择时不需要在一开始获得所有样本,当样本增多时,不需要重新开始训练,可以在原来训练结果的基础上不断完善;所述步骤S3中,根据Q值表选择当前状态下的动作,更新Q值表及本轮子集状态,使用Q值表可以考虑到后续选择对当前选择的影响,将强化学习结合到特征选择中可以不断完善策略,可用于动态特征选择中;所述步骤S4中,判断本轮子集是否已满,若未满,则返回步骤S3,若已满,则继续判断是否满足迭代次数,若未满,则返回步骤S2;所述步骤S5中,根据Q值表获得当前排序,返回目标子集。整个过程,不但提升速度快、更加稳定,且具有更好的泛化性能,时间复杂度较低。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中

图1是本发明基于Fisher得分的Q学习辅助数据分析方法流程图;

图2是本发明使用不同算法进行特征选择后使用kNN分类器后的判断精确度的对比图;

图3是本发明使用不同算法进行特征选择后使用kNN分类器后的乳腺癌预后精确度的对比图。

具体实施方式

实施例一

如图1所示,本实施例提供一种基于Fisher得分的Q学习辅助数据分析方法,包括如下步骤:步骤S1:将待处理数据输入训练样本中,初始化Q值表;步骤S2:从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率;步骤S3:根据Q值表选择当前状态下的动作,新更Q值表及本轮子集状态;步骤S4:判断本轮子集是否已满,若未满,则返回步骤S3,若已满,则继续判断是否满足迭代次数,若未满,则返回步骤S2;步骤S5:根据Q值表获得当前排序,返回目标子集。

本实施例所述基于Fisher得分的Q学习辅助数据分析方法,所述步骤S1中,将待处理数据输入训练样本中,初始化Q值表,从而有利于对数据进行预处理;所述步骤S2中,从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率,模拟数据流从而有利于推广到动态特征选择中,特征选择时不需要在一开始获得所有样本,当样本增多时,不需要重新开始训练,可以在原来训练结果的基础上不断完善;所述步骤S3中,根据Q值表选择当前状态下的动作,更新Q值表及本轮子集状态,使用Q值表可以考虑到后续选择对当前选择的影响,将强化学习结合到特征选择中可以不断完善策略,可用于动态特征选择中;所述步骤S4中,判断本轮子集是否已满,若未满,则返回步骤S3,若已满,则继续判断是否满足迭代次数,若未满,则返回步骤S2,若已满,进入步骤S5,从而有利于判断训练是否完成;所述步骤S5中,根据Q值表获得当前排序,返回目标子集。整个过程,不但提升速度快、更加稳定,且具有更好的泛化性能,时间复杂度较低。

所述步骤S1中,将待处理数据输入训练样本中的具体方法为:输入带标签训练数据集

初始化Q值表的方法为:设动作空间等于数据特征空间,状态空间为当前特征子集中特征个数空间,使每个状态代表先前已选择的特征个数,每个动作表示下一个要选择的特征索引。

所述状态空间s

具体地,设动作空间等于数据特征空间,状态空间为当前特征子集中特征个数空间,即每个状态代表先前已选择的特征个数,例如状态空间s

参数:每个片段中数据样本个数N

所述步骤S2中,计算所述片段中每个特征类内距离和类间距离的方法为:第k个特征的类内距离

初始化本轮训练特征子集,获得本轮学习率和更新概率的方法为:初始化本轮训练特征子集

所述步骤S3中,更新Q值表及本轮子集状态后,在当前状态s

根据ε-贪婪从中选择一个特征a

更新本轮训练特征子集F

计算Fisher得分后,更新Q值表及当前状态s

下面详细论述每轮迭代的具体形式如下:

首先,初始化:从数据集中任意选择N

其次,为该片段中每个特征计算类内距离和类间距离,且第k个特征的类内距离

其中n

当s

再次,计算本次行为的即时奖励r,即本轮训练特征子集的Fisher得分:

最后,更新Q值表和特征子集当前状态,返回上一步进行下一个状态的选择,即返回至特征子集当前状态s

s

当s

当Itr次迭代结束后,根据Q值表按需要选择前m个特征,返回目标特征子集G。具体步骤如下:

首先,初始化:特征子集

当s

更新G=G∪{a

当s

根据上述返回的目标特征子集生成新的样本矩阵,对新的待测样本在目标特征子集下用分类器L进行分类,得出分类结果判断。具体地,将处理好的数据可以放入分类器KNN、DT、Bayes、SVM等进行分类。

下面以在威斯康星州诊断乳腺癌(wdbc)和威斯康星州预后乳腺癌(wpbc)数据集上进行实施,给出了详细的实施方式和过程,但本发明的适用范围不限于下述的实例。

wdbc数据集中总共包含了569个乳腺癌实例,其中良性357例,恶性212例。数据集中共有32个属性,包括ID、诊断结果和30个实值输入特征。分别为每个细胞核的半径(从中心到周界各点的平均距离)、纹理(灰度值的标准偏差)、周长、面积、平滑度(半径长度的局部变化)、密实度(周长^2/面积-1.0)、凹度(轮廓凹陷部分的严重程度)、凹点(轮廓凹面部分的数量)、对称性、分形维数(“海岸线近似值”-1)等10个实值特征的平均值、标准误差和“最差”或最大值实验中将诊断结果作为目标,30个实值作为输入特征。

wdpc数据集总共包含了194个预后乳腺癌实例,其中复发46例,非复发148例。数据集中共有34个属性,包括ID、复发结果和32个实值输入特征。除与wdbc数据集相同的30个实值外,wdpc数据集中包括了复发时间。将除复发结果外的33个实值作为输入特征。

按4:1随机将两个数据集分为训练集和测试集,共进行30次实验。具体实施步骤如下:

对数据进行预处理,将待处理数据输入训练样本中,具体地,输入乳腺癌诊断带标签训练数据集

初始化Q值表,具体地,设动作空间等于数据特征空间,状态空间为当前特征子集中特征个数空间,即每个状态代表先前已选择的特征个数,例如状态空间s

参数:每个片段中数据样本个数N

从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集以及特征子集当前状态,获得本轮学习率和更新概率。

每轮迭代具体形式如下:

初始化:从数据集中任意选择N

为该片段中每个特征计算类内距离和类间距离。第k个特征的类内距离

其中n

计算本次行为的即时奖励r,即特征子集的Fisher得分:

更新Q值表和特征子集当前迭代状态,返回上一步进行下一个状态的选择,即返回至当前状态s

s

当s

当Itr次迭代结束后,根据Q值表按需要选择前m个特征,返回目标特征子集G。具体步骤如下:

初始化:特征子集

更新G=G∪{a

根据上述返回的目标特征子集生成新的样本矩阵,对新的待测样本在目标特征子集下用分类器L进行分类,得出分类结果判断。

本发明的效果可以通过如下实验验证:

使用本发明的基于Fisher得分的Q学习辅助数据分析方法,以部分威斯康星州乳腺癌实例作为训练数据,对剩余实例作为测试数据集进行测试,可以发现本发明对乳腺癌的相关数据有效地完成了特征选择的任务。其中Base_line为不使用任何特征选择方法将所有特征放入分类器后的结果,FS是使用Fisher得分进行特征选择后的分类结果。为了公平起见,所有算法不设置阈值,获得子集排序后,精确度只计算最优策略。

在wdbc数据集中,传统FS方法选择的最佳特征子集中的特征个数为20。由图2可得,FS虽然排除了几个无关特征,但在最终分类时对精确度并无提升,与基准线持平皆为93.27%。加入强化学习后的两个算法都在一定程度上提高了最后的分类精度,并且随着迭代次数的增加,精确度逐渐提高并稳定,其中CFS最后稳定在94.2%左右,本方法则达到了95.2%左右。

如图3可得,在wpbc数据集中,基准线为72.9%,FS算法选择了2个特征精确度为73.16%。加入强化学习后,CFS精确度得到了提升,随着迭代次数的增加,精确度仍有波动。本方法在迭代过程中能够快速获得分类效果较好的特征子集,且比CFS具有更好的稳定性,最后结果达到了81.3%左右。

在这两个乳腺癌数据集上,本方法的选择结果从迭代初期就很快拥有良好的表现,与CFS方法相比,提升速度快且更加稳定。由此可知,在乳腺癌数据集上,通过部分样本计算得出的Fisher得分,比通过预测个别样本的精确度结果进行判别更能代表全局分布。

实施例二

基于同一发明构思,本实施例提供了一种基于Fisher得分的Q学习辅助数据分析系统,其解决问题的原理与所述基于Fisher得分的Q学习辅助数据分析方法类似,重复之处不再赘述。

本实施例提供一种基于Fisher得分的Q学习辅助数据分析系统,包括:

数据预处理模块,用于将待处理数据输入训练样本中,初始化Q值表;

片段初始模块,用于从所述训练样本中任意选择多个数据组成本轮迭代的片段,计算所述片段中每个特征类内距离和类间距离,初始化本轮训练特征子集,获得本轮学习率和更新概率;

片段训练模块,用于根据Q值表选择当前状态下的动作,更新Q值表及本轮子集状态;

判断模块,用于判断本轮子集是否已满,若未满,则返回所述片段训练模块,若已满,则继续判断是否满足迭代次数,若未满,则返回所述片段初始模块,若已满,进入选择模块;

选择模块,用于根据Q值表获得当前排序,返回目标子集。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号