一种基于最优重构的特征选择方法与流程

文档序号:11276256阅读:546来源:国知局
一种基于最优重构的特征选择方法与流程

本发明涉及数据挖掘技术领域,尤其涉及一种基于最优重构的特征选择方法。



背景技术:

在机器学习中,高维数据往往在数学和运算上难以高效处理。特征学习旨在寻求原始高维数据的低维表达形式。特征学习手段分为两种:特征抽取和特征选择。特征抽取将原始高维特征空间映射到低维子空间,在求得最优映射函数后,所有特征都需要参与特征变换以获得低维特征表达;而特征选择则直接从原始高维特征中选取低维子集并去除其它特征,不涉及特征计算,在求得最优特征位置后,直接可以从相应位置获得低维特征而不需要用到所有特征。由此可见,在实际应用中,特征选择方法的执行效率越高越常用。

目前的特征选择方法从特征的辨别性能出发设计目标函数,求取在稀疏性约束下从数据输入到判别输出的最优化线性映射模型,这种方法严重依赖于已标注数据的质量和规模。在实际应用中,数据标注费时费力、代价高昂,因此已标注数据的数量难以保证;另一方面,已标注数据相对于全量数据只占很小比重,已标注数据所服从的数据分布并不能全面反映全量数据的分布情况。因此,上述因素制约了特征选择的效果。



技术实现要素:

本发明的目的在于提供一种基于最优重构的特征选择方法,该方法无需对数据进行标注,全量数据都可以用来优化模型,从而保证了数据量;同时基于全量数据的特征选择能够全面反映“数据-特征”的真实二元分布,因此所选取的特征具有最优的表达性能。

针对上述目的,本发明所采用的技术方案为:

一种基于最优重构的特征选择方法,其步骤包括:

1)将数据集中每个原始特征为d维的数据表示为数据矩阵x,其中d>1;

2)对上述数据矩阵x建立最优化线性重构模型,且该模型最优化目标为表示矩阵b;

3)将上述数据矩阵x进行转置得到特征矩阵f,并将表示矩阵b进行清零;

4)利用迭代交替优化的方式对上述经过步骤3)的最优化线性重构模型进行求解,得到最优表示矩阵b*

5)根据最优表示矩阵b*选取能够表示全部d维特征的最优k维特征子集,其中k<d。

进一步地,步骤2)中所述表示矩阵b的矩阵化表示形式为:

其中‖(fb-f)t‖2,1表示重构误差,且bi(1≤i≤d)为表示矩阵b的第i列向量,fi(1≤i≤d)为特征矩阵f的第i列向量;‖b‖2,1是保证行稀疏性的正则项,β是调节重构误差和行稀疏性两者比重的参数。

进一步地,步骤4)中所述迭代交替优化的方式是指循环执行以下步骤直至算法收敛,得到最优表示矩阵b*;其步骤为:

4-1)计算对角矩阵其第i个对角元素为:pii=1/(2‖fbi-fi‖2);其中bi(1≤i≤d)为表示矩阵b的第i列向量,fi(1≤i≤d)为特征矩阵f的第i列向量;

4-2)计算对角矩阵其第i个对角元素为:qii=1/(2‖bi‖2);其中bi(1≤i≤d)为表示矩阵b的第i行向量;

4-3)更新上述表示矩阵b,其第i列向量为:bi=pii(piiftf+βq)-1ftfi;其中β是调节重构误差和行稀疏性两者比重的参数;

4-4)当算法收敛条件c收敛时,则迭代结束并返回最优表示矩阵b*

更进一步地,步骤4-3)中对表示矩阵b采用逐行求解的方法得到解析解。

更进一步地,步骤4-4)中判断所述算法收敛条件c是否收敛的方法包括但不限于:计算前后两轮迭代所得表示矩阵b的差,记为δb;当时算法收敛;其中为frobenius范数,t是根据经验设定的阈值。

进一步地,步骤5)具体包括:

5-1)对上述最优表示矩阵b*的元素取绝对值,得到abs(b*);

5-2)对上述abs(b*)按行求和,得到指示向量idx;

5-3)选取上述指示向量idx的前k个大的元素,则该k个元素对应的特征组成的集合即为能够表示全部d维特征的最优k维特征子集。

本发明的有益效果在于:本发明提供一种基于最优重构的特征选择方法,该方法从特征的表达性能出发设计目标函数,求取在稀疏性约束下特征重构的最优化线性重构模型,也即求取能够线性重构原始特征的最优特征子集。同时该方法不依赖于特定的数据标注,有效利用全量数据,将特征选择问题定义为最优化线性重构问题,利用自动化方法学习表示矩阵的稀疏表达,并利用迭代交替优化的方式实现最优化线性重构模型的高效求解,确保每一步优化具有解析解,从而有效提高求解效率、降低运算复杂度。并且通过对全量数据整体分布的建模,获得能够全面表达“数据-特征”二元分布的最优特征子集,从而在对高维原始特征进行降维的同时保证了低维特征子集的最优表达性能。

附图说明

图1是本发明提供的一种基于最优重构的特征选择方法流程图。

图2是本发明提供的一实施例的一种基于最优重构的特征选择方法具体流程图。

具体实施方式

为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。

本发明申请文件中,符号表示规则为:矩阵表示为加粗大写字母,向量表示为加粗小写字母,标量表示为常规字母。给定矩阵m=[mij],该矩阵第i行向量和第j列向量分别表示为mi和mj。且向量的lp-范式定义为:

