CN113780334B - 基于两阶段混合特征选择的高维数据分类方法 - Google Patents

基于两阶段混合特征选择的高维数据分类方法 Download PDF

Info

Publication number
CN113780334B
CN113780334B CN202110778300.2A CN202110778300A CN113780334B CN 113780334 B CN113780334 B CN 113780334B CN 202110778300 A CN202110778300 A CN 202110778300A CN 113780334 B CN113780334 B CN 113780334B
Authority
CN
China
Prior art keywords
particle
value
feature
data set
optimal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110778300.2A
Other languages
English (en)
Other versions
CN113780334A (zh
Inventor
李欣倩
沈琪浩
任佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Sci Tech University ZSTU
Original Assignee
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN202110778300.2A priority Critical patent/CN113780334B/zh
Publication of CN113780334A publication Critical patent/CN113780334A/zh
Application granted granted Critical
Publication of CN113780334B publication Critical patent/CN113780334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于两阶段混合特征选择的高维数据分类方法,包括步骤如下:获得处理后的数据集;基于最大信息系数MIC的方法对所述处理后的数据集进行预处理,获得MIC矩阵;得到所选特征子集;用改进PSO算法对所述所选特征子集进行精细搜索,得到最优特征子集;根据最优特征子集更新步骤S1获得的所述处理后的数据集中的特征,并依据更新后的数据集建立十折交叉验证的训练集和测试集,依次输入K=1的KNN分类器,得到对应的十个最优特征子集的分类准确率,然后将十个最优特征子集的分类准确率的平均值作为所述最优特征子集的准确率。

Description

基于两阶段混合特征选择的高维数据分类方法
技术领域
本发明涉及强化学习、特征选择、模式识别、机器学习等技术领域,具体涉及基于两阶 段混合特征选择的高维数据分类方法。
背景技术
随着科学技术的快速发展,机器学习任务中所收集到的数据变得越来越多。这些数据中 存在着大量不相关和冗余特征,会导致模型预测精度降低和计算复杂度增加。因此,如何筛 选出与所解决任务最相关的特征成为机器学习和模式识别中亟需解决的问题。作为一种有效降低特征维度的工具,特征选择能够根据给定的评价标准消除原始数据中无用的特征,节省 计算成本和提高预测精度。此外,特征选择能够有效保留原始特征的物理意义,为数据模型 提供可解释性。
特征选择方法可分为过滤式、包裹式和嵌入式。过滤式根据特征的统计信息的重要性排 序来选择特征,简单快捷、运行成本低,可以快速应用于高维数据。然而缺乏后续的学习算 法,其分类性能往往比包裹式和嵌入式差。包裹式通常根据分类性能来评估特征子集,能够选择分类性能更好的特征子集,然而它计算复杂,在高维数据集上容易出现过拟合。嵌入式 将特征选择过程与学习训练过程融为一体,但是在该过程中难以构建一个合适的优化函数。
为了进一步提高所选特征子集的质量,结合了过滤式和包裹式优点的混合特征选择方法 逐渐成为一个研究热点。在这种混合方法中,通常先采用过滤式方法进行预处理,剔除掉一 部分小于删除阈值的冗余特征。然后应用包裹式方法针对剩余特征进行精细搜索,寻找最优的特征组合。在这些混合算法中,常用的过滤式算法有:信息熵、ReliefF、MIC(Maximum Information Coefficient),这些方法能够有效剔除冗余特征,但使用过滤式方法进行预处理时, 如何合理设置删除阈值仍然值得思考。常用的包裹式方法有序列前向特征选择、鲸鱼优化算 法、PSO(Particle Swarm Optimization)。其中,PSO算法因其概念简单、运行效率高、参数 少而被广泛使用。虽然它可以获得令人满意的结果,但仍存在一些问题,如收敛过早、容易陷入局部最优、处理高维数据时容易过拟合。
综上所述,为解决过滤式方法存在的通病与PSO算法中的不足,设计一种高效、便捷的 两阶段混合特征选择方法具有重要的学术意义和实用价值。
发明内容
本发明要解决的技术问题是提供基于两阶段混合特征选择的高维数据分类方法,用于提 取海量的数据中最有价值的信息,实现最优特征子集的选择。
为了解决上述技术问题,本发明提供基于两阶段混合特征选择的高维数据分类方法,包 括步骤如下:
步骤S1、获取数据集,然后在上位机中整理数据,包括整理特征信息、标记分类标签、 去除序号、删除缺失的样本,获得处理后的数据集;
步骤S2、基于最大信息系数MIC的方法对所述处理后的数据集进行预处理,获得MIC 矩阵;
步骤S3、采用Q-Learning学习到一个删除阈值,然后在所述处理后的数据集中,删除 MIC值小于Q-Learning学习到删除阈值的特征,得到所选特征子集;
步骤S4、采用改进PSO算法对所述所选特征子集进行精细搜索,得到最优特征子集;
步骤S5、根据所述最优特征子集更新步骤S1获得的所述处理后的数据集中的特征,并 依据更新后的数据集建立十折交叉验证的训练集和测试集,依次输入K=1的KNN分类器, 得到对应的十个最优特征子集的分类准确率,然后将十个最优特征子集的分类准确率的平均 值作为所述最优特征子集的准确率。
作为本发明的基于两阶段混合特征选择的高维数据分类方法的改进:
所述步骤S3的具体过程为:
步骤S301、从删除阈值为0的状态开始,按ε-greedy策略选择动作:以ε∈[0,1]的概率 从+0.5、-0.02、+0中随机选择一个动作,或以1-ε的概率选择能够使Q-表中Q-值最大的动 作;然后将删除阈值与所选动作值相加并更新为当前的删除阈值,重复执行20次后得到的删 除阈值作为最终的删除阈值;在此过程中,每一步的奖励值均为0;
在步骤S1获得的处理后的数据集中,剔除MIC值小于最终的删除阈值的特征,保留MIC 值大于等于最终的删除阈值的特征作为所选特征子集;
步骤S302、将步骤S301获得的所选特征子集作为输入,通过双层嵌套十折交叉验证的 输出作为准确率acc,执行式2)计算得到所选特征子集对应的奖励值reward:
其中,acc表示所选特征子集采用K=1的KNN分类器得到的准确率,C表示原始特征数,D1表示所选特征子集的特征数,s20表示步骤S301获得的最终的删除阈值;
步骤S303、将步骤S301中按ε-greedy策略选择的动作、所有获得的删除阈值和步骤 S302中获得的奖励值reward送入Q-表,更新每一步的Q-值:
其中,Q(sk,ak)表示第k步时删除阈值sk和所选动作ak的Q-值,α表示学习率为0.01, γ表示折扣因子为0.99,表示Q(sk,ak)的目标Q-值;
步骤S304、重复执行步骤S301-S303,在初次迭代时,ε-greedy策略中的ε设置为1,每次迭代后,ε以0.95*ε的速度衰减,直到ε≤0.1时,停止衰减;
从第76次重复执行的过程开始统计所述奖励值reward的变化:如果奖励值reward连续 十次没有改变,则中止重复执行过程,将最后一次得到的最终删除阈值作为删除阈值,输出 删除阈值和所选特征子集,否则重复执行步骤S301-S303直至200次,将第200次得到的最 终删除阈值作为删除阈值,再输出删除阈值和所选特征子集。
作为本发明的基于两阶段混合特征选择的高维数据分类方法的进一步改进:
所述步骤S4的具体过程为:
步骤S401、根据MIC值进行粒子初始化
1)、对步骤S304获得的所选特征子集的特征数按式(4)计算粒子数Np:
其中,Np表示粒子的数量,D1表示所选特征子集包含的特征数;
2)、按步骤S304所获的所选特征子集,从在步骤S2得到的MIC矩阵中查找并获得对应的特征与标签之间的MIC值,并按式(5)正则化:
其中,Pd表示特征d的C概率,MIC(d,L)表示特征d与标签L之间的MIC值,表示在D1个特征中得到的最大MIC值;
步骤S402、更新初始时刻的个体最优位置和全局最优粒子位置
在初始时刻,将粒子的速度随机初始化到[-1,1]之间,并根据式(6)更新粒子的初始位 置:
其中,表示初始时刻粒子i第d个特征的位置,rand()是一个0到1之间的随机值;
然后,将每个粒子的初始位置作为初始时刻的每个粒子的个体最优位置,按式(7)计算 并选择所有粒子中fitness值最小的粒子位置作为初始时刻的全局最优粒子位置;
其中,表示常量为0.99,R1是粒子位置为1的特征数量,D1为所选特征子集中的特征 数量,γR1(D1)为分类误差率,获得过程为:在步骤S1中处理后的数据集里,选取粒子的初 始位置/>的对应特征组成新的数据集,然后在新的数据集上执行一个双层嵌套十折交叉验 证后获得;
步骤S403、进入循环搜索并输出最优特征子集
S40301、更新当前粒子的速度和位置
初始时刻结束后,按式(8)更新当前粒子的速度,并采用如式(9)的sigmoid函数将速度正则化至0到1之间,再按式(10)更新当前粒子的位置;
其中,表示第t+1时刻粒子i第d个特征的速度,/>若/>若/>则/>ω为惯性因子,取值为0.9;c1、c2是加速度常数,取值均为2;r1和r2是两个0到1之间的随机数;/>表示t时刻粒子i的第d个特征的个体最优位置;/>表示t时刻的全局最优粒子位置;/>表示t时刻粒子i的第d个特征的位置;
其中,表示采用sigmoid函数将/>正则化,e是自然常数;
其中,rand()是一个0到1之间的随机值;
步骤S40302、执行局部搜索
根据式(11)求得一个新的粒子位置;
其中,是第t+1时刻粒子i在第d个特征的新位置,/>是第t+1时刻粒子i在第d个 特征的位置,N(μ,σ)是均值为μ、方差为σ的高斯分布,均值μ和方差σ计算公式如下:
其中,是第t时刻粒子i的第d个特征的个体最优位置,/>是第t时刻粒子i的第d个 特征的全局最优粒子位置;
在步骤S1中处理后的数据集中,选取当前粒子的位置的对应的特征,得到一个新 的数据集,然后在这个新的数据集上执行双层嵌套十折交叉验证的输出作为当前粒子位置的 分类误差率γR1(D1),然后按式(7)计算当前粒子位置的fitness值;
在步骤S1中处理后的数据集里,选取新的粒子位置的对应的特征,得到第二份新 的数据集,然后在第二份新的数据集上执行双层嵌套十折交叉验证的输出作为新的粒子位置 的分类误差率γR1(D1),然后按式(7)计算新的粒子位置的fitness值;
当前粒子位置的fitness值和新的粒子位置的fitness值之间选取fitness值较小的粒子位置 替换为当前粒子的位置,从而确定一个更优的当前粒子位置;
步骤S40303、更新个体最优位置和全局最优粒子位置;
选择每个粒子历史上fitness值最低的位置作为每个粒子的个体最优位置,并从所有粒子 的个体最优位置中选择出fitness值最低的粒子位置作为全局最优粒子位置,这个粒子是全局 最优粒子;
从步骤S40302得到的所有当前粒子的fitness值中,选择fitness值最高的一半粒子按式 (15)进行随机突变:
其中,是第t+1时刻进行随机突变的粒子j第d个特征的位置,rand()是一个0到1 之间的随机值;
步骤S40304、重复执行70次步骤S40301-S40303,如果在70次执行过程中,全局最优 粒子的fitness值连续十次相同,则立即中止该执行过程并输出最优特征子集,否则执行70 次后输出最优特征子集。
作为本发明的基于两阶段混合特征选择的高维数据分类方法的进一步改进:
所述步骤S2具体为:
步骤S201、将步骤S1处理后的数据集放入二维坐标系中,并对该坐标系进行多次网格 划分;
步骤S202、在每次网格划分时,按式(1)计算每一个网格中特征与标签之间的互信息 值并获得MIC矩阵:
其中,MIC(F,L)为所有特征F与标签L得到的MIC矩阵,I*(F,L)表示每次划分时特征与标签之间的最大互信息值,B表示每次网格划分的大小,设置为c0.6,f,l表示网格的第f行、第l列。
作为本发明的基于两阶段混合特征选择的高维数据分类方法的进一步改进:
所述双层嵌套十折交叉验证的具体过程为:
将输入的数据集分为十份,轮流将其中九份做训练一份做测试,从而得到十份不同的外 部十折交叉验证的训练集和测试集;将每一份外部十折交叉验证的训练集重新分为十份,轮 流将其中九份做训练一份做测试,得到十份不同的内部十折交叉验证的训练集和测试集,依次将十份内部十折交叉验证的训练集和测试集输入K=1的KNN分类器,得到十个分类准确 率;将十份外部十折交叉验证的训练集依次作为内部十折交叉验证的输入共获得100个分类 准确率,然后输出100个分类准确率的平均值。
本发明的有益效果主要体现在:
1.本发明提出了Q-Learning进行特征粗筛,结合改进的PSO算法进行精细搜索的两阶段 混合特征选择方法及框架,能够快速提取与任务最相关的特征,帮助提升算法的分类性能;
2.本发明采用Q-Learning进行特征粗筛的方法能够自动调节删除阈值,解决传统预处理 方法中难以选择合适的删除阈值、手动调节困难的问题;
3.本发明采用的改进的PSO算法解决了PSO容易陷入局部最优解、收敛过早、在高维数 据集上容易过拟合的问题;
4.本发明在15个高维的微阵列基准数据集上的实验结果表明,能够高效剔除数据集中无 关和冗余特征,提升预测模型的运行速度,从而训练出更优秀的预测模型,准确地预测数据 所属标签,节省模型的运行成本。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细说明。
图1是本发明的基于两阶段混合特征选择的高维数据分类方法的流程示意图。
图2是图1中的基于Q-Learning的特征粗筛的流程示意图。
图3是图1中的基于改进PSO算法的最优特征子集搜索的流程示意图。
图4是图1中的外部十折交叉验证数据集的示意图;
图5是图1中的内部十折交叉验证数据集的示意图。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
实施例1、基于两阶段混合特征选择的高维数据分类方法,如图1-5所示,首先采用MIC 方法获得特征与标签之间的相关度,然后根据Q-Learning算法学习出一个合适的删除阈值, 得到所选特征子集;再采用改进粒子群优化算法(PSO,Particle SwarmOptimization)搜索到 最优特征子集,进而预测数据集中样本的所属标签。
步骤1、获取数据集,并进行处理;
从互联网上下载微阵列数据集,然后在上位机中整理数据的特征信息,标记所有样本的 分类标签,最后去除每个样本的序号、删除数据集中缺失的样本,获得处理后的数据集;
在本实施例中,从互联网上获取的是15个医学相关的微阵列数据集;然后根据数据集中 样本所含特征进行分类,并标记样本的类别;再对数据集进行处理,即去除每个样本的序号、 删除数据集中包含缺失的样本,获得处理后的数据集(包括特征F和标签L)。
步骤2、基于MIC(Maximal Information Coefficient)的预处理
采用最大信息系数MIC(Maximal Information Coefficient)计算特征与标签之间的相关度;
步骤2.1、将步骤1处理后的数据集放入二维坐标系中,并对该坐标系进行多次网格划分;
步骤2.2、在每次网格划分时,按式(1)计算每一个网格中特征与标签之间的互信息值, 将所有划分过程中得到的最大互信息值正则化,建立特征与标签之间的MIC矩阵:
其中,MIC(F,L)为所有特征F与标签L得到的MIC矩阵,I*(F,L)表示每次划分时,特征与标签之间的最大互信息值,B表示每次网格划分的大小,通常为样本数c的函数,设置为c0.6,f,l表示网格的第f行、第l列;
按上述步骤2,预处理后的数据集将获得一个对应的MIC矩阵,这个MIC矩阵包括了所 有特征与其对应的标签之间的MIC值。
步骤3、基于Q-Learning的特征粗筛
采用Q-Learning学习到一个删除阈值,并删除MIC值小于该阈值的特征,得到所选特征 子集。Q-Learning可以根据不同的数据集自动调节删除阈值,避免实验过程中删除阈值难以 选择、手动调节困难的问题,此外,采用Q-Learning进行特征粗筛,也能有效降低改进PSO 算法搜索最优特征子集的复杂度,基于Q-Learning的特征粗筛的过程如图2所示,具体如下:
步骤3.1、将删除阈值初始设置为0;智能体从删除阈值为0的状态开始,按ε-greedy策 略选择动作,即以ε∈[0,1]的概率从+0.5、-0.02、+0中随机选择一个动作,或以1-ε的概率 选择能够使Q-表中Q-值最大的动作;然后将删除阈值与所选动作值相加并更新为当前的删除阈值,如此重复执行20次,将最后得到的删除阈值作为最终的删除阈值;在此过程中,每一 步的奖励值均为0。
基于步骤2获得的MIC矩阵中,包括了所有特征的MIC值;在步骤1获得的处理后的数据集中,剔除MIC值小于最终的删除阈值的特征,保留MIC值大于等于最终的删除阈值 的特征作为所选特征子集;
步骤3.2、通过双层嵌套十折交叉验证计算所选特征子集的奖励值;
首先通过双层嵌套十折交叉验证获得准确率acc:将步骤3.1得到的所选特征子集分为十 份,如图4所示,轮流将其中九份做训练一份做测试,从而得到十份不同的外部十折交叉验 证的训练集和测试集;将每一份外部十折交叉验证的训练集重新分为十份,如图5所示,轮 流将其中九份做训练一份做测试,得到十份不同的内部十折交叉验证的训练集和测试集;依 次将十份内部十折交叉验证的训练集和测试集输入K=1的KNN分类器,得到所选特征子集 对应的十个分类准确率;将十份外部十折交叉验证的训练集依次作为内部十折交叉验证的输 入,十份外部十折交叉验证的训练集共获得100个分类准确率;
然后将100个分类准确率的平均值输出为准确率acc,执行式2)计算得到所选特征子集 对应的奖励值reward:
其中,acc表示所选特征子集采用K=1的KNN分类器得到的准确率,C表示原始特征数,D1表示所选特征子集的特征数,s20表示步骤3.1中得到的最终的删除阈值;
步骤3.3、将步骤3.1中按ε-greedy策略选择的动作、所有获得的删除阈值和步骤3.2 中获得的奖励值reward送入Q-表,更新每一步的Q-值,即删除阈值与当前动作的累计奖励 值期望,所述Q-值计算公式如下:
其中,Q(sk,ak)表示第k步时删除阈值sk和所选动作ak的Q-值,α表示学习率,取值为 0.01,γ是折扣因子,取值为0.99,表示Q(sk,ak)的目标Q-值。
步骤3.4、输出删除阈值和所选特征子集
重复执行步骤3.1-3.3,在初次迭代时,ε-greedy策略中的ε设置为1,每次迭代后,ε 以0.95*ε的速度衰减,直到ε≤0.1时,停止衰减;
从第76次执行步骤3.1-3.3的过程开始统计按式(2)计算的奖励值reward的变化:如 果奖励值reward连续十次没有改变,则中止执行该过程,将最后一次得到的最终删除阈值作 为删除阈值,输出删除阈值和所选特征子集,否则执行步骤3.1-3.3直至200次,将第200次 得到的最终删除阈值作为删除阈值,再输出删除阈值和所选特征子集。
步骤4、基于改进PSO算法的最优特征子集搜索
采用改进PSO算法对步骤3.4获得的所选特征子集进行精细搜索,得到最优特征子集, 如图3所示,改进PSO算法容易理解、所需参数少,能够快速搜索特征数量更少、准确率更 高的特征子集;具体过程如下:
步骤4.1、根据MIC值进行粒子初始化
1)、对步骤3.4获得的所选特征子集的特征数按式(4)自动计算粒子数Np,这种方法 能够针对不同的特征数量选择合适的粒子数量,能够避免所选粒子过多造成的计算资源浪费。
其中,Np表示粒子的数量,D1表示所选特征子集包含的特征数。
2)、按步骤3.4所获的所选特征子集,从步骤2得到的MIC矩阵中查找并获得对应的特 征与标签之间的MIC值,并按式(5)的C概率公式正则化所选特征子集中所有特征的MIC值:
其中,Pd表示特征d的C概率,MIC(d,L)表示特征d与标签L之间的MIC值,表示在D1个特征中得到的最大MIC值。
步骤4.2、更新初始时刻的个体最优位置和全局最优粒子位置
在初始时刻,将粒子的速度随机初始化到[-1,1]之间,并根据式(6)更新粒子的初始位 置(粒子的位置维度与所选特征子集包含的特征数相同):
其中,表示初始时刻粒子i第d个特征的位置,rand()是一个0到1之间的随机值; 取一个0到1之间的随机值,将所选特征子集中C概率Pd大于随机值的特征,在粒子对应的 位置上表示为1,即初始时刻粒子在这些位置上的特征被选择,否则表示为0,即初始时刻粒子在这些位置上的特征被删除;
然后,将每个粒子的初始位置作为初始时刻的每个粒子的个体最优位置,按式(7)计算 并选择所有粒子中fitness值最小的粒子位置作为初始时刻的全局最优粒子位置;
其中,是一个常量,取值为0.99,R1是粒子位置为1的特征数量,D1为所选特征子集 中的特征数量,γR1(D1)是采用K为1的KNN分类器通过双层嵌套十折交叉验证得到的分类 误差率,具体过程如下:
在步骤1.1中处理后的数据集里,选取粒子的初始位置中值为1(即)的对应特征 组成新的数据集,然后在得到的新数据集上执行一个双层嵌套十折交叉验证:首先将数据集 分为十份作为外部十折交叉验证的输入,轮流将其中九份做训练一份做测试,从而得到十份 不同的外部十折交叉验证的训练集和测试集;每一份外部十折交叉验证的训练集重新分为十 份内部十折交叉验证的数据集,每次轮流将其中的九份用作内部十折交叉验证的训练集,一 份用作内部十折交叉验证的测试集,依次将十份内部十折交叉验证的训练集和测试集输入 K=1的KNN分类器,得到十个分类误差率;将十份外部十折交叉验证的训练集依次作为内部十折交叉验证的输入,十份外部十折交叉验证的训练集共获得100个分类误差率,然后将 100个分类误差率的平均值输出为分类误差率γR1(D1)。
步骤4.3、进入循环搜索并输出最优特征子集
4.3.1、更新当前粒子的速度和位置
为了解决粒子群算法在高维数据集上过早收敛的问题,初始时刻结束后,按式(8)更新 当前粒子的速度,并采用如式(9)的sigmoid函数将速度正则化至0到1之间,再按式(10) 更新当前粒子的位置;
其中,表示第t+1时刻粒子i第d个特征的速度,/>若/>若/>则/>ω为惯性因子,取值为0.9,c1、c2是加速度常数,取值均为2,r1和r2是两个0到1之间的随机数。/>表示t时刻粒子i的第d个特征的个体最优位置,/>表 示t时刻的全局最优粒子位置,/>表示t时刻粒子i的第d个特征的位置;
其中,表示采用sigmoid函数将/>正则化,e是一个自然常数,/>表示e的次方;
其中,是第t+1时刻当前粒子i的第d个特征的位置,rand()是一个0到1之间的随 机值;
步骤4.3.2、执行局部搜索
将当前粒子的位置与高斯分布得到的随机值相乘,并判断粒子位置上的值是否大于0.9, 如果大于0.9,则该位置上的值为1,否则表示为0,由此根据式(11)求得一个新的粒子位 置;然后,按式(7)计算当前粒子位置和新的粒子位置各自的fitness值,取其中fitness值较 小的粒子位置替换为当前粒子的位置,这样可以更好地剔除掉一些无关、冗余的特征,进一 步提高分类准确率。
其中,是第t+1时刻粒子i在第d个特征的新位置,/>是第t+1时刻粒子i在第d个 特征的位置,N(μ,σ)是均值为μ、方差为σ的高斯分布,均值μ和方差σ计算公式如下:
其中,是第t时刻粒子i的第d个特征的个体最优位置,/>是第t时刻粒子i的第d个 特征的全局最优粒子位置。
在步骤1.1中处理后的数据集中,选取当前粒子的位置中值为1(即)的对应的特 征,得到一个新的数据集,然后在这个新的数据集上执行双层嵌套十折交叉验证:将新的数 据集分为十份作为外部十折交叉验证的输入,轮流将其中九份做训练一份做测试,从而得到 十份不同的外部十折交叉验证的训练集和测试集;每一份外部十折交叉验证的训练集重新分为十份内部十折交叉验证的数据集,每次轮流将其中的九份用作内部十折交叉验证的训练集, 一份用作内部十折交叉验证的测试集,依次将十份内部十折交叉验证的训练集和测试集输入 K=1的KNN分类器,得到十个分类误差率;将十份外部十折交叉验证的训练集依次作为内 部十折交叉验证的输入,十份外部十折交叉验证的训练集共获得100个分类误差率,将100 个分类误差率的平均值作为当前粒子位置的分类误差率;
在步骤1.1中处理后的数据集里,选取新的粒子位置中值为的对应的特征, 得到第二份新的数据集,然后在第二份新的数据集上执行双层嵌套十折交叉验证:将第二份 新的数据集作为外部十折交叉验证的输入,轮流将其中九份做训练一份做测试,从而得到十 份不同的外部十折交叉验证的训练集和测试集;每一份外部十折交叉验证的训练集重新分为十份内部十折交叉验证的数据集,每次轮流将其中的九份用作内部十折交叉验证的训练集, 一份用作内部十折交叉验证的测试集,依次将十份内部十折交叉验证的训练集和测试集输入 K=1的KNN分类器,得到十个分类误差率;将十份外部十折交叉验证的训练集依次作为内部十折交叉验证的输入,十份外部十折交叉验证的训练集共获得100个分类误差率,将100 个分类误差率的平均值输出为新的粒子位置的分类误差率;
然后按式(7)分别计算当前粒子位置和新的粒子位置各自的fitness值,将fitness值较小 的粒子位置替换为当前粒子的位置,从而确定一个更优的当前粒子位置。
步骤4.3.3、更新个体最优位置和全局最优粒子位置
选择每个粒子历史上fitness值最低的位置作为每个粒子的个体最优位置,并从所有粒子 的个体最优位置中选择出fitness值最低的粒子位置,该粒子位置即为全局最优粒子位置,这 个粒子则是全局最优粒子。
从步骤4.3.2得到的所有当前粒子的fitness值中,选择fitness值最高的一半粒子按式(15) 进行随机突变,在这里采用随机突变可以增加粒子的探索性,得到更多不同的特征组合,挑 出局部最优解:
其中,是第t+1时刻进行随机突变的粒子j第d个特征的位置,rand()是一个0到1 之间的随机值。/>
步骤4.3.4、重复执行70次步骤4.3.1-4.3.3,如果在70次执行过程中,全局最优粒子的 fitness值连续十次相同,则立即中止该执行过程并输出最优特征子集,否则执行70次后输出 最优特征子集。
步骤5、采用KNN(K-Nearest Neighbor)分类方法构建预测模型,得到数据集的分类准 确率,验证本发明的分类性能。
根据步骤4获得的最优特征子集,更新步骤1获得的处理后的数据集中的特征,并在更 新后的数据集上执行十折交叉验证,即依据更新后的数据集划分为十折交叉验证的训练集和 测试集,然后依次输入K=1的KNN分类器,得到对应的十个最优特征子集的分类准确率, 然后将这十个最优特征子集的分类准确率的平均值输出作为步骤4获得的最优特征子集的准 确率。
实验1:
以GitHub网站上的得到的15个医学微阵列数据集为例,对上述实施例1中提出的基于 一种两阶段的混合特征选择方法进行***地测试和验证。
本实施例中的数据集来源于GitHub网站上(https://github.com/rdiaz02/varSelRF-suppl-mat、 https://github.com/primekangkang/Genedata)的15个医学微阵列数据集,数据集的具体信息如 表1所示。这些数据集的特点如下:
1)数据集的特征均为高维特征,其中,数据集的特征数取值从2000到12600。
2)数据集的类别包含二分类和多分类,其中,11Tumor数据集上的分类标签数最多:11。
3)数据集的特征数远大于样本数,这种类型的数据会为分类任务造成一定的难度。
表1、15个医学微阵列数据集的具体信息
/>
本发明的实验平台为python,实验的上位机为Intel Core(TM)i7-9700 CPU,NVIDIA 1080Ti GPU,16.0G RAM。在实验的上位机中下载GitHub上的15个医学微阵列数据集,并 整理数据的特征信息,标记所有样本的分类标签,去除每个样本的序号、删除数据集中缺失的样本,获得预处理好的数据集;
为了验证Q-Learning的特征粗筛能力,我们将Q-Learning算法得到的删除阈值和所选特 征子集结果呈现在表2。为了更方便的对比实验结果,15个数据集的原始特征数也在表2中 呈现。
表2、Q-Learning算法得到的实验结果
从表2可以看出,经过Q-Learning算法的粗筛后,数据集中的特征数有明显降低。尤其 是:在Adenocarcinoma数据集上,特征数从9869降低到218;在Prostate数据集上,特征数 从10,509降低到639;在11Tumor数据集,特征数从12533减少到197。这些实验结果表明, 本发明中的Q-Learning算法能够删除大量无用的特征,为后续改进PSO算法搜索最优特征子 集提供了良好的条件。
为避免产生特征偏差,本实验采用双层嵌套十折交叉验证:首先采用一个外部十折交叉 验证,将处理好的数据分成十份,轮流将其中的九份用于训练,剩下的一份仅在得到最优特 征子集后,用于验证本发明得到的最优特征子集的分类性能。其次,在根据本发明搜索最优特征子集的过程中,采用一个内部十折交叉验证,将外部十折交叉验证中用于训练的九份数 据分为十份,轮流用其中的九份训练一份测试。最后,将所选的最优特征输入K值为1的 KNN分类器,根据外部十折交叉验证,轮流将分出的九份数据用于训练,一份测试。执行十 次,得出最优特征子集的平均准确率;
本实验采用外部十折交叉验证得的准确率均值衡量最优特征子集的优劣。为避免统计偏 差,重复运行三十次上述算法,将得到的特征数和准确率均值作为实验结果。本发明在15个数据集上所用特征数和准确率如表3所示:
表3、运行30次算法得到的特征数和分类准确率
从表3可以看出,本发明可以高效地选择特征数较少的最优特征子集,提升算法的分类 准确率。根据数据集的平均值结果可以看出,本发明仅采用36.9个特征,就可以将总体的分 类准确率从76.33%提升至90.76%。本发明在Lymphoma数据集上所用的特征数仅为原始特征数的百分之一,能够大幅度地删除与分类性能无关的特征,而准确率的下降程度仍在可接 受范围内,因此,本发明在该数据集上仍能起到良好的降维效果。除此之外,本发明在其他 14个数据集上,所选特征的准确率明显优于原始数据集上的准确率。因此,上述实验结果可 以证明本发明能够很好地降低特征维度、提升算法的分类性能,具有较高的实用价值。
最后,还需要注意的是,以上列举的仅是本发明的若干个具体实施例。显然,本发明不 限于以上实施例,还可以有许多变形。本领域的普通技术人员能从本发明公开的内容直接导 出或联想到的所有变形,均应认为是本发明的保护范围。

