1.基于两阶段混合特征选择的高维数据分类方法,其特征在于,包括步骤如下:步骤S1、获取数据集,然后在上位机中整理数据,包括整理特征信息、标记分类标签、去除序号、删除缺失的样本,获得处理后的数据集;
步骤S2、基于最大信息系数MIC的方法对所述处理后的数据集进行预处理,获得MIC矩阵;
步骤S3、采用Q‑Learning学习到一个删除阈值,然后在所述处理后的数据集中,删除MIC值小于Q‑Learning学习到删除阈值的特征,得到所选特征子集;
步骤S4、采用改进PSO算法对所述所选特征子集进行精细搜索,得到最优特征子集;
步骤S5、根据所述最优特征子集更新步骤S1获得的所述处理后的数据集中的特征,并依据更新后的数据集建立十折交叉验证的训练集和测试集,依次输入K=1的KNN分类器,得到对应的十个最优特征子集的分类准确率,然后将十个最优特征子集的分类准确率的平均值作为所述最优特征子集的准确率。
2.根据权利要求1所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于,所述步骤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次得到的最终删除阈值作为删除阈值,再输出删除阈值和所选特征子集。
3.根据权利要求2所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于,所述步骤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次后输出最优特征子集。
4.根据权利要求3所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于,所述步骤S2具体为:
步骤S201、将步骤S1处理后的数据集放入二维坐标系中,并对该坐标系进行多次网格划分;
步骤S202、在每次网格划分时,按式(1)计算每一个网格中特征与标签之间的互信息值并获得MIC矩阵:
*
其中,MIC(F,L)为所有特征F与标签L得到的MIC矩阵,I (F,L)表示每次划分时特征与标
0.6
签之间的最大互信息值,B表示每次网格划分的大小,设置为c ,f,l表示网格的第f行、第l列。
5.根据权利要求4所述的基于两阶段混合特征选择的高维数据分类方法,其特征在于,所述双层嵌套十折交叉验证的具体过程为:将输入的数据集分为十份,轮流将其中九份做训练一份做测试,从而得到十份不同的外部十折交叉验证的训练集和测试集;将每一份外部十折交叉验证的训练集重新分为十份,轮流将其中九份做训练一份做测试,得到十份不同的内部十折交叉验证的训练集和测试集,依次将十份内部十折交叉验证的训练集和测试集输入K=1的KNN分类器,得到十个分类准确率;将十份外部十折交叉验证的训练集依次作为内部十折交叉验证的输入共获得
100个分类准确率,然后输出100个分类准确率的平均值。