矩阵的l2,1-范式定义为:

本发明提供一种基于最优重构的特征选择方法,如图1所示,其步骤包括:

1)将数据集中每个原始特征为d维的数据表示为数据矩阵x,其中d>1。

假设数据集包含n个数据,每个数据原始特征为d维,即每个数据xi(1≤i≤n)可以表示为一个d维特征向量,则数据矩阵可以表示为为了实现特征降维,需要从原始d个特征中选取k(k<d)个。

2)对上述数据矩阵x建立最优化线性重构模型,且该模型最优化目标为表示矩阵b;并对数据矩阵x和表示矩阵b进行初始化。

本发明方法将特征选择问题建模为一个最优化线性重构模型,该模型选取能够表示全部d维特征的最优k维特征子集。将上述数据矩阵x进行转置,得到特征矩阵特征矩阵中每个列向量fi(1≤i≤d)对应于以n个数据为基向量张成的n维空间中的点。并且对表示矩阵b进行清零。本发明方法的最优化目标是求取表示矩阵使得:

(3)式中,表示重构误差,其中bi(1≤i≤d)为表示矩阵b的第i列向量,fi(1≤i≤d)为特征矩阵f的第i列向量;‖b‖2,1是用来保证行稀疏性的正则项(行稀疏性使得b的行向量大都为零向量,从而达到特征选择的目的),β是调节重构误差和行稀疏性两者比重的参数。

(3)式的矩阵化表示形式为:

3)利用迭代交替优化的方式对上述最优化线性重构模型进行求解,得到最优表示矩阵b*。本发明方法通过引入辅助向量p和q,可以得到增广的代价函数:

(5)式中,tr()为矩阵的迹,为矩阵主对角线上各个元素的总和,(fb-f)p(fb-f)t和btqb是矩阵的相乘操作,β是调节重构误差和行稀疏性两者比重的参数。p和q是对角矩阵,对角元素分别为:

(8)式中,bi(1≤i≤d)为表示矩阵b的第i列向量,fi(1≤i≤d)为特征矩阵f的第i列向量;(9)式中bi(1≤i≤d)为表示矩阵b的第i行向量。

固定向量p和q,表示矩阵b可由下式计算:

对b求导,并令导数为零:

根据(11)式,表示矩阵b的解析解无法直接获得。本发明采用逐行求解的方法,对第i(1≤i≤d)列,(11)式可以改写为如下的列向量形式:

piiftfbi+βqbi-piiftfi=0(12)

根据(12)式,表示矩阵b的第i列的解析解为:

bi=pii(piiftf+βq)-1ftfi(13)

综上,求解最优表示矩阵b*的过程为:通过交替优化(6)、(7)、(13)并循环迭代直至算法收敛条件c收敛(即利用迭代交替优化的方式),此时得到最优表示矩阵b*。其中判断所述算法收敛条件c是否收敛的方法包括但不限于:计算前后两轮迭代所得表示矩阵b的差,记为δb;当时收敛;其中t是根据经验设定的阈值,f是frobenius的缩写。也即当前后两轮迭代所得表示矩阵b的差的frobenius范数小于阈值后,算法收敛。

4)根据最优表示矩阵b*选取能够表示全部d维特征的最优k维特征子集,其中k<d。

根据最优表示矩阵b*,选择k维特征的具体过程为:

4-1)对最优表示矩阵b*的元素取绝对值,得到abs(b*)。

4-2)对abs(b*)按行求和,得到指示向量idx。

4-3)选取指示向量idx的前k个大的元素,则该k个元素对应的特征即为选出的基于最优重构的k维特征,k个元素对应的特征组成的集合也即选取的能够表示全部d维特征的最优k维特征子集。

下面为一具体实施例来解释说明本发明。

本发明提供的一实施例的一种基于最优重构的特征选择方法具体流程图如图2所示,其步骤包括:

1)输入已知的数据矩阵选择特征数k。

2)对上述数据矩阵x和表示矩阵b(最优化线性重构模型的最优化目标)进行初始化,即将数据矩阵x进行转置得到特征矩阵将表示矩阵b进行清零得到

3)将上述表示矩阵b最优化,得到最优表示矩阵b*;即循环执行步骤3-1)至步骤3-4)直至算法收敛。

3-1)计算对角矩阵其第i个对角元素为:pii=1/(2‖fbi-fi‖2);其中bi(1≤i≤d)为表示矩阵b的第i列向量,fi(1≤i≤d)为特征矩阵f的第i列向量;

3-2)计算对角矩阵其第i个对角元素为:qii=1/(2‖bi‖2);其中bi(1≤i≤d)为表示矩阵b的第i行向量;

3-3)更新表示矩阵b,其第i列向量为:bi=pii(piiftf+βq)-1ftfi;其中β是调节重构误差和行稀疏性两者比重的参数;

3-4)计算算法收敛条件当c收敛时迭代结束,返回最优表示矩阵b*

4)根据上述最优表示矩阵b*进行特征选择,其具体包括以下步骤:

4-1)对上述最优表示矩阵b*的元素取绝对值,得到abs(b*)。

4-2)对abs(b*)按行求和,得到指示向量idx。

4-3)对指示向量idx的元素值按照从大到小排序,前k个元素对应的特征即为选出的基于最优重构的k维特征,即选取的能够表示全部d维特征的最优k维特征子集。

5)输出降维后的数据矩阵(即选取的最优k维特征子集):

以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1