Claims (4)

1.基于两阶段混合特征选择的高维数据分类方法,其特征在于,包括步骤如下:
步骤S1、获取数据集,然后在上位机中整理数据,包括整理特征信息、标记分类标签、去除序号、删除缺失的样本,获得处理后的数据集;所述数据集为医学相关的微阵列数据集;
步骤S2、基于最大信息系数MIC的方法对所述处理后的数据集进行预处理,获得MIC矩阵;
步骤S3、采用Q-Learning学习到一个删除阈值,然后在所述处理后的数据集中,删除MIC值小于Q-Learning学习到删除阈值的特征,得到所选特征子集;
步骤S3的具体过程为如下:
步骤S301、从删除阈值为0的状态开始,按ε-greedy策略选择动作:以ε∈[0,1]的概率从+0.5、-0.02、+0中随机选择一个动作,或以1-ε的概率选择能够使Q-表中Q-值最大的动作;然后将删除阈值与所选动作值相加并更新为当前的删除阈值,重复执行20次后得到的删除阈值作为最终的删除阈值;在此过程中,每一步的奖励值均为0;
在步骤S1获得的处理后的数据集中,剔除MIC值小于最终的删除阈值的特征,保留MIC值大于等于最终的删除阈值的特征作为所选特征子集;
步骤S302、将步骤S301获得的所选特征子集作为输入,通过双层嵌套十折交叉验证的输出作为准确率acc,执行式2)计算得到所选特征子集对应的奖励值reward:
其中,acc表示所选特征子集采用K=1的KNN分类器得到的准确率,C表示原始特征数,D1表示所选特征子集的特征数,s20表示步骤S301获得的最终的删除阈值;
步骤S303、将步骤S301中按ε-greedy策略选择的动作、所有获得的删除阈值和步骤S302中获得的奖励值reward送入Q-表,更新每一步的Q-值:
其中,Q(sk,ak)表示第k步时删除阈值sk和所选动作ak的Q-值,a表示学习率为0.01,γ表示折扣因子为0.99,表示Q(sk,ak)的目标Q-值;
步骤S304、重复执行步骤S301-S303,在初次迭代时,ε-greedy策略中的ε设置为1,每次迭代后,ε以0.95*ε的速度衰减,直到ε≤0.1时,停止衰减;
从第76次重复执行的过程开始统计所述奖励值reward的变化:如果奖励值reward连续十次没有改变,则中止重复执行过程,将最后一次得到的最终删除阈值作为删除阈值,输出删除阈值和所选特征子集,否则重复执行步骤S301-S303直至200次,将第200次得到的最终删除阈值作为删除阈值,再输出删除阈值和所选特征子集;
步骤S4、采用改进PSO算法对所述所选特征子集进行精细搜索,得到最优特征子集;
步骤S4具体过程为如下:
步骤S401、根据MIC值进行粒子初始化
1)、对步骤S304获得的所选特征子集的特征数按式(4)计算粒子数Np:
其中,Np表示粒子的数量,D1表示所选特征子集包含的特征数;
2)、按步骤S304所获的所选特征子集,从在步骤S2得到的MIC矩阵中查找并获得对应的特征与标签之间的MIC值,并按式(5)正则化:
其中,Pd表示特征d的C概率,MIC(d,L)表示特征d与标签L之间的MIC值,表示在D1个特征中得到的最大MIC值;
步骤S402、更新初始时刻的个体最优位置和全局最优粒子位置
在初始时刻,将粒子的速度随机初始化到[-1,1]之间,并根据式(6)更新粒子的初始位置:
其中,表示初始时刻粒子i第d个特征的位置,rand()是一个0到1之间的随机值;
然后,将每个粒子的初始位置作为初始时刻的每个粒子的个体最优位置,按式(7)计算并选择所有粒子中fitness值最小的粒子位置作为初始时刻的全局最优粒子位置;
其中,表示常量为0.99,R1是粒子位置为1的特征数量,D1为所选特征子集中的特征数量,γR1(D1)为分类误差率,获得过程为:在步骤S1中处理后的数据集里,选取粒子的初始位置/>的对应特征组成新的数据集,然后在新的数据集上执行一个双层嵌套十折交叉验证后获得;
步骤S403、进入循环搜索并输出最优特征子集
S40301、更新当前粒子的速度和位置
初始时刻结束后,按式(8)更新当前粒子的速度,并采用如式(9)的sigmoid函数将速度正则化至0到1之间,再按式(10)更新当前粒子的位置;
其中,表示第t+1时刻粒子i第d个特征的速度,/>若/>则/>则/>w为惯性因子,取值为0.9;c1、c2是加速度常数,取值均为2;r1和r2是两个0到1之间的随机数;/>表示t时刻粒子i的第d个特征的个体最优位置;/>表示t时刻的全局最优粒子位置;/>表示t时刻粒子i的第d个特征的位置;
其中,表示采用sigmoid函数将/>正则化,e是自然常数;
其中,rand()是一个0到1之间的随机值;
步骤S40302、执行局部搜索
根据式(11)求得一个新的粒子位置;
其中,是第t+1时刻粒子i在第d个特征的新位置,/>是第t+1时刻粒子i在第d个特征的位置,N(μ,s)是均值为μ、方差为s的高斯分布,均值μ和方差s计算公式如下:
其中,是第t时刻粒子i的第d个特征的个体最优位置,/>是第t时刻粒子i的第d个特征的全局最优粒子位置;
在步骤S1中处理后的数据集中,选取当前粒子的位置的对应的特征,得到一个新的数据集,然后在这个新的数据集上执行双层嵌套十折交叉验证的输出作为当前粒子位置的分类误差率γR1(D1),然后按式(7)计算当前粒子位置的fitness值;
在步骤S1中处理后的数据集里,选取新的粒子位置的对应的特征,得到第二份新的数据集,然后在第二份新的数据集上执行双层嵌套十折交叉验证的输出作为新的粒子位置的分类误差率γR1(D1),然后按式(7)计算新的粒子位置的fitness值;
当前粒子位置的fitness值和新的粒子位置的fitness值之间选取fitness值较小的粒子位置替换为当前粒子的位置,从而确定一个更优的当前粒子位置;
步骤S40303、更新个体最优位置和全局最优粒子位置
选择每个粒子历史上fitness值最低的位置作为每个粒子的个体最优位置,并从所有粒子的个体最优位置中选择出fitness值最低的粒子位置作为全局最优粒子位置,这个粒子是全局最优粒子;
从步骤S40302得到的所有当前粒子的fitness值中,选择fitness值最高的一半粒子按式(15)进行随机突变:
其中,是第t+1时刻进行随机突变的粒子j第d个特征的位置,rand()是一个0到1之间的随机值;
步骤S40304、重复执行70次步骤S40301-S40303,如果在70次执行过程中,全局最优粒子的fitness值连续十次相同,则立即中止该执行过程并输出最优特征子集,否则执行70次后输出最优特征子集;
步骤S5、根据所述最优特征子集更新步骤S1获得的所述处理后的数据集中的特征,并依据更新后的数据集建立十折交叉验证的训练集和测试集,依次输入K=1的KNN分类器,得到对应的十个最优特征子集的分类准确率,然后将十个最优特征子集的分类准确率的平均值作为所述最优特征子集的准确率。
2.根据权利要求1所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于,所述步骤S2具体为:
步骤S201、将步骤S1处理后的数据集放入二维坐标系中,并对该坐标系进行多次网格划分;
步骤S202、在每次网格划分时,按式(1)计算每一个网格中特征与标签之间的互信息值并获得MIC矩阵:
其中,MIC(F,L)为所有特征F与标签L得到的MIC矩阵,I*(F,L)表示每次划分时特征与标签之间的最大互信息值,B表示每次网格划分的大小,设置为c0.6,f,l表示网格的第f行、第l列。
3.根据权利要求2所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于,所述双层嵌套十折交叉验证的具体过程为:
将输入的数据集分为十份,轮流将其中九份做训练一份做测试,从而得到十份不同的外部十折交叉验证的训练集和测试集;将每一份外部十折交叉验证的训练集重新分为十份,轮流将其中九份做训练一份做测试,得到十份不同的内部十折交叉验证的训练集和测试集,依次将十份内部十折交叉验证的训练集和测试集输入K=1的KNN分类器,得到十个分类准确率;将十份外部十折交叉验证的训练集依次作为内部十折交叉验证的输入共获得100个分类准确率,然后输出100个分类准确率的平均值。
4.根据权利要求1~3任一所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于:15个医学微阵列数据集为:Adenocarcinoma、Colon、Lymphoma、Breast3、Prostate_Tumor、Breast2、SRBCT、DLBCL、Prostate、Leukemia 1、Leukemia 2、11Tumor、Brain Tumor1、Brain Tumor 2、Lung Cancer。
CN202110778300.2A 2021-07-09 2021-07-09 基于两阶段混合特征选择的高维数据分类方法 Active CN113780334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110778300.2A CN113780334B (zh) 2021-07-09 2021-07-09 基于两阶段混合特征选择的高维数据分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110778300.2A CN113780334B (zh) 2021-07-09 2021-07-09 基于两阶段混合特征选择的高维数据分类方法

