本公开涉及数据挖掘技术领域,更特别地涉及一种用于在神经网络中进行特征选择的方法和设备以及一种用于构建用于进行特征选择的神经网络的方法和设备。
背景技术:
在大数据时代,可以通过各种数据采集途径获得大量的数据,采集到的数据通常具有非常大的特征维度。然而,在针对采集的数据进行数据挖掘时,并不是所有的特征对于数据挖掘都是有利的。这些特征中有些特征可能是冗余的,而有些特征甚至会对数据挖掘起阻碍作用。因此,需要进行这些特征进行特征选择,以去掉数据中的冗余特征和阻碍特征,从而提高数据挖掘的效率,提升信息提取的效果。
在进行数据挖掘时,可以采用神经网络进行特征提取。神经网络是一种通过对人脑的基本单元——神经元的建模和联接,探索模拟人脑神经系统功能的模型,并研制出一种具有学习、联想、记忆和模式识别等智能信息处理功能的人工系统。基于神经网络,可以对众多特征进行提取和选择,以得到期望特征。
在中国专利申请公开cn1945602a中公开了一种基于神经网络的特征选择技术,其中通过针对神经网络的中间层设置稀疏性约束,使用用户提供的数据集对带有模糊映射层的人工神经网络进行训练,再借助训练好的人工神经网络计算所有特征的重要性度量,来实现特征选择的目的。然而由于该方案是借助训练好的人工神经网络计算所有特征的重要性度量,然后再对特征进行排序和选择,所以该方法的特征选择效率较低。
在中国专利申请cn201410834973.5中公开另一种基于神经网络的特征选择技术,其中通过对神经网络的输入层添加稀疏性约束来在实现人工神经网络进行训练的同时,得到特征选择结果,以提高对人工神经网络进行特征选择的效率。在该技术方案中是基于针对神经网络的输入节点采用l1型惩罚或者分组l1型惩罚来构建神经网络。然而这对于神经网络的损失函数而言仍是一种挑战,这是因为其不但复杂,而且是非线性、非凸问题,这将会造成求解难,效率低。
为此,在现有技术中存在针对特征选择技术的方案进行改进的需要。
技术实现要素:
有鉴于此,公开了一种用于在神经网络中进行特征选择的技术方案以及用于构建用于特征选择的神经网络的方法和设备,以至少部分上消除或者缓解上述问题。
根据本公开的第一方面,提供了一种用于在神经网络中进行特征选择的方法。该方法包括:接收包含待在神经网络中进行特征选择的特征的训练集,所述神经网络包括输入层、中间层、输出层以及连接在所述输入层和所述中间层之间的稀疏层;以及通过所述训练集对所述神经网络进行训练,以确定所述神经网络中的输入层、稀疏层、中间层和输出层之间的连接权重,其中针对所述稀疏层设置有稀疏性约束,用以对与所述稀疏层连接的输入层的节点进行选择。
根据本公开的第二方面,提供了一种构建用于特征选择的神经网络的方法。所述方法包括根据待进行特征选择的特征和输出目标,构造神经网络的输入层、中间层和输出层;以及在所述输入层与所述中间层之间构造稀疏层,所述稀疏层连接在输入层与中间层之间,且针对所述稀疏层设置稀疏性约束,用以对与所述稀疏层连接的所述输入层的节点进行选择。
根据本公开的第三方面,提供了一种用于在神经网络中进行特征选择的设备。该设备包括:特征接收模块,被配置为接收包含待在神经网络中进行特征选择的特征的训练集,所述神经网络包括输入层、中间层、输出层以及连接在所述输入层和所述中间层之间的稀疏层;以及训练执行模块,被配置为通过所述训练集对所述神经网络进行训练,以确定所述神经网络中的输入层、稀疏层、中间层和输出层之间的连接权重,其中针对所述稀疏层设置有稀疏性约束,用以对与所述稀疏层连接的所述输入层的节点进行选择。
根据本公开的第四方面,提供了一种构建用于特征选择的神经网络的设备。所述设备包括:网络构造模块,被配置为根据待进行特征选择的特征和输出目标,构造神经网络的输入层、中间层和输出层;以及稀疏层构造模块,被配置为在所述输入层与所述中间层之间构造稀疏层,所述稀疏层连接在输入层与中间层之间,且针对所述稀疏层设置稀疏性约束,用以对与所述稀疏层连接的所述输入层的节点进行选择。
根据本公开的第五方面,提供了一种计算程序产品,其上包括有计算机程序代码,当被加载到计算机设备中时,其可以使得该计算机设备执行根据本公开的第一方面的方法。
根据本公开的第六方面,提供了一种计算程序产品,其上包括有计算机程序代码,当被加载到计算机设备中时,其可以使得该计算机设备执行根据本公开的第二方面的方法。
根据本公开的第七方面,还提供一种用于在神经网络中进行特征选择的系统,所述设备包括存储器,和处理器,所述处理器可以被配置为执行根据本公开的第一方面的方法。
根据本公开的第八方面,还提供一种构建用于特征选择的神经网络的系统,所述设备包括存储器,和处理器,所述处理器可以被配置为执行根据本公开的第二方面的方法。
根据本公开的实施方式,在输入层与中间层之间加入稀疏层,并针对所述稀疏层设置稀疏性约束,从而可以在支持特征选择的同时,以更加高效、更加有效地训练神经网络,进而可以提高经过训练后的神经网络的可靠性和预测准确度。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开的附图中相同的标号表示相同或相似的部件。在附图中:
图1示意性地示出了根据本公开的一个实施方式的构建用于特征选择的神经网络的方法的流程图;
图2示意性地示出了根据本公开的一个实施方式的用于单特征选择的神经网络的示意图;
图3示意性地示出了根据本公开的一个实施方式的用于特征组选择的神经网络的示意图;
图4示意性地示出了根据本公开的一个实施方式的用于在神经网络中进行特征选择的方法的流程图;
图5示意性地示出了根据本公开的一个实施方式的用于神经网络训练的训练集的示意图;
图6示意性地示出了根据本公开的一个实施方式的利用神经网络进行单个特征选择的示意图;
图7示意性地示出了根据本公开的一个实施方式的利用神经网络进行特征组选择的示意图;
图8示意性地示出了根据本公开的一个实施方式的用于构建用于特征选择的神经网络的设备的方框图;以及
图9示意性地示出了根据本公开的一个实施方式的用于在神经网络中进行特征选择的设备的方框图。
具体实施方式
在下文中,将参考附图详细描述本公开的各个示例性实施方式。应当注意,这些附图和描述涉及的仅仅是作为示例的优选实施方式。可以应该指出的是,根据随后的描述,很容易设想出此处公开的结构和方法的替换实施方式,并且可以在不脱离本公开要求保护的公开的原理的情况下使用这些替代实施方式。
应当理解,给出这些示例性实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。此外在附图中,出于说明的目的,将可选的步骤、模块、模块等以虚线框示出。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
出于说明的目的,在具体描述本公开之前,将首先对神经网络进行简要描述。神经网络是由大量、简单的处理单元(称作神经元)广泛地相互连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统。神经网络的拓扑结构通常包括输入层、一层或多层中间层(或隐含层)以及输出层。输入层负责接收输入数据(输入因子),并通过激励函数将其输出到中间层。神经网络可以包含一个或多个中间层,每个中间层包括若干神经元。神经元是一个多输入单输出信息处理单元,用于对输入的信息进行非线性处理。简而言之,中间层负责接收输入层的输出,并经过激励函数而将其输出到输出层。需要说明的是,中间层的神经元并不能从系统外部观察到,也就是说,从外部无法感觉到神经元的存在。输出层负责接收中间层的输出,并通过激励函数产生整个网络的输出结果。
然而,如前所述,在现有技术中的特征选择技术并不太理想,其目标函数复杂、难以求解,选择效率较低。针对此问题,在本公开中提出一种新的技术方案,该方案中,将在输入层与中间层之间加入稀疏层,并针对所述稀疏层设置稀疏性约束。根据该方案,可以在支持特征选择的同时,以更加高效、更加有效地训练神经网络,进而可以提高经过训练后的神经网络的预测精度。
在下文中,将参考附图对根据本公开的实施方式的用于构建用于特征选择的神经网络和用于在神经网络中执行特征选择的方法和设备进行详细描述。然而,需要说明的是,这些描述是仅仅是出于说明的目的,本公开并不局限于这些实施方式和附图中的细节。此外,在下面的描述中,将主要参考空气质量数据挖掘相关应用,对本公开的实施方式进行描述。然而需要说明的是,本公开也可能应用在其他数据挖掘应用中,例如气候数据挖掘、交通流量数据挖掘等。
图1示意性地示出了根据本公开的一个实施方式的用于构建用于特征选择的神经网络的方法的流程图。如图1所示,首先在步骤s101,根据待特征选择的特征和输出目标情况,构造神经网络的输入层、中间层和输出层。
人工神经网络是一种具有特征学习能力的网络系统,在将神经网络投入使用之前,需要利用训练集对其进行训练。训练集可以是从整个历史时间序列数据中采样得到的数据,其例如是由数据监测设备采集的一系列数据,诸如是气象数据、空气质量数据、交通数据、人口密度数据、污染源数据等的时间序列。训练数据例如包括输出目标数据以及特征数据(或者影响因素数据)。输出目标是与预测对象对应的数据,例如在pm2.5预测的场景下,目标数据是pm2.5。特征数据或者影响因素是影响目标数据的特征或者因素,例如在pm2.5预测的场景下,影响因素可以是空气质量因素诸如co、so2,交通状况等。
对于给定的预测应用,可以根据相关训练集中的特征数据和目标数据的情况来构建用于进行特征选择的神经网络。对于不同的预测应用,训练集中包含的特征数据和输出目标是不一样的。根据特征数据的数目,即进行特征选择的特征的数目,可以确定出输入层的节点数目,而根据输出目标的数据,可以确定出输出层节点的数目。此外,可以根据实际应用需求和情况在输入层和输出层之间加入一个或多个中间层。
接着在步骤s102,可以在所述输入层与所述中间层之间构造稀疏层。所述稀疏层连接在所述输入层与所述中间层之间,且针对所述稀疏层设置稀疏性约束,用以对与所述稀疏层连接的所述输入层的节点进行选择。
稀疏层是插入在中间层与输入层之间的一个额外层,通过设置针对稀疏层的稀疏性约束,可以允许在执行网络训练时对与该稀疏层连接的输入层节点进行选择。换句话说,通过稀疏性约束,可以将稀疏层的输出限制为仅仅与输入层的部分节点相关。需要说明的是,尽管在本公开中,将稀疏层描述为独立于输入层和中间层之间的额外层,但是实际上也可以将其理解为一个附加的输入处理层,或者作为中间层的第一层的中间预处理层,只要并不脱离本发明的思想。
图2示意性地示出了根据本公开的一个实施方式的用于单特征选择的神经网络的示意图。如图2所示,该神经网络包括输入层、若干中间层以及输出增,并且特别的是在输入层和中间层之间添加了附加稀疏层,而且该稀疏层和输入层具有相同数目的节点,且与输入层之间采取单连接方式,即一对一连接方式,也就是说,除了偏置节点外,输入层中的每个节点仅与稀疏层中的一个节点连接,而稀疏层的节点也同样仅仅与输入层的一个节点连接。这样,稀疏层就成为神经网络的层1,而输入层则变为神经网络的层0。在图2中,nl指示除稀疏层或者除输入层以外的神经网络的层数,ll指示层l,sl指示层l的节点数目。
该神经网络具有参数
因此,在该图2中,神经网络实际上包括nl+1层,即一个输入层、一个稀疏层、nl-2个中间层以及一个输出层。输入层、稀疏层和中间层包括一个偏置节点“+1”。在不计算偏置节点的情况下,输入层包括s1个节点,其中节点x1至xs1为与输入特征对应的s1个输入层节点;稀疏层同样包括s1个节点,其中s1个节点与输入层的节点x1至xs1以一一对应方式连接。中间层具有si个节点,其中i指示中间层的层索引i=2至(nl-1)。中间层与稀疏层结构类似,在稀疏层与中间层之间按照全连接方式连接,而中间层的各层之间以及最后一个中间层与输出层之间都是全连接方式连接。输出层包括sn1个节点,其对应于输出目标。
因此,在图2所示的神经网络中添加了附加稀疏层,而且该稀疏层和输入层具有相同数目的节点,且与输入层之间采取单连接方式,即一对一连接方式。在输入层与稀疏层之间的连接权重矩阵可以表示为w(0),该连接权重矩阵是一个对角矩阵,其可以被表示为:
w(0)=diag(w11(0),w22(0),...,ws1s1(0))(式1)
其中w11(0),w22(0),...,ws1s1(0)在神经网络初始化时被赋予相同值。而且,与现有技术中的神经网络不同,针对稀疏层其设置稀疏性约束,以便使得所述稀疏性约束能够限制输入的特征选择。该稀疏性约束例如可以作为稀疏性约束的目标函数的一部分。
对于图2中示出的网络结构,可以采用任何结合有稀疏性约束的目标函数。在一个实施方式,该稀疏性约束可以是基于kl距离的kl约束,而目标函数可以采用下面的优化函数:
其中:
j(w,b)表示优化函数,w表示神经网络中的各个层至下一层的连接权重,b表示神经网络中各层的偏置节点的偏置值或者偏置系数;
在根据本发明的一个实施方式中,
其中
其中ρ如前所示指示预定的稀疏化参数,它通常是接近于0的一个很小的值,例如0.05。kl散度约束将使得在稀疏层中的每个节点j的平均激活值接近于预定的稀疏化参数ρ。鉴于在该神经网络结构中,稀疏层中的节点j与输入层中的节点j具有单连接,因而为了满足稀疏性约束,稀疏层中的一些节点的激活值必须接近于零,因此对这些节点对应的输入层的节点就可以从神经网络中移除,进而实现特征选择。这样在训练的过程中,就可以将一些不相关的特征忽略而揭露出与目标相关的主要特征。此外,在采用kl距离约束的情况下,针对上述问题可以利用后向传播算法来求解,因而可以以高效、有效地方式执行网络训练和特征选择。
然而,需要说明的是,尽管在上面的实施方式中将稀疏性约束描述为kl距离约束,并且给出了其具体实施方式,但是本领域技术人员可以理解,稀疏性约束并不限于kl距离约束,并且kl距离约束也并不局限于上面给出的实例,而是可以根据此处的教导采用任何其他适当的稀疏性约束。
此外,在图3中还示意性地示出了根据本公开的一个实施方式的用于特征组选择的神经网络的示意图。与图2中的神经网络结构类似,图3中的神经网络中也在输入层和中间层之间加入了稀疏层并设置了稀疏性约束。但不同之处在于,在图3中对输入节点进行了特征分组,并且因而输入节点和稀疏层之间具有不同的连接关系。如图3所示,输入节点被划分为n个特征组,其中n的值与稀疏层除偏置节点外的节点数目s1相同,即n=s1;而且每个特征组i的特征数目为gi,其中i为1至n。每个特征组中的所有特征连接到稀疏层中的同一个节点。然而,尽管在图3中,输入层中接收一个特征组中特征的所有节点都连接到稀疏层的同一节点,但是输入层的每个节点仅仅连接到稀疏层的一个节点,因而就每个维度而言,特征仍然是单连接的。
对该图3中示出的神经网络,可以采用与前面的式2和式3给出的目标函数和稀疏性约束类似的目标函数和系数性约束。然而,由于输入层和系数层之间的连接关系不同,其连接权重矩阵与图2中的w(0)是不同形式,其可以例如通过下面的式子表示:
因此,很清楚该连接权重矩阵并非是对角矩阵,而其中所有非零元素在初始化时被设置为相同值。此外,由于该连接权重矩阵不同,在这种情况下,上面式3中的
其中
根据本公开的实施方式,在输入层与中间层之间加入稀疏层,并针对所述稀疏层设置稀疏性约束,从而可以在支持特征选择的同时,以更加高效、更加有效地训练神经网络,进而可以提高经过训练后的神经网络的可靠性和预测准确度。
图4示意性地示出了根据本公开的一个实施方式的用于在神经网络中进行特征选择的方法的流程图。如图4所示,首先在步骤401,接收包含待在神经网络中进行特征选择的特征的训练集。所述神经网络如前所述包括输入层、中间层、输出层以及连接在所述输入层和所述中间层之间的稀疏层。
在对人工神经网络训练前,需要对采集数据或者样本集中的样本特征进行数据标准化,采用标准化之后的特征进行训练。采集数据例如可以包括气象数据和空气质量数据,并且还可以包括交通数据、人口密度数据和污染源数据中的至少一项。对于采集的数据,首先对数据进行预处理。例如可以将其归一化为具有相同时间尺度的数据序列,然后例如通过差分处理对其执行平稳化处理,接着例如基于时长和时间滞后约束将其转化为样本序列。
然后在步骤s402,通过所述训练集对所述神经网络进行训练,以确定所述神经网络中的输入层、稀疏层、中间层和输出层之间的连接权重,其中针对所述稀疏层设置有稀疏性约束,用以对与所述稀疏层连接的输入层的节点进行选择。如前所述,针对所述稀疏层设置有稀疏性约束,利用训练集来训练神经网络的过程可以在稀疏层的约束下进行。也就是说训练过程中采用的目标函数可以包含该稀疏性约束。在一个实施方式中,其目标函数式可以是式2所示的目标函数,且稀疏性约束例如可以是kl距离约束,其例如可以由式3来表示。
根据是否需要进行特征组选择,可以采用不同的神经网络结构。如果仅仅进行特征选择,则神经网络的输入层节点和新增的稀疏层之间可以采用一对一关系连接。而如果期望进行特征组选择,则神经网络的输入层节点与稀疏层节点可以采用多对一方式连接,即输入层中与被划分为一个特征组的特征对应的多个节点与稀疏层中的同一节点相连。在这两种情况下,实际上真正不同的是的输入层与系数层之间的连接权重矩阵w(0),分别如式1和式4所示。经过神经网络经过训练后可以确定出所述神经网络中的输入层、稀疏层、中间层和输出层之间的连接权重,并且同时可以选择出对于输出目标重要的特征或者特征组。
在下文中出于说明的目的,将从参考图5至图7来描述特征选择的实例。然而需要说明的是,该实例仅仅是出于说明的目的,本发明并不局限于此,而是如前所述,可以应用于各种应用中,例如空气质量数据挖掘、气候数据挖掘、交通流量数据挖掘等。
在获得采集数据后,首先对采集数据进行预处理,并确定待进行选择特征和输出目标,选择训练样本。具体操作将在下面陈述。
特征向量选取
待选择特征可以包括多种,例如可以采用特征向量的形式来进行表示。举例而言,可以将距离某一站点最邻近的a个站点(不包括该站点本身)的前t个小时(包含当前小时)的下列信息作为待选择的特征,
(1)该站点与a个最邻近站点的空间距离信息:原始距离(即经纬度距离),网格编号横向距离(分为dx+,和dx-,例如100和98的dx+=2,dx-=0),网格编号纵向距离(分为dy+,和dy-,例如107和113的dy+=0,dy-=6),共a*5维;
(2)该站点与a个最邻近站点前t个小时的下列信息:
co,no2,so2,o3,pm10,pm2.5,湿度,温度,风向,风力,x+,x-,y+,y-,共a*t*14维。
因此,基于上述项目(1)和(2)的待选择特征共计a*5+a*t*14维(a暂定取5,t暂定取6)。
此外,还可以考虑该站点自己的静态特征和动态特征。动态特征包括18个土地利用特征+人口,共18维;动态特征包括该站点自己前b个小时(包含当前小时)的交通量traffic(t-b),共b维(b暂定取6)。这些动态和静态特征也可以作为待选择特征。
在实际应用场景中,可以选择与该站点相关的以上的各种信息的全部或一部分,或者新增更多相关信息,来作为人工神经网络中待选择的特征(也即输入特征)。
目标向量选取
对于每个已标注的训练数据(labeledtrainingdata)如35*1560个点的数据,其标签(label)即输出向量描述,可以包括例如某一时刻后p个小时(包含当前小时)的下列信息:
co,no2,so2,o3,pm10,pm2.5,共6*p维,其中p暂定取25,且当前小时的值用来做插值,未来24个小时的值用来做预测。
图5示意性地示出了根据本公开的一个实施方式的用于执行神经网络训练的训练集的示意图。其中x1~x5是5个训练样本的特征向量,y1~y5是5个训练样本的目标向量,co(t)(i1)、co(t-1)(i1)、co(t-2)(i1)、....、traffic(t)、traffic(t-1)、traffic(t-2)等是每个训练样本的待选择特征,pm2.5(t+5)是训练样本的输出目标。此外,出于简易说明的目的,通过带点的图片示意性地示出特征向量x1~x5与输出y1~y5之间的输出关系,其中点的密度指示pm2.5的值,密度越大,pm2.5的值越高。
特征选择执行
图6示意性地示出了根据本公开的一个实施方式的利用神经网络进行单特征选择的示意图。如图6所示,首先利用图2中示出的神经网络结构进行单个特征的选择,即针对co(t)(i1)、co(t-1)(i1)、co(t-2)(i1)、....、traffic(t)、traffic(t-1)、traffic(t-2)的每个特征进行一一选择。通过训练数据对神经网络进行训练后,可以确定出w值和b值,同时可以确定出稀疏层的各个节点针对各个训练样本的“激活值”,如果稀疏层的某一个节点针对所有样本的“激活值”之和低于预定阈值,则将与连接到该节点的输入层节点对应的特征视为被剔除的与输出目标不相关的特征。如图6所示,traffic(t-1)对应的特征的“激活值”之和为2.8×10-7,近似为0,该特征即为在训练过程中被剔除的特征。这样,在训练结束时,事实上也完成了特征选择。
图7示意性地示出了根据本公开的一个实施方式的利用神经网络进行特征组选择的示意图。如图7所示,首先利用图3中示出的神经网络结构进行特征组的选择,在该图中,将co相关数据,即co(t)(i1)、co(t-1)(i1)、co(t-2)(i1)划分为一个特征组,将历史pm2.5数据,pm2.5(t-1)至pm2.5(t-t)划分为一个特征组,并且将历史交通数据划分为一个特征组。通过训练数据对神经网络进行训练后,可以确定出该神经网络的w值和b值,同时可以确定稀疏层的各个节点针对各个训练样本的“激活值”,如果稀疏层的某一个节点针对所有样本的“激活值”之和低于预定阈值,则将与连接到该节点的多个输入层节点对应的所有特征视为被剔除的与输出目标不相关的特征组。如图6所示,交通数据特征组的“激活值”之和为1.8×10-7,近似为0,因而该特征组即为在训练过程中被剔除的特征组。
此外,在本发明中还提供了构建用于特征选择的神经网络的设备以及用于在神经网络中进行特征选择的设备。在下文中,将参考图8和图9进行具体详细描述。
图8示意性地示出了根据本公开的一个实施方式的构建用于特征选择的神经网络的设备的方框图。如图8所示,800设备可以包括:网络构造模块810和稀疏层构造模块820。所述网络构造模块810被配置为根据待进行特征选择的特征和输出目标,构造神经网络的输入层、中间层和输出层。稀疏层构造模块820被配置为在所述输入层与所述中间层之间构造稀疏层,所述稀疏层连接在所述输入层与所述中间层之间,且针对所述稀疏层设置稀疏性约束,用以对与所述稀疏层连接的所述输入层的节点进行选择。
在根据本公开的实施方式中,所述神经网络可以被构造为使所述输入层的节点与所述稀疏层的节点按照一对一方式连接。在本公开的另一实施方式中,所述神经网络可以被构造为使得所述输入层中与被划分为相同特征组的多个待选择特征相关联的节点被连接到稀疏层中的同一节点。
在根据本公开的实施方式中,所述稀疏性约束可以为kl距离约束。所述kl距离约束可以被表示为:
其中,λ1指示预先确定的优化参数,j指示所述稀疏层的下一层的节点的索引,sl指示所述稀疏层的下一层的节点总数,ρ指示预定的稀疏化参数,
其中m指示训练样本的数目,
图9示意性地示出了根据本公开的一个实施方式的用于在神经网络中进行特征选择的设备的方框图。如图9所述,所述设备900包括数据接收模块910和训练执行模块920。所述数据接收模块910被配置为接收包含待在神经网络中进行特征选择的特征的训练集,所述神经网络包括输入层、中间层、输出层以及连接在所述输入层和所述中间层之间的稀疏层。所述训练执行模块920被配置为通过所述训练集对所述神经网络进行训练,以确定所述神经网络中的输入层、稀疏层、中间层和输出层之间的连接权重,其中针对所述稀疏层设置有稀疏性约束,用以对与所述稀疏层连接的输入层的节点进行选择。
在根据本公开的实施方式中,所述神经网络可以被构造为使所述输入层的节点与所述稀疏层的节点按照一对一方式连接。在本公开的另一实施方式中,所述神经网络可以被构造为使得所述输入层中与被划分为相同特征组的多个待选择特征相关联的节点被连接到稀疏层中的同一节点。
在根据本公开的实施方式中,所述稀疏性约束可以为kl距离约束。所述kl距离约束可以被表示为:
其中,λ1指示预先确定的优化参数,j指示所述稀疏层的下一层的节点的索引,sl指示所述稀疏层的下一层的节点总数,ρ指示预定的稀疏化参数,
其中m指示训练样本的数目,
需要说明的是,上面参考图8和9所描述的设备800和900中的各个模块可以被配置为执行与参考图1至图7所描述的方法相对应的操作。因此,此处不再详细描述设备800和900的各个模块的具体操作。关于这些模块的具体操作的细节,可以参考结合图1至图7针对相应方法的各个步骤进行的描述。
另外还需理解的是,本公开的实施方式可以以软件、硬件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和设备可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的设备及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
虽然已经参考目前考虑到的实施方式描述了本公开,但是应该理解本公开不限于所公开的实施方式。相反,本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。以下权利要求的范围符合最广泛解释,以便包含所有这样的修改及等同结构和功能。