一种基于互信息和遗传算法的降维与特征提取方法

文档序号:32948625发布日期:2023-01-14 12:19阅读:52来源:国知局
一种基于互信息和遗传算法的降维与特征提取方法

1.本发明涉及数据处理技术领域,尤其涉及一种基于互信息和遗传算法的降维与特征提取方法。


背景技术:

2.随着信息时代的飞速发展,信息的表现形式越来越丰富和全面。各个领域的数据表现出数据体量大,数据类型繁多,数据价值密度低和数据处理速度快等特点,但同时也给数据处理带来“维度灾难”、“算法失效”等问题。如何从这些数据量庞大、类型丰富的数据中快速挖掘出对实际应用有价值的信息,是当前数据挖掘和模式识别研究的热点话题。由于高维数据的原始表示往往包含大量冗余,有些变量之间的相关程度很高,对于这类变量,可以找到一组新的数量更少的不相关的变量来表达原始数据,因此,降维或特征提取是解决高维数据维度灾难等问题的有效途径。
3.现有技术中已作相应的研究和探讨,特征提取和特征变换是数据降维常用的两类方法。特征变换是指将原有的特征空间变换成某种形式,得到新的特征;其中,最著名的特征变换算法是主成分分析法,该算法在大部分学习任务中的降维效果都比较可观,但是只能固定降维的维数,其特征降维的灵活性较低,并且特征变换的新特征通常由全部原始特征变换而来,并未减少数据处理工作量。
4.特征提取是指从原始特征集中选择使某种评估标准最优的特征子集,通过特征提取,删除了一些和任务无关或者冗余的特征,算法过程简单高效,但同时可能忽略了一些单个特征对任务相关性较小,但和其他特征组合在一起又相关性很大的特征。


技术实现要素:

