一种特征选择方法和装置与流程

文档序号:27834938发布日期:2021-12-07 23:17阅读:131来源:国知局
一种特征选择方法和装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种特征选择方法和装置。


背景技术:

2.随着信息技术的发展,全球数据爆发式增长,需存储和传播的数据越来越多。为处理海量高维数据,从中提取最翔实和最有价值的信息是非常必要的。由于高维数据包含大量的特征,这些特征不可避免地包含噪声,在这种情况下,特征选择成为不可或缺的数据挖掘技术,通过特征降维可以提高后续的分类或者聚类等性能。
3.目前特征选择方法分三种,过滤式方法、包裹式方法和嵌入式方法。在实现本发明的过程中,发明人发现这些方法通常不考虑所选特征之间的冗余性,因此这些特征往往具有高相关性,不利于后续聚类或者分类等任务。虽目前已提出基于互信息的mrmr(max-relevance and min-redundancy)特征选择方法以尽量减少特征之间的冗余性,但mrmr方法采用贪婪策略寻找具有最小冗余性的特征,导致所选特征并没有全局冗余信息最小化。


技术实现要素:

4.有鉴于此,本发明实施例提供一种特征选择方法和装置,至少能够解决现有技术中无法最小化全局特征的冗余性、也无法选择具有强判别性的特征的现象。
5.为实现上述目的,根据本发明实施例的一个方面,提供了一种特征选择方法,包括:
6.确定各样本中的特征,基于所有特征在各个样本中的值构建样本向量;其中,样本为图像、文本、语音数据中的至少一种;
7.利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,得到重要性评分向量;其中,重要性评分向量包括各特征的重要性评分;
8.从所述各特征的重要性评分中,提取重要性评分最大的预定数目个特征,以作为所选择的目标特征。
9.可选的,所述利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,包括:
10.确定各样本所属的类别,将所述样本向量、所述类别、第一重要性评分向量、第二重要性评分向量和冗余矩阵,一同输入到全局冗余最小化的稀疏特征选择算法中进行最小化;其中,所述第一重要性评分向量未考虑冗余性,所述第二重要性评分向量考虑冗余性;以及
11.对所述第二重要性评分向量中的元素进行约束;其中,约束条件为元素非0,并且和为1;
12.得到最小化且约束元素后的第二重要性评分向量。
13.可选的,所述利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,得到重要性评分向量,包括:
14.通过评价准则处理所述样本向量,以计算各特征未考虑冗余性时的第一重要性评
分,生成第一重要性评分向量;
15.引入冗余矩阵,并将所述第一重要性评分向量输入冗余信息最小化准则中,以对不同特征进行去冗余性修正,得到第二重要性向量。
16.可选的,还包括:
17.将一特征在不同样本中的值进行归一化,以构建所述一特征的特征向量;
18.计算两两特征的特征向量之间的内积,以构建所述两两特征之间的冗余矩阵。
19.可选的,所述将一特征在不同样本中的值进行归一化,以构建所述一特征的特征向量,包括:
20.根据一特征在不同样本中的值,构建数据矩阵;
21.利用中心化矩阵处理所述数据矩阵,得到与所述一特征对应的中心化后的特征向量。
22.为实现上述目的,根据本发明实施例的另一方面,提供了一种特征选择装置,包括:
23.特征确定模块,用于确定各样本中的特征,基于所有特征在各个样本中的值构建样本向量;其中,样本为图像、文本、语音数据中的至少一种;
24.向量处理模块,用于利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,得到重要性评分向量;其中,重要性评分向量包括各特征的重要性评分;
25.特征选择模块,用于从所述各特征的重要性评分中,提取重要性评分最大的预定数目个特征,以作为所选择的目标特征。
26.可选的,所述向量处理模块,用于:
27.确定各样本所属的类别,将所述样本向量、所述类别、第一重要性评分向量、第二重要性评分向量和冗余矩阵,一同输入到全局冗余最小化的稀疏特征选择算法中进行最小化;其中,所述第一重要性评分向量未考虑冗余性,所述第二重要性评分向量考虑冗余性;以及
28.对所述第二重要性评分向量中的元素进行约束;其中,约束条件为元素非0,并且和为6;
29.得到最小化且约束元素后的第二重要性评分向量。
30.可选的,所述向量处理模块,用于:
31.通过评价准则处理所述样本向量,以计算各特征未考虑冗余性时的第一重要性评分,生成第一重要性评分向量;
32.引入冗余矩阵,并将所述第一重要性评分向量输入冗余信息最小化准则中,以对不同特征进行去冗余性修正,得到第二重要性向量。
33.可选的,还包括冗余矩阵构建模块,用于:
34.将一特征在不同样本中的值进行归一化,以构建所述一特征的特征向量;
35.计算两两特征的特征向量之间的内积,以构建所述两两特征之间的冗余矩阵。
36.可选的,所述冗余矩阵构建模块,用于:
37.根据一特征在不同样本中的值,构建数据矩阵;
38.利用中心化矩阵处理所述数据矩阵,得到与所述一特征对应的中心化后的特征向量。
39.为实现上述目的,根据本发明实施例的再一方面,提供了一种特征选择电子设备。
40.本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的特征选择方法。
41.为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的特征选择方法。
42.根据本发明所述提供的方案,上述发明中的一个实施例具有如下优点或有益效果:基于冗余矩阵刻画哪些非冗余特征,使用范数正则化用于数据特征的选择,将特征选择和全局冗余信息最小化统一到一个凸目标优化函数中,以有效实现特征选择。
43.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
44.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
45.图1(a)~(c)分别是现有包裹式、过滤式和嵌入式三类特征选择方法的示意图;
46.图2是mrmr特征选择示意图;
47.图3是根据本发明实施例的一种特征选择方法的流程示意图;
48.图4是基于稀疏的全局冗余信息最小化方法示意图;
49.图5是根据本发明实施例的一种特征选择装置的主要模块示意图;
50.图6是本发明实施例可以应用于其中的示例性系统架构图;
51.图7是适于用来实现本发明实施例的移动设备或服务器的计算机系统的结构示意图。
具体实施方式
52.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
53.目前特征选择已在许多不同领域进行了广泛的应用,例如医学研究中的致病基因选择和计算机视觉中的图像分割等。使用少量的、具有非常丰富表示能力的特征不仅可以加速模型的学习过程,而且可以增强模型在未知数据上的泛化能力。
54.目前特征选择方法主要采用的三种方式,其利弊分析如下:
55.1)过滤式特征选择方法(如图1(a)所示),依靠数据的固有属性来对特征进行排序,从而按照排序选择重要的特征。值得注意的是,过滤式方法是独立于分类器的,因此其耗费计算成本较低,但通常性能较差。
56.2)包裹式特征选择方法(如图1(b)所示)与特定的分类器相关联,因此该方法通常可以获得较好的性能,但由于计算成本高,因此不适用于大规模数据。
57.3)嵌入式特征选择方法(如图1(c)所示)的学习过程已经嵌入到分类模型训练中,通过对分类算法的优化问题求解最终得到所需保留的特征(即选择的特征)。
58.因此与过滤式特征选择方法和包裹式特征选择方法相比,嵌入式特征选择方法可以同时获得较低的计算成本和令人满意的特征选择性能。
59.参见图2所示,为mrmr特征选择示意图。左侧有四个不同的特征,特征重要性得分分别为:0.95、0.91、0.72和0.33。特征1的重要得分最高,并且与特征2和特征3具有相关性。特征2和特征3可以分别从不同的角度对数据进行表示,因此特征2和特征3彼此不相关。mrmr方法对上述4个特征进行选择时,由于特征2和特征3同时与特征1具有相关性,因此最终会选择特征1和特征4而忽略特征2和特征3。实际上,特征2和特征3的组合比特征1和特征4具有更强的判别能力。所以mrmr方法无法最小化全局特征的冗余性,也无法选择具有强判别性的特征(如特征2和特征3)。
60.参见图3,示出的是本发明实施例提供的一种特征选择方法的主要流程图,包括如下步骤:
61.s301:确定各样本中的特征,基于所有特征在各个样本中的值构建样本向量;其中,样本为图像、文本、语音数据中的至少一种;
62.s302:利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,得到重要性评分向量;其中,重要性评分向量包括各特征的重要性评分;
63.s303:从所述各特征的重要性评分中,提取重要性评分最大的预定数目个特征,以作为所选择的目标特征。
64.上述实施方式中,对于步骤s301~s303,由于低维数据中特征较少,因而本方案仅针对于高维数据(如语音/图像/文本)的特征选择,高维通常是指特征数目远大于样本数目的情况。
65.冗余指的是两个或者两个以上特征提供了重复的信息,因而可定义冗余信息最小化:如果特征i和特征j两者彼此相关,那么在特征选择时最好保留其中一个而舍去另一个,从而达到最终选择特征冗余信息最小化的目的。
66.一般而言,通过减少冗余的特征而使用具有更多信息的特征,可以在后续的任务(如聚类、分类)中取得更好的性能效果。例如,在人脸识别任务中为了区分特定的人,希望选择一些具有判别性和代表性的非冗余特征,如眼睛、鼻子和嘴巴等,而不是非代表性的冗余特征如头发等。本方案提出的全局冗余性最小化的特征选择方法的动机,是在样本的特征集中选择出具有代表性和非冗余的特征。
67.给定n个样本{x1,x2,...,x
n
},使用样本矩阵表示样本向量,其中,第k行表示第k个样本d为特征个数。以人脸图片为例,其特征可以为根据这张人脸照片提取的小波特征、直方图特征、灰度特征等。
68.本方案提供的全局冗余最小化的稀疏特征选择算法(grms,global redundancy minimize feature selection)为:
[0069][0070][0071]
计算得到w和s,本方案主要使用s选择特征。其中,为回归系数矩阵,对应于不考虑特征冗余性的第一重要性评分向量,同时也是稀疏特征选择算法产出的特征重要性
权重;s为考虑冗余性的第二重要性评分向量;表示大小为d的全1向量,γ、β和λ为正则化参数,用于平衡公式中各项的权重。值得注意的是,为了避免优化公式陷入平凡解,引入和1约束s中的元素,s
t
1=1(元素非0且和为1)。
[0072]
grms中第一项通过回归系数将训练样本向标签(对应于y,为样本所属类别)进行回归,并通过平方损失函数对回归值和真实值进行度量;第二项为回归系数w的范数,可以产生稀疏的效果,即最终求解得到的w中有很多行的元素均为0,非0行对应保留下的特征,从而实现特征选择功能。最后两项即刻画特征选择中的全局特征冗余信息,并将其最小化。
[0073]
上述公式中a为冗余矩阵,引入冗余矩阵对两两特征的冗余性进行刻画。给定样本向量第i个特征和第j个特征构成的数据矩阵分别为x
(i)
、x
(j)
(i,j=1,2,...,d)。相应地可以得到如下中心化后的特征:
[0074][0075]
其中,为中心化矩阵,和表示第i个特征和第j个特征中心化后的特征向量。实际操作中可以不考虑中心化矩阵,直接将一特征在不同样本中的值进行归一化即可。
[0076]
冗余矩阵a可以通过如下方式进行计算:
[0077][0078]
可以看出冗余矩阵其中为哈达玛乘积,因此上述公式可以写为如下矩阵形式:b=df
t
fd=(fd)
t
fd,其中f=[f1,f2,...,f
d
],d为对角矩阵,其对角元素为1/||f
i
||,i=1,2,