Publications (2)

Publication Number Publication Date
CN113780334A CN113780334A (zh) 2021-12-10
CN113780334B true CN113780334B (zh) 2024-06-18

Family

ID=78835856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110778300.2A Active CN113780334B (zh) 2021-07-09 2021-07-09 基于两阶段混合特征选择的高维数据分类方法

Country Status (1)

Country Link
CN (1) CN113780334B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116579842B (zh) * 2023-07-13 2023-10-03 南开大学 基于用户行为数据的信用数据分析方法及***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718943A (zh) * 2016-01-19 2016-06-29 南京邮电大学 基于粒子群优化算法的特征选择方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145960A (zh) * 2018-07-27 2019-01-04 山东大学 基于改进粒子群算法的数据特征选择方法及***
CN110097169A (zh) * 2019-05-08 2019-08-06 河南大学 一种混合abc和cro的高维特征选择方法
CN112488188B (zh) * 2020-11-30 2023-12-19 浙江理工大学 一种基于深度强化学习的特征选择方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718943A (zh) * 2016-01-19 2016-06-29 南京邮电大学 基于粒子群优化算法的特征选择方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A two-stage hybrid ant colony optimization for high-dimensional feature selection;Wenping Ma等;《Pattern Recognition》;20210309;第1-13页 *