5.针对现有算法的不足,本发明考虑特征变换对变换后维数的固定性、特征提取的降维高效性和小影响特征的忽略性;通过互信息充分挖掘了特征与类别之间的相关性,借助遗传算法轮盘赌生成多个优等特征子集,又通过对特征子集变异,对降维后的特征子集维数进行变化,能够保证每个特征子集有效区分不同类别的数据,同时有效控制特征子集之间的差异度。
6.本发明所采用的技术方案是:一种基于互信息和遗传算法的降维与特征提取方法包括以下步骤:
7.步骤一、利用改进互信息公式计算互信息来度量每个维度对每类所起的作用;
8.进一步的,具体包括:
9.s11、采用极大化法对数据集进行预处理;
10.s12、采用等宽法,求出数据集中每个属性特征在每个区间下的个数;
11.s13、将互信息公式不求得到每个属性特征对每个类别所起作用。
12.步骤二、将互信息值作为特征维度的适应值,先利用遗传算法中的轮盘赌法生成
多个初始特征子集;再利用互信息来对生成的特征子集进行维度上的优化;
13.进一步的,利用遗传算法中的轮盘赌法生成多个初始特征子集具体包括:
14.互信息按行求和得到适应度值,将适应度值除以互信息总和得到特征的选中概率;
15.计算各特征出现的累积概率;
16.随机生成一个0-1的数,若第一个特征没有被选择并且第一个特征累积概率大于随机数,则选择第一个特征;从第二个特征开始到最后一个特征,如果第二个没有被选择并且第二个特征的前一个特征的累积概率小于随机数但第二个特征的累积概率大于等于随机数,则选择第二个特征;依次循环直至最后一个特征;
17.进一步的,利用互信息对生成的特征子集进行维度上的优化具体包括:
18.在互信息表中找到初始t个特征子集对应的已选特征,将互信息值按类别求和,除以类别互信息总值得到t个初始特征子集对每类的贡献率;
19.如果t个初始特征子集中存在某个特征子集贡献率小于阈值的个数超过总类别数的一半,则为弱特征子集,对弱特征子集进行优化。
20.进一步的,对弱特征子集进行优化具体包括:
21.记录贡献率小于贡献率阈值的特征子集以及对应的类别号;
22.根据类别,对互信息逆序排序得到维度作用排序;
23.弱特征子集已选特征与维度作用排序的每一行作差集运算,得到至少一个备选特征;
24.弱特征子集分别加上备选特征组里面每个备选特征,再次计算贡献率,如果贡献率大于贡献率阈值的类别数大于总类别数的一半,则建立优化特征组;
25.在优化特征组中随机选择一个优化特征增补进弱特征子集。
26.步骤三、对特征子集进行优化,并将优化后的特征子集进行变异和差异度控制,生成新的特征子集;
27.进一步的,具体包括:
28.从优化后的t个特征子集中,顺序的取出两个特征子集,分别为对照特征子集和待变异特征子集,给定第一变异概率和第二变异概率;
29.当差异度小于0.5的两个特征子集都选了同一特征时,生成一个0-1的随机数,如果随机数小于第一变异概率,则将待变异特征子集中同一特征置为0;
30.当差异度小于0.5的两个特征子集都未选择同一个特征时,生成一个0-1的随机数,如果随机数小于第二变异概率,则将待变异特征子集中未选择的同一个特征置为1。
31.步骤四、进行多源特征子集的评价结果融合;
32.进一步的,具体包括:
33.将数据集根据最终的特征子集划分,训练得到不同的t个学习模型;
34.采用投票法综合t个学习模型得到最终结果。
35.本发明的有益效果:
36.1、通过互信息度量各特征维度对类别所起作用,并利用互信息作为特征维度的适应值,结合遗传算法,优选出多组类内差异度小且类间差异度大的特征子集,形成多源低维特征子集,融合多源特征子集的评价结果,实现高维数据的降维与特征提取;
37.2、本发明属于过滤式特征选择方法,整个特征选择过程,不涉及最后分类器或学习器的结果,属于机器学习当中的数据预处理过程,所以,时间复杂度较低,整个过程较简单;
38.3、将求解的互信息不仅当作适应度值利用轮盘赌法控制初始特征子集的产生,还在交叉变异之后,将互信息作为特征子集对分类的贡献度,对各子集进行优化;
39.4、解决现在特征选择算法只得出一个最优的特征子集作为结果的输出,本发明采用多个特征子集融合结果输出,通过投票法及其他方法综合各特征子集的输出结果,形成最后的判定结果,比使用原数据集的准确率明显提高。
附图说明
40.图1是本发明的基于互信息和遗传算法的降维与特征提取方法流程图;
41.图2是本发明的应用于降维或特征提取结果的方法图。
具体实施方式
42.下面结合附图和实施例对本发明作进一步说明,此图为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
43.使用10个来自uci机器学习库的公开数据集验证本发明的降维效果,10个数据集分别为vehicle、sonar、mfeatfac、semeion、isolet、cane9、orl、coil20、warppie10p、tox171,数据集详细特点描述如表1所示:
44.表1:数据集
45.序号数据集特征数样本数类标签个数1vehicle1894642sonar6020823mfeatfac2162000104semeion2561593105isolet6171560266cane9857108097orl1024400408coil2010241440209warppie10p24202101010tox17157491714
46.本发明方法通过互信息度量各特征维度对类别所起作用,并利用互信息作为特征维度的适应值,结合遗传算法,产生准确率高并且差异度大的特征子集组,以实现高维数据的降维。
47.如图1所示,一种基于互信息和遗传算法的降维与特征提取方法包括以下步骤:
48.步骤一、利用改进互信息公式计算互信息来度量每个维度对每类所起的作用;
49.s11、数据预处理,利用公式每列除以每列绝对值最大值|max|,实现对原始数据的标准化处理;
50.s12、采用等宽法,按min(数据集)到max(数据集)划分出n个区间,求出每个属性特征在每个区间下的个数,将连续性数据转化为离散型数据;
51.s13、互信息可以衡量两个随机变量的独立程度,对于两个随机变量x和y,联合概率密度函数为p(x,y),边缘概率密度函数为p(x)和p(y),互信息i(x;y)为联合分布p(x,y)和乘积分布p(x)p(y)之间的相对熵,计算公式为
52.其中,求p(x),即每个特征属性出现在区间的概率,用s12中求的属性在每个区间下的个数除以样本数量,得到每个属性在每个区间的概率;
53.求p(y),即每个类别出现的概率,先用unique查找样本标签类格式,再按照标记值进行归类,找到每类的样本数,最后用每类样本数除以总样本数;
54.求p(x,y)的值,即特征属性属于类的概率,按照维度查找每一区间内p(x)的值,按照类别标签求出该区间下样本的类别等于类别标签的样本数量,用求得的样本数量除以该区间的样本数量得到p(y|x),最后用p(y|x)乘以p(x)得到p(x,y);
55.改变互信息公式,不求得到每个属性特征对每个类别所起作用,互信息值越大,代表该属性与该类别的相关性越大。
56.步骤二、将互信息值作为特征维度的适应值,先利用遗传算法中的轮盘赌法生成多个携带信息较多的特征子集,再利用互信息来对生成的特征子集进行维度上的优化,生成特征子集;
57.s21、采用遗传算法中的轮盘赌法产生不同的特征子集,每个特征属性对应遗传算法中的不同个体;
58.具体包括:
59.s211、互信息按行求和得到特征重要性,即个体适应度值,将特征重要性除以互信息总和得到特征的选中概率;
60.s212、计算各特征出现的累积概率,累积概率在遗传算法中表示每个个体之前所有个体的选择概率之和,这里将特征属性作为个体;
61.s213、随机生成一个0-1的数,若第一个特征没有被选择并且第一个特征累积概率大于随机数,则选择第一个特征;从第二个特征开始到最后一个特征,如果特征没有被选择并且该特征的前一个特征的累积概率小于随机数但该特征的累积概率大于等于随机数,则选择该特征;
62.s214、若需要选中n个特征,则将步骤s213重复n次即可,特征子集的大小,即n设为原特征子集的一半;
63.s22、利用互信息优化生成的t个特征子集,特征子集的大小为n;
64.具体包括:
65.s221、在互信息表中找到优化后的t个特征子集对应的已选特征,将互信息值按类别求和,除以类别互信息总值得到t个特征子集对每类的贡献率;
66.s222、如果t个特征子集中存在某个特征子集贡献率小于u(u为给定的贡献率阈值)的个数超过了总类别数的一半,则该特征子集称为弱特征子集,需要对弱特征子集进行
优化,优化的子步骤如下;
67.s2221、记录贡献率小于u的特征子集以及对应的类别号;
68.s2222、根据相应类别,对互信息逆序排序得到维度作用排序;
69.s2223、弱特征子集已选特征与维度作用排序的每一行作差集运算,得到至少一个备选特征,备选特征指的是弱特征子集未选但对贡献率小于u对应类别作用较强的特征,多个备选特征构成备选特征组;
70.s2224、弱特征子集分别加上备选特征组里面每个备选特征,再次计算贡献率,如果贡献率大于u的类别数大于总类别数的一半,则该备选特征可以作为优化特征,多个优化特征构成优化特征组;
71.s2225、在优化特征组中,随机选择一个优化特征增补进弱特征子集中;
72.步骤三、对特征子集进行优化,并将优化后的特征子集进行变异和差异度控制,生成多个准确率高且差异度大的特征子集;
73.s31、从步骤s2优化后的t个特征子集中,顺序的取出两个特征子集,前一个特征子集作为对照特征子集,后一个特征子集作为待变异特征子集,给定变异概率1和变异概率2,其中变异概率1取较大的值,取值范围在0.5~1之间,目的是更多的去除两个特征子集都选择了的特征,变异概率2取较小的值,取值范围在0~0.5之间,表示更少的向待变异特征子集中添加两个特征子集都未选择的特征;
74.s32、当差异度小于0.5的两个特征子集选了同一个特征时,(差异度较小为两个特征子集选相同特征和未选相同特征的总数与特征总数的比值),生成一个0-1的随机数,如果随机数小于给定的变异概率1,则将待变异特征子集中该特征置为0;
75.s33、当差异度小于0.5的两个特征子集都未选择同一个特征时,生成一个0-1的随机数,如果随机数小于给定的变异概率2,则将待变异特征子集中该特征置为1。
76.步骤四、进行多源特征子集的评价结果融合;
77.s41、将数据集根据特征子集划分,训练得到不同的t个学习模型;
78.s42、采用投票法综合t个学习模型得到最终结果。
79.为了增加实验结果的可信度,上面10个数据集均采用十倍交叉验证法来划分训练集和测试集。
80.如图2所示,在划分好的训练集和测试集上,根据最后生成的特征子集,对训练集和测试集进行二次划分。
81.将训练集和二次划分的训练集选用knn分类器进行训练得到训练模型。
82.将测试集和二次划分的测试集送入训练好的模型,进行测试验证,其中二次划分的测试集得到的结果,采用相对多数投票法得到最终的测试结果。
83.将测试结果与测试集标签对比,测试正确数/测试集样本个数*100%得到分类准确率;在knn分类器上,原数据集与降维方法划分后的数据集准确率结果如表2所示;通过十折交叉验证求得每次的分类准确率然后取其平均值得到表中符号
“±”
前的平均分类准确率,符号
“±”
后面的值为准确率的标准差;表格中每一行选出平均分类准确率最高的特征,使用粗体表示,表格中最后一行“average”表示各个算法在所有数据集上的平均值。
84.表2:在knn分类器上,未降维与降维后的准确率结果
[0085][0086][0087]
从表2中可以看出,除了mfeatfac和isolet数据集上,降维后的准确率比原准确率略有下降,但相差很小,本发明提出的降维方法在其他数据集上准确率有明显的提高。
[0088]
除了与原数据集进行实验对比,还与现有的其他降维方法进行了准确率的对比,五种不同的算法在knn分类器上的平均分类准确率对比结果如表3所示,在svm分类器上的平均分类准确率对比结果如表4所示。
[0089]
表3:本发明方法在knn分类器上与其他方法准确率结果
[0090][0091]
[0092]
从表3中可以发现,在所选的10个数据集上,与relaxfs算法的平均分类准确率相比,本发明算法在数据集tox171上下降了2.7%,但是,在其他数据集上均优于其他算法。从表格的最后一行可以看出,本发明算法在knn分类器上相比于其他基于互信息的特征提取算法可以得到更好的平均分类准确率。
[0093]
表4:本发明方法在svm分类器上与其他方法准确率结果
[0094]
数据集ciferelaxfscfrwcfr现准确率vehicle64.94
±
0.0763.47
±
0.0765.01
±
0.0765.15
±
0.0768.56
±
0.07sonar77.35
±
0.0277.99
±
0.0278.74
±
0.0379.34
±
0.0376.85
±
0.09mfeatfac88.76
±
0.1190.24
±
0.1190.39
±
0.1190.58
±
0.1197.50
±
0.02semeion63.63
±
0.1068.58
±
0.1267.27
±
0.1168.41
±
0.1272.82
±
0.05isolet58.11
±
0.1168.96
±
0.1569.94
±
0.1572.49
±
0.1693.12
±
0.05cane967.98
±
0.1373.29
±
0.1673.17
±
0.1673.71
±
0.1681.94
±
0.03orl57.24
±
0.1482.21
±
0.2179.62
±
0.2181.81
±
0.2296.55
±
0.05coil2087.11
±
0.1489.95
±
0.1488.42
±
0.1590.23
±
0.1599.50
±
0.10warppie10p93.71
±
0.1293.67
±
0.1294.09
±
0.1294.92
±
0.12100
±
0.00tox17176.72
±
0.0979.63
±
0.0780.97
±
0.1280.52
±
0.1194.12
±
0.03average73.56
±
0.1078.80
±
0.1278.76
±
0.1279.72
±
0.1388.09
±
0.05
[0095]
从表4中可以发现,表现最好的两个特征提取算法分别是mcrmcr算法和本发明算法。其中mcrmcr算法在一个数据集上获得最高的分类准确率,本发明算法在九个数据集上获得最高的分类准确率。
[0096]
比较表3和表4,可以得到不同分类器对本发明算法和其他特征提取算法的影响。比较本发明算法使用两种分类器的结果,可以看出,本发明算法在knn分类器和svm分类器获得更好结果的数量相等。所以本发明算法对分类器的预处理过程效果具有普遍性。
[0097]
本发明方法的数据降维的优越性体现在能够有效解决无关特征信息干扰目标任务的问题,满足适应大规模数据集的准确性和运行效率的双重要求,对低维数据的适应性强。
[0098]
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1