***及其指标优化方法及装置
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种***及其指标优化方法及装置。
背景技术
随着时间的推移,一些***在实际应用过程中,其相关统计信息在不断累积丰富,而通过对统计信息的分析和处理,可能会发现需要有新指标添加进来并在此基础上重构***,以提升其性能。
而随着计算机网络及信息技术的不断发展变化,目前已有一些***具有自动构建新指标集的功能,这些新指标集可以帮助***适应新的变化,从而有利于提高***性能。但由于通常新指标集中的新指标的数量往往较大,而其中有些***(比如在线***)的资源有限,因而可能无法满足使用全部的新指标。在这种情况下,需要从新指标集里优选出最有效的指标,以便于实现以较少的指标集带来较大的***性能提升。
目前针对新指标优选的方法主要是将新指标集中所有新指标依次单独加入已有***的原指标集,重新训练,然后根据***性能的提升幅度来排序,并最终依据排序选择一部分新指标。
然而,本申请的发明人发现:上述方法需要逐个遍历新指标集中每一个新指标,非常耗时。同时,如果已有***已经较为复杂,新增的单个指标实际并不一定能够为该***带来实际的性能提升。有时候,***性能的抖动甚至可能是由于随机参数的选取造成的,因此,一般的,往往需要同时加入一组指标,才可能看到实际的效果。而按照现有技术从一个新指标集中优选一组指标的遍历复杂度是指数级的,这会占用太多的***资源,工程上几乎难以实施。
发明内容
本申请实施例的目的在于提供一种***及其指标优化方法及装置,以提高***指标优选效率,降低***性能的抖动。
为达到上述目的,一方面本申请实施例提供了一种***指标优化方法,包括以下步骤:
获取***的所有已用指标参数及其数值,以及所有待选用指标参数及其数值;
基于预设的数据降维算法将所述所有已用指标参数及其数值进行降维处理,获得对应的特征参数集及其数值;
以所述特征参数集的数值作为输入,并以所述所有待选用指标参数的数值作为目标输出,训练预设的机器学习模型,获得所述所有待选用指标参数的数值的预测值;
获取所述所有待选用指标参数中每个待选用指标的数值与其对应预测值的差异度量值;
选取出预设数量个其差异度量值最大的待选用指标作为所述***的新增指标。
另一方面,本申请实施例还提供了一种***指标优化装置,包括:
数据获取模块,用于获取***的所有已用指标参数及其数值,以及所有待选用指
标参数及其数值;
数据降维模块,用于基于预设的数据降维算法将所述所有已用指标参数及其数值进行降维处理,获得对应的特征参数集及其数值;
数据预测模块,用于以所述特征参数集的数值作为输入,并以所述所有待选用指标参数的数值作为目标输出,训练预设的机器学习模型,获得所述所有待选用指标参数的数值的预测值;
差异获取模块,用于获取所述所有待选用指标参数中每个待选用指标的数值与其对应预测值的差异度量值;
指标筛选模块,用于选取出预设数量个其差异度量值最大的待选用指标作为所述***的新增指标。
再一方面,本申请实施例还提供了一种***,其包括上述的***指标优化装置。
本申请实施例的***指标优化方案通过两次处理即完成对所有待选用新指标参数的评价,与现有技术要逐个遍历所有待选用指标参数中的每一个并分别进行单独评价相比,***指标参数优选的效率的得到极大的提升,同时,本申请实施例这种将所有待选用指标参数进行整体评价的方式,也避免了现有技术多次训练单一指标参数所带来的***性能随机抖动。一般的,在筛选出新增指标参数后,基于所有已用指标参数和新增指标而重新构建的***一般会更加有效,即实现了以尽可能少的新增指标参数带来尽可能大的***性能提升。
附图说明
此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:
图1为本申请实施例的***指标优化方法的流程图;
图2为本申请某些实施例的***指标优化装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。
下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。
参考图1所示,本申请实施例的***指标优化方法包括以下步骤:
步骤S101、获取***的所有已用指标参数及其数值,以及所有待选用指标参数及其数值。
本申请实施例中,***可以为在线***,也可以为离线***;所有已用指标参数是指当前已应用于衡量***性能的所有指标参数的集合;待选用指标参数为尚未应用于衡量***性能的所有待选指标参数的集合。
步骤S102、基于预设的数据降维算法将所述所有已用指标参数及其数值进行降维处理,获得对应的特征参数集及其数值。本申请实例中,将所述所有已用指标参数及其数值进行数据降维处理的目的之一在于消除数据冗余,减少被处理数据的数量。其中,所述特征参数集就是所述所有已用指标参数的特征映射,即所述特征参数集可以认为已经包含所述所有已用指标参数的所有特征。
本申请实施例中,其中特征参数集中的特征参数的数量可由用户预先设定。一般而言,特征参数集的数量依据数据集大小及输入指标参数数量多少来调整,数据集越大,指标参数数量越大,特征参数集可以越大。
在本申请的一个实施例中,所述数据降维算法例如可以为自动编码器(Autoencoder),这样,将所述所有已用指标参数同时作为所述自动编码器的输入节点和目标输出节点,并以所述所有已用指标参数的数值作为第一训练数据集,训练所述自动编码机,就可以获得对应的特征参数集及其数值。在本申请的另一个实施例中,所述数据降维算法还可以为核PCA(Kernel Principal Component Analysis,基于核的主成分分析)等。
步骤S103、以所述特征参数集的数值作为输入,并以所述所有待选用指标参数的数值作为目标输出,训练预设的机器学习模型,获得所述所有待选用指标参数的数值的预测值。
在本申请的一个实施例中,机器学习模型例如可以为深度神经网络,这样,将所述特征参数集及所述所有待选用指标参数对应作为所述深度神经网络的输入节点和目标输出节点,并将所述特征参数集的数值作为第二训练数据集,训练深度神经网络,就可以获得所述所有待选用指标参数的数值的预测值。在本申请的另一个实施例中,机器学习模型还可以为其它机器学习模型。
需要说明的是,在本申请实施例中,作为一种优选方式,当数据降维算法采用自动编码器,并且机器学习模型采用深度神经网络时,由于自动编码器和深度神经网络都属于神经网络类的算法,这样可以在相同或等同的参照系下,方便比较新旧指标参数的拟合程度,即在步骤S102中,进行数据降维处理的主要目的是训练目标的拟合程度(即实际预测结果与目标输出的吻合程度),以实现定量的评价特征参数集对所述所有已用指标参数的表达有效性。这样,再通过步骤S103的再次训练,就可以得到所述所有已用指标参数对所述所有待选用指标参数的表达有效性。并且,在步骤S103中使用所述所有已用指标参数的特征参数集作为输入节点而不是直接使用所述所有已用指标参数,还可以避免对述所有待选用指标参数的过度拟合而影响了机器学习模型的泛化能力(generalization ability)。
步骤S104、获取所述所有待选用指标参数中每个待选用指标的数值与其对应预测值的差异度量值。
在本申请一个实施例中,所述的差异度量值例如可以为残差平方和,在本申请另一实施例中,也可以采用其他的偏差计算方式(比如总体标准偏差等)。
步骤S105、选取出预设数量个其差异度量值最大的待选用指标作为所述***的新增指标。
在本申请另一实施例中,为了便于筛选,在步骤S105之前,还可以按照对应差异度量值的大小将所述所有待选用指标参数进行排序(比如由大到小排序)。
本申请实施例的***指标优化方法通过两次处理即完成对所有待选用新指标参数的评价,与现有技术要逐个遍历所有待选用指标参数中的每一个并分别进行单独评价相比,***指标参数优选的效率的得到极大的提升,同时,本申请实施例这种将所有待选用指标参数进行整体评价的方式,也避免了现有技术多次训练单一指标参数所带来的***性能随机抖动。一般的,在筛选出新增指标参数后,基于所有已用指标参数和新增指标而重新构建的***一般会更加有效,即实现了以尽可能少的新增指标参数带来尽可能大的***性能提升。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
为了便于理解,下面结合实例来说明书本申请实施例的***指标优化方法。
假设现有网络安全模型A一共使用了100个指标,记为X1-X100。现有新构造的150个指标,记为V1-V150,最终要求是从150个新构造的指标中选出10个最有效的指标Vx1-Vx10,使得利用指标集{X1-X100,Vx1-Vx10}训练出的网络安全模型更有效。其中,{Vxi}是{Vi}的子集。
另外,有数据集D(例如下表1所示),其中每一条数据(即指标值的每一列)均包含{X1-X100,V1-V150}共250个指标:
表1
其主要过程如下:
使用X1-X100同时作为自动编码机的输入节点和目标输出节点,X1-X100的数值作为训练数据集,训练自动编码机。获得所述X1-X100的特征参数集及其数值,假设特征参数集的编码数量(即特征参数)设置为50个,则特征参数集记为C1-C50。
另外,有数据集D’(例如下表2所示),其中每一条数据(即指标值的每一列)均包含{C1-C50,V1-V150}共200个指标:
表2
使用C1-C50作为深度神经网络的输入节点,V1-V150作为深度神经网络的目标输出节点,以C1-C50的数值作为训练数据集,训练深度神经网络。假设V1的取值分别为{B11,B12,…,B1N},训练出的深度神经网络对V1的预测值为{B11’,B12’,…,B1N’},则对V1的数值与其对应的预测值的残差平方和为:
以此类推,可以得到所有V1-V150的数值与其对应的预测值的残差平方和A1,A2,…,A150。在对A1,A2,…,A150进行排序后,取其中最大的10个值对应的待选用指标参数即可满足要求。
本申请的***包括***指标优化装置,一般的,本申请的***为在线***。参考图2所示,其中,该***指标优化装置包括:
数据获取模块21,用于获取***的所有已用指标参数及其数值,以及所有待选用指标参数及其数值。
本申请实施例中,***可以为在线***,也可以为离线***;所有已用指标参数是指当前已应用于衡量***性能的所有指标参数的集合;待选用指标参数为尚未应用于衡量***性能的所有待选指标参数的集合。
数据降维模块22,用于基于预设的数据降维算法将所述所有已用指标参数及其数值进行降维处理,获得对应的特征参数集及其数值。
本申请实例中,将所述所有已用指标参数及其数值进行数据降维处理的目的之一在于消除数据冗余,减少被处理数据的数量。其中,所述特征参数集就是所述所有已用指标参数的特征映射,即所述特征参数集可以认为已经包含所述所有已用指标参数的所有特征。
本申请实施例中,其中特征参数集中的特征参数的数量可由用户预先设定。一般而言,特征参数集的数量依据数据集大小及输入指标参数数量多少来调整,数据集越大,指标参数数量越大,特征参数集可以越大。
在本申请的一个实施例中,所述数据降维算法例如可以为自动编码器(Autoencoder),这样,将所述所有已用指标参数同时作为所述自动编码器的输入节点和目标输出节点,并以所述所有已用指标参数的数值作为第一训练数据集,训练所述自动编码机,就可以获得对应的特征参数集及其数值。在本申请的另一个实施例中,所述数据降维算法还可以为核PCA等。
数据预测模块23,用于以所述特征参数集的数值作为输入,并以所述所有待选用指标参数的数值作为目标输出,训练预设的机器学习模型,获得所述所有待选用指标参数的数值的预测值。
在本申请的一个实施例中,机器学习模型例如可以为深度神经网络,这样,将所述特征参数集及所述所有待选用指标参数对应作为所述深度神经网络的输入节点和目标输出节点,并将所述特征参数集的数值作为第二训练数据集,训练深度神经网络,就可以获得所述所有待选用指标参数的数值的预测值。在本申请的另一个实施例中,机器学习模型还可以为其它机器学习模型。
需要说明的是,在本申请实施例中,作为一种优选方式,当数据降维算法采用自动编码器,并且机器学习模型采用深度神经网络时,由于自动编码器和深度神经网络都属于神经网络类的算法,这样可以在相同或等同的参照系下,方便比较新旧指标参数的拟合程度,即通过数据降维模块22进行数据降维处理的主要目的是训练目标的拟合程度(即实际预测结果与目标输出的吻合程度),可以定量的评价特征参数集对所述所有已用指标参数的表达有效性。这样,再通过数据预测模块23的再次训练,就可以得到所述所有已用指标参数对所述所有待选用指标参数的表达有效性。并且,在数据预测模块23中使用所述所有已用指标参数的特征参数集作为输入节点而不是直接使用所述所有已用指标参数,还可以避免对述所有待选用指标参数的过度拟合而影响了机器学习模型的泛化能力。
差异获取模块24,用于获取所述所有待选用指标参数中每个待选用指标的数值与其对应预测值的差异度量值。
在本申请一个实施例中,所述的差异度量值例如可以为残差平方和,在本申请另一实施例中,也可以采用其他的偏差计算方式(比如总体标准偏差等)。
指标筛选模块25,用于选取出预设数量个其差异度量值最大的待选用指标作为所述***的新增指标。
在本申请另一实施例中,为了便于筛选,***指标优化装置还可以包括:
差异排序模块,用于在所述指标筛选模块选取出预设数量个其差异度量值最大的待选用指标作为所述***的新增指标之前,按照对应差异度量值的大小将所述所有待选用指标参数进行排序。
本申请实施例的***指标优化方案通过两次处理即完成对所有待选用新指标参数的评价,与现有技术要逐个遍历所有待选用指标参数中的每一个并分别进行单独评价相比,***指标参数优选的效率的得到极大的提升,同时,本申请实施例这种将所有待选用指标参数进行整体评价的方式,也避免了现有技术多次训练单一指标参数所带来的***性能随机抖动。一般的,在筛选出新增指标参数后,基于所有已用指标参数和新增指标而重新构建的***一般会更加有效,即实现了以尽可能少的新增指标参数带来尽可能大的***性能提升。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个模块中实现。
以上本申请实施例所描述的方法或装置可以直接嵌入可由处理器执行的软件模块中。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。