,d。同时可以确定矩阵b为半正定矩阵。
[0079]
假设第i个特征和第j个特征之间高度相关,并且无论是正相关还是负相关,其相关系数的绝对值都比较大。为了惩罚高相关性,使用平方余弦相似性用于度量两个特征之间的相关性,由于b是半正定矩阵,显然冗余矩阵a是非负并且也是半正定的。
[0080]
通过稀疏特征选择算法,可以在将全局特征冗余性最小化的同时,保证修正前后的特征的权重一致性。具体而言,如果特征i和其他所有特征相关,稀疏特征选择算法的第一项将导致特征i的修正权重评分s
i
变小,从而降低特征i的重要性。另一方面,如果特征i和其他所有特征均不相关,则特征i的修正权重评分s
i
将与初始的特征权重评分w
i
保持一致,即特征i的权重评分保持不变。
[0081]
以人脸识别应用为例,假设从原始人脸数据中提取特征其中包含灰度特征、直方图特征、傅里叶特征和梯度特征等,矩阵x由不同图片的上述特征构成,y为不同人对应的类别向量。根据数据矩阵x计算冗余矩阵a,然后将矩阵x、类别向量y和冗余矩阵a输入grms公式最终得到4中不同特征的修正权重评分向量s,s中数值越大的元素所对应的特征权重越高。
[0082]
参见图4所示冗余矩阵,颜色越深反映特征之间的相关性(即冗余度)越强。值得注
意的是特征选择和特征冗余性最小化是同时进行优化求解的。
[0083]
本方案还可以从另一角度考虑,如首先在样本向量的基础上,通过评价准则,如极端树算法、随机森林,计算特征集中各特征在未考虑冗余性时的第一重要性评分,构建第一重要性评分向量然后将第一重要性评分向量输入冗余信息最小化准则中,以对不同特征进行去冗余性修正,得到第二重要性向量s,其中,第二重要性向量包括各特征的第二重要性评分。冗余信息最小化准则为:
[0084][0085][0086]
其中,λ是正则化参数,用于平衡第一项和第二项的权重,冗余矩阵刻画了特征两两之间的相关性,即冗余度。
[0087]
具体而言,第一项s
t
as刻画了全局特征的冗余性,因此该第一项应该越小越好;第二项w
t
s刻画了原始的特征第一重要性评分w(未考虑冗余性)和修正后的特征第二重要性评分s(考虑冗余性)的一致性,由于期望修正后的特征能和修正前特征重要性尽可能保持一致,因此该第二项应该越大越好。
[0088]
上述实施例所提供的方法,提出的全局冗余最小化的稀疏特征选择算法grms,在计算出第二重要性评分向量后对特征重要性进行排序,同时基于冗余矩阵刻画哪些非冗余特征,以对稀疏选择的特征进行修正。
[0089]
本方案提供的方法,针对现有方法无法选择具有全局冗余信息最小化特征子集这一问题,提出一种通过全局冗余最小化的稀疏特征选择算法,以基于冗余矩阵刻对特征进行冗余性修正,且特征选择和特征冗余性最小化是同时进行优化求解的。
[0090]
参见图5,示出了本发明实施例提供的一种特征选择装置500的主要模块示意图,包括:
[0091]
特征确定模块501,用于确定各样本中的特征,基于所有特征在各个样本中的值构建样本向量;其中,样本为图像、文本、语音数据中的至少一种;
[0092]
向量处理模块502,用于利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,得到重要性评分向量;其中,重要性评分向量包括各特征的重要性评分;
[0093]
特征选择模块503,用于从所述各特征的重要性评分中,提取重要性评分最大的预定数目个特征,以作为所选择的目标特征。
[0094]
本发明实施装置中,所述向量处理模块502,用于:
[0095]
确定各样本所属的类别,将所述样本向量、所述类别、第一重要性评分向量、第二重要性评分向量和冗余矩阵,一同输入到全局冗余最小化的稀疏特征选择算法中进行最小化;其中,所述第一重要性评分向量未考虑冗余性,所述第二重要性评分向量考虑冗余性;以及
[0096]
对所述第二重要性评分向量中的元素进行约束;其中,约束条件为元素非0,并且和为6;
[0097]
得到最小化且约束元素后的第二重要性评分向量。
[0098]
本发明实施装置中,所述向量处理模块502,用于:
[0099]
通过评价准则处理所述样本向量,以计算各特征未考虑冗余性时的第一重要性评
分,生成第一重要性评分向量;
[0100]
引入冗余矩阵,并将所述第一重要性评分向量输入冗余信息最小化准则中,以对不同特征进行去冗余性修正,得到第二重要性向量。
[0101]
本发明实施装置还包括冗余矩阵构建模块,用于:
[0102]
将一特征在不同样本中的值进行归一化,以构建所述一特征的特征向量;
[0103]
计算两两特征的特征向量之间的内积,以构建所述两两特征之间的冗余矩阵。
[0104]
本发明实施装置中,所述冗余矩阵构建模块,用于:
[0105]
根据一特征在不同样本中的值,构建数据矩阵;
[0106]
利用中心化矩阵处理所述数据矩阵,得到与所述一特征对应的中心化后的特征向量。
[0107]
另外,在本发明实施例中所述装置的具体实施内容,在上面所述方法中已经详细说明了,故在此重复内容不再说明。
[0108]
图6示出了可以应用本发明实施例的示例性系统架构600。
[0109]
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605(仅仅是示例)。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0110]
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用。
[0111]
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,服务器605可以是提供各种服务的服务器。
[0112]
需要说明的是,本发明实施例所提供的方法一般由服务器605执行,相应地,装置一般设置于服务器605中。
[0113]
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0114]
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0115]
如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram 703中,还存储有系统700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
[0116]
以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0117]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计
算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本发明的系统中限定的上述功能。
[0118]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0119]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0120]
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括特征确定模块、向量处理模块、特征选择模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,向量处理模块还可以被描述为“处理样本向量得到重要性评分向量的模块”。
[0121]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
[0122]
确定各样本中的特征,基于所有特征在各个样本中的值构建样本向量;其中,样本
为图像、文本、语音数据中的至少一种;
[0123]
利用全局冗余最小化的稀疏特征选择算法处理所述样本向量,得到重要性评分向量;其中,重要性评分向量包括各特征的重要性评分;
[0124]
从所述各特征的重要性评分中,提取重要性评分最大的预定数目个特征,以作为所选择的目标特征。
[0125]
根据本发明实施例的技术方案,提出一种通过全局冗余最小化的稀疏特征选择算法,以基于冗余矩阵刻对特征进行冗余性修正,且特征选择和特征冗余性最小化是同时进行优化求解的。
[0126]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1