本发明属于工业过程建模技术领域,具体涉及一种基于l1和l2范数的简化宽度学习系统。
背景技术:
人工神经网络持续性的高速发展使数据分析达到了人们前所未有的高度,通过机器学习方法,一系列复杂工业过程的控制与优化的问题有了良好的解决方案。其中最热门的方法当属深度学习,然而深度学习的网络输入节点多,网络层次深。甚至为了提高准确度,更需要更多的网络层数和大量的超参数,不断地迭代运算。这对于算法的结构来讲,这种方法会使算法结构非常复杂,分析这种结构的工作将变得繁琐。对于训练来讲,大量的运算导致训练时间增加和对计算机计算能力要求持续的增加。
现有技术中出现了一种新的方法——宽度学习系统(bls),一种不需要深度结构的高效增量学习系统。宽度学习是一种用于替代深度学习的方法,不需要消耗大量的人力物力来优化大量的参数,其层数是单隐层,网络具有扁平化优点。宽度学习也不存在过多的层次数增加网络的复杂性,这样,系统所需的训练时间就非常的短。而且在有网络扩增需求时,宽度学习也可以通过增量学习快速重新搭建,这是深度学习所不能达到的。
bls及其变体在分类、回归、聚类和预测中表现优异,但是bls现阶段依旧存在一些问题。比如,在一些模型中存在着对预测结果作用较小的节点,甚至其中一部分对结果而言毫无作用。这样的节点存在于网络中,不但会使模型过于复杂导致训练过程耗时,并且存在降低模型泛化性的风险。这一问题阻碍了其在一些领域的发展与应用,因此寻找一种网络结构简化方法以提高训练效率同时使bls结构简化易于分析是很有必要的。
技术实现要素:
针对上述现有技术存在的问题,本发明提供一种基于l1和l2范数的简化宽度学习系统,该系统能有效简化宽度学习系统的网络结构,可有效去除与结果相关性低的节点,能适应复杂工业过程中相关指标的预测需求。
为了实现上述目的,本发明提供一种基于l1和l2范数的简化宽度学习系统,包括以下步骤:
步骤1:获取训练输入数据
其中,n1、n2分别为训练测试数据样本数目,t1、t2分别为输入和输出数据的维度;
步骤2:构建宽度模型;
步骤2.1:根据标准宽度学习系统,通过公式(1)计算第i个映射特征zi:
其中,权重
步骤2.2:根据公式(2)将n1组特征节点连接为一个整体;
步骤2.3:根据公式(3)由
其中,ξj是非线性激活函数,权重
步骤2.4:根据公式(4)连接所有hj得到增强层总输出;
hm@[h1,h2,...,hm](21);
步骤3:获取新的目标函数;
将l1和l2范数替换标准宽度学习系统目标函数
步骤4:对于新的目标函数,采用增广拉格朗日乘子法迭代求解输出权重w;
步骤5:根据公式(17)得到简化的宽度学习系统的输出y;
其中,wm为连接特征节点层与增强节点层到输出层的权值整体,由w连接所得。
在步骤三中,替换目标函数的正则项分为两种方法进行;当使用l1范数时,正则项λ||w||1替换正则项
当使用l1和l2组合范数时,正则项
其中λ1、λ2分别为l1和l2的正则项参数。
在步骤4中:当使用l1范数时,通过增广拉格朗日乘子法迭代优化来处理,先引入稀疏变量q代替w得到新的目标函数如公式(7)所示;
再使用增广拉格朗日乘子法得到目标函数如公式(8)所示;
其中,c是拉格朗日乘子,μ≥0是惩罚参数。
利用以下方法对原始变量w、q和c进行优化;
s1:固定其它变量,去除不相关项,对公式(9)进行求解;
其中,
w=(μi+2ata)-1(2aty+μf)(28);
s2:当w和c固定,去除不相关变项,优化问题转化为
s3:更新参数c,在每次迭代中c更新为:c+μ(q-w)。
在步骤4中:当使用l1和l2组合范数时,通过增广拉格朗日乘子法迭代优化来处理,先引入稀疏变量q代替w得到新的目标函数如公式(12)所示;
再使用增广拉格朗日乘子法得到目标函数如公式(13)所示;
其中,c是拉格朗日乘子,μ≥0是惩罚参数。
利用以下方法对原始变量w、q和c进行优化;
s1:固定其它变量,去除不相关项,对公式(14)进行求解;
其中
w=(μi+2λ2i+2ata)-1(2aty+μf)(33);
s2:当w和c固定,去除不相关项,将优化问题转化为
s3:更新参数c,在每次迭代中c更新为:c+μ(q-w)。
本发明先利用宽度学习系统基础框架,再利用lasso和elasticnet正则化技术,去除与结果相关性低的节点,保留与结果相关性高的节点,从而实现了宽度学习系统网络结构的简化。与原有的宽度学习系统相比,本发明在节点数量、预测精度方面有明显的优势。本发明使网络中与结果相关性低的节点数量有效减少,宽度学习系统的网络结构得到简化。
具体实施方式
下面结合实施例对本发明作进一步说明。
本发明提供一种基于l1和l2范数的简化宽度学习系统,包括以下步骤:
步骤1:获取训练输入数据
其中,n1、n2分别为训练测试数据样本数目,t1、t2分别为输入和输出数据的维度;
步骤2:构建宽度模型;
步骤2.1:根据标准宽度学习系统,通过公式(1)计算第i个映射特征zi:
其中,权重
步骤2.2:根据公式(2)将n1组特征节点连接为一个整体;
步骤2.3:根据公式(3)由
其中,ξj是非线性激活函数,权重
步骤2.4:根据公式(4)连接所有hj得到增强层总输出;
hm@[h1,h2,...,hm](38);
步骤3:获取新的目标函数;
将l1和l2范数替换标准宽度学习系统目标函数
步骤4:对于新的目标函数,采用增广拉格朗日乘子法迭代求解输出权重w;
步骤5:根据公式(17)得到简化的宽度学习系统的输出y;
其中,wm为连接特征节点层与增强节点层到输出层的权值整体,由w连接所得。
在步骤三中,替换目标函数的正则项分为两种方法进行;当使用l1范数时,正则项λ||w||1替换正则项
当使用l1和l2组合范数时,正则项
其中λ1、λ2分别为l1和l2的正则项参数。
在步骤4中:当使用l1范数时,通过增广拉格朗日乘子法迭代优化来处理,先引入稀疏变量q代替w得到新的目标函数如公式(7)所示;
再使用增广拉格朗日乘子法得到目标函数如公式(8)所示;
其中,c是拉格朗日乘子,μ≥0是惩罚参数。
利用以下方法对原始变量w、q和c进行优化;
s1:固定其它变量,去除不相关项,对公式(9)进行求解;
其中,
w=(μi+2ata)-1(2aty+μf)(45);
s2:当w和c固定,去除不相关变项,优化问题转化为
s3:更新参数c,在每次迭代中c更新为:c+μ(q-w)。
在步骤4中:当使用l1和l2组合范数时,通过增广拉格朗日乘子法迭代优化来处理,先引入稀疏变量q代替w得到新的目标函数如公式(12)所示;
再使用增广拉格朗日乘子法得到目标函数如公式(13)所示;
其中,c是拉格朗日乘子,μ≥0是惩罚参数。
利用以下方法对原始变量w、q和c进行优化;
s1:固定其它变量,去除不相关项,对公式(14)进行求解;
其中
w=(μi+2λ2i+2ata)-1(2aty+μf)(50);
s2:当w和c固定,去除不相关项,将优化问题转化为
s3:更新参数c,在每次迭代中c更新为:c+μ(q-w)。
为了方便表示将提出的网络结构简化的宽度学习系统简写为l1bls和enbls。
实施例:
为了展现本发明的优势之处,同时将bls、l1bls和enbls同时用于uci数据库中的4个不同数据集的预测任务。
abalone数据集是鲍鱼数据集,其中含有4177个样本,其中8个输入变量,将数据集分成2784个样本的训练集和1393个样本的测试集。
basketball数据集是篮球数据集,其中含有96个样本,其中4个输入变量,将数据集分成64个样本的训练集和32个样本的测试集。
heartdisease数据集是克利夫兰市的心脏病数据集,其中含有303个样本,其中13个输入变量,将数据集分成202个样本的训练集和101个样本的测试集。
quake数据集是地震数据集,其中含有2178个样本,其中3个输入变量,将数据集分成1452个样本的训练集和726个样本的测试集。
使用以上数据集对算法进行测试。为了模拟实际过程,在第二次测试中为每个数据集添加了30%的离群点。
为了便于比较,以均方根误差值作为判断标准(rootmeansquareerror,rmse),均方根误差如下:
其中,yk表示第k个测试数据输出的预测值,
采用网格搜索法确定正则化参数λ,确定条件为精度最高,搜索范围为{2-5,2-4,2-3,2-2,2-1,20,21,22,23,24,25}。
表1:应用原始数据集时,提出的l1bls、enbls与标准bls在rmse和节点数量上的表现
表1为应用原始数据集时,提出的l1bls、enbls与标准bls在rmse和节点数量上的表现。表中每个数据都是运行10次取平均值得到的。可以看出l1bls在节点数大幅度减少的情况下,精度仍然不低于bls;enbls在性能上明显优于bls。
表2:训练集加入30%离群点后,提出的l1bls、enbls与标准bls在rmse和节点数量上的表现
表2为训练集加入30%离群点后,提出的l1bls、enbls与标准bls在rmse和节点数量上的表现。表中每个数据都是运行10次取平均值得到的。可以看到在添加了离群点后,l1bls和enbls的性能与之前相仿,优于bls。