Also Published As

Publication number Publication date
CN113780334A (zh) 2021-12-10

Similar Documents

Publication Publication Date Title
Zhang et al. Binary differential evolution with self-learning for multi-objective feature selection
CN111798921B (zh) 一种基于多尺度注意力卷积神经网络的rna结合蛋白预测方法及装置
CN106228185B (zh) 一种基于神经网络的通用图像分类识别***及方法
Han et al. Competition-driven multimodal multiobjective optimization and its application to feature selection for credit card fraud detection
CN109977943A (zh) 一种基于yolo的图像目标识别方法、***和存储介质
CN108595913A (zh) 鉴别mRNA和lncRNA的有监督学习方法
Li et al. A binary individual search strategy-based bi-objective evolutionary algorithm for high-dimensional feature selection
CN110991518B (zh) 一种基于进化多任务的两阶段特征选择方法及***
Pashaei et al. Gene selection using hybrid dragonfly black hole algorithm: A case study on RNA-seq COVID-19 data
CN108509996A (zh) 基于Filter和Wrapper选择算法的特征选择方法
CN112232413A (zh) 基于图神经网络与谱聚类的高维数据特征选择方法
JP2024524795A (ja) グラフニューラルネットワークに基づく遺伝子表現型予測
Ouadfel et al. A multi-objective gradient optimizer approach-based weighted multi-view clustering
Mansoori et al. Feature selection by genetic algorithm and SVM classification for cancer detection
CN113780334B (zh) 基于两阶段混合特征选择的高维数据分类方法
CN111767216A (zh) 一种可缓解类重叠问题的跨版本深度缺陷预测方法
Qin et al. Two-stage feature selection for classification of gene expression data based on an improved Salp Swarm Algorithm
CN112488188B (zh) 一种基于深度强化学习的特征选择方法
Yang et al. Feature selection using memetic algorithms
Han et al. A hybrid cancer classification model based recursive binary gravitational search algorithm in microarray data
CN112183598A (zh) 一种基于遗传算法的特征选择方法
KR102005952B1 (ko) 기계학습 모델링에서 잡음 데이터 제거를 위한 데이터 정제 장치 및 방법
da Silva et al. A novel multi-objective grammar-based framework for the generation of convolutional neural networks
Wong et al. A probabilistic mechanism based on clustering analysis and distance measure for subset gene selection
CN113361635A (zh) 基于表示预测的小样本类增量学习方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant