一种基于结构可调极限学习机的在线建模方法

文档序号:6321064阅读:144来源:国知局
专利名称:一种基于结构可调极限学习机的在线建模方法
技术领域
本发明属于自动控制、信息技术和先进制造领域,具体涉及在极限学习机的在线学习过程中调整其结构和参数以容纳新获得数据的方法。

背景技术
在面向实际工业过程检测、控制与优化的许多建模环境中,建模所需数据常常具有依次到达的特点。针对上述特点,学术界和工业界提出了在线建模方法(或在线学习方法),如RAN、RANEKF、MRAN、GAP-RBF、GGAP-RBF,此类方法可根据新产生的数据在线调整模型结构和参数,以容纳新数据信息,而无需针对已获得的所有数据重新建模。但上述方法大多存在待调节参数多、训练速度慢等不足,严重影响其实际应用效果。最近出现的OS-ELM方法虽然将待调节参数减少至一个,但是其缺乏结构可调性,使得其容纳新信息的能力相对有限,模型精度无法进一步提高。


发明内容
为解决上述在线建模难题,本发明提出一种基于结构可调极限学习机的在线建模方法(简称SAO-ELM)。在SAO-ELM中,网络的基本结构和ELM(Extreme Learning Machine极限学习机)网络相同,但其隐层节点数可在在线建模过程中进行调节。在建模过程中增加隐层节点的主要难点在于,SAO-ELM的训练目标是使得调整后的模型相对于所有训练数据的误差和达到最小,但在每次在线学习过程中,之前用过的训练数据必须丢弃,这使得新增隐层节点在那些已丢弃的数据上的输出未知。为此,本发明定义了类别球概念,用以包围所有已用过的训练数据,并随时记录且根据新增数据更新该球的球心和半径。增加隐层节点时,其激励函数选为高斯函数,然后选择适当的激励函数的中心和宽度,使得该节点在距类别球最近点的输出足够小,从而可将新增隐层节点在已丢弃的数据上的输出视为0。在上述条件下,可推导出增加隐层节点时的迭代式输出层权值更新公式,从而实现基于结构可调极限学习机的在线建模。
一种基于结构可调极限学习机的在线建模方法,其特征在于该方法是按照如下步骤实现的 步骤(1)模型选择和参数初始化 设置单隐层极限学习机的隐层节点数M,输入层节点个数与训练样本维数n相同,输出节点个数与训练目标的维数m相同; 隐层节点的激励函数G(ai,bi,x)采用高斯函数,随机确定每个隐层节点的中心ai和宽度bi,i=1,2,…M; 根据最初的N个样本

训练极限学习机,获得初始的隐层输出矩阵H0和输出层连接矩阵β0,其中, β0=(H0TH0)-1H0T0
初始化矩阵K,使得

计算

保存β0、K0和P0; 用一个类别球O包围初始训练样本集X0,使该球恰好将X0中的所有样本点包围在其内部,确定此球的球心C0和半径R0; 步骤(2)在线学习过程 新增训练数据x1=(xN+1,tN+1)到来时,按照如下步骤训练ELM,使其既能保存X0的知识,又可以容纳x1所包含的新知识 步骤(2.1)维持网络结构不变,仅根据x1调整输出层连接矩阵β0,更新后的输出层权值连接矩阵为β1,同时更新矩阵K0和P0为K1和P1, 其中,H1和T1分别为ELM对新样本x1的隐层输出矩阵和训练目标矩阵,即 H1=[G(a1,b1,xN+1)…G(aM,bM,xN+1)]1×M 步骤(2.2)计算调整参数后的ELM对新增样本x1的训练误差e,判断新样本x1是否在球O外,若在球O外且e大于设定阈值,放弃上述所有调整,转向步骤(2.3),否则,转向步骤(3); 步骤(2.3)增加一个隐层节点,设定其中心a为x1,宽度b由下式确定,即 其中,ε为预设定的阈值,xc为类别球O上距新样本点x1最近点的坐标,可由下式确定 xc=xo+λ1(xa-xo) 其中,xo为球O的球心坐标,λ1可由下式确定 上式中的xa即为新样本点x1的坐标;重新调整输出层连接矩阵β0为β1,并相应地更新矩阵K0和P0为K1和P1,使得 其中,H01和H11分别为新增隐层节点对原样本集X0和新样本点x1的隐层输出矩阵,即

N1和L分别为x1中的样本点个数和新增隐层节点个数,本方法仅考虑新样本点逐个到达的情况,故N1=L=1; 步骤(3)更新类别球O的参数 更新类别球O的参数,即更新其球心坐标和半径,使得新球O1恰好将X0和x1中的所有样本点都包围在其中,其更新公式为 其中,xa和xb分别为新样本点x1的坐标和球O上距x1最远点的坐标,xb可由下式计算, xb=xo+λ2(xo-xa) 其中,xo为球心O的坐标,λ2可由下式计算, 根据上述在线建模方法,本发明做了大量的仿真试验,从仿真结果中可看出,本发明提出的在线建模方法相比于其他在线建模方法具有更高的学习精度,用此方法建立的模型也具有更好的泛化性能。



图1算法流程图,是本发明提出的基于结构可调极限学习机的在线建模方法具体实现的各个步骤。
图2包围训练过程已用过的所有数据的类别球的示意图,其中,小类别球O是包围除新增训练数据之外的所有已用过数据的类别球,大类别球O1是包围所有已用过数据和新增数据的类别球。
图3高斯函数示意图,其中,中间的峰值是其在高斯函数中心处的输出,边缘处较小的输出值是其在离高斯函数中心较远处的输出。
图4仿真实验中训练精度和验证精度随隐层节点数变化的关系图,其中,红色曲线是训练精度随隐层节点数的变化关系,绿色曲线是验证精度随隐层节点数的变化关系。
图5仿真实验中在线建模过程示意图,其中,图5.1为验证精度随训练数据增加的变化关系,图5.2为隐层节点数随训练数据增加的变化关系。

具体实施例方式 本发明提出的基于结构可调极限学习机的在线建模方法,其主要优势在于在线建模过程中可根据需要调整网络结构。根据在线建模的特点,若有新增训练数据到达时便进行学习,否则就使用现有模型进行预测,且随着训练数据的增加,预测精度可逐步得到提高。
以下对本发明提出的基于结构可调极限学习机的在线建模方法所涉及的步骤进行详细说明 第一步,模型选择 对于本发明提出的方法,模型选择只涉及确定初始的ELM隐层节点数M。本发明采用交叉验证的方法确定初始隐层节点个数将初始训练数据分为两部分,一部分用于训练,另一部分用于验证;从一个较小的隐节点数开始,先用训练数据训练ELM,然后用验证数据获得验证误差,再逐步增加隐层节点个数,并重复上述训练和验证步骤,最后,选择使验证误差最小的隐层节点数为初始的隐层节点数。
第二步,模型的初始化 模型的初始化即为模型参数的初始化。本发明提出的方法采用ELM网络结构,隐层节点的激励函数采用高斯函数,故首先要初始化的参数有高斯函数的中心ai和宽度bi,i=1,2,…M,ai和bi分别从符合特定分布的随机数中选取。其次,要确定最初参加训练的样本数目。在本发明中,对用于分类问题的模型,最初训练样本数选为M+100;对于用于回归问题的模型,则选为M+50。确定初始训练样本数的原则是使得H0列满秩。最后,用一个半径最小的类别球S0包围初始训练数据,记其球心和半径分别为C0和R0。
第三步,确定训练过程数据的初始值 所谓训练过程初始数据,包括隐层输出矩阵H、输出层连接矩阵β、计算输出层连接矩阵需要的中间矩阵K及其逆矩阵K-1。
若初始训练数据为

则相应的隐层输出矩阵为
根据经验风险最小化(ERM)原则,求取输出层连接矩阵β的目标函数为min(‖F-T0‖)=min(‖H0(N×M)β(M×m)-T0(N×m)‖),其中,T0为训练目标,即 根据矩阵的知识,容易求解上述优化问题的解为

其中

为H0矩阵的伪逆。当矩阵H0列满秩时,即rank(H0)=M时,有

为方便推导,引入中间矩阵K,使得K=HTH,则


记P=K-1,则
第四步,不调整ELM结构,仅通过调整ELM输出层权值来拟合新增数据 若新增数据为

(实际上,在本方法中N1选为1;而N1大于1的情况则都可转化为N1等于1的情形处理),则与此相应的隐层输出矩阵和训练目标分别为
此时,求取新的输出层连接矩阵β的目标函数为 ,得到上述优化问题的解为 为实现在线建模的目标,β1必须与H0、T0无关,而仅是关于P0、K0、β0的函数。通过简单的数学推导可得, 上述两公式即为不调整ELM结构而仅调整其参数情况下的ELM训练算法。
第五步,判断用第四步的训练方法得到的ELM在新增数据X1上的训练误差是否符合要求,同时还需要判断数据X1是否在类别球S0之外。若训练误差不满足要求,且X1在S0之外,则转向第六步,否则,转向第七步。
第六步,增加一个隐层节点,然后调整输出层连接权值 在增加一个隐层节点的情况下,隐层输出矩阵变为 其中,H01为新增隐节点相对于训练过程已用过的数据集X0的输出,H11为新增隐层节点相对于新增加且未用过的数据集X1的输出。相应地,求取新的输出层连接矩阵β的目标函数变为 但由于已用过的数据集X0在隐节点增加之前已被丢弃,这导致H01未知,故要求取β必须先处理好H01未知的问题。
从高斯函数的示意图(图3)可以看出,隐节点在远离其中心处的输出可视为0。假若数据集X0和X1示意图如图2所示,图中,S0包围的为训练过程已用过的数据,A点为新增数据所处位置。故若将新增隐层节点的中心选为A点,则只要其在C点的输出足够小即可,也即要求 其中ε为预先选定的阈值,xc为C点坐标,可由以下两式确定 xc=xo+λ1(xa-xo) 其中,xo为类别球S0的球心坐标,xa为A点的坐标,R为类别球S0半径。
根据上述方法选择新增隐层节点的中心a和宽度b之后,新增隐层节点在C点的输出便小于一个很小的实数ε,其在类别球S0之内的输出则更加小,以至可视为0,故H01可视为0矩阵。此时,增加隐层节点后的隐层输出矩阵为 求解上述优化问题,可得 若令 则 此时, 令 其中,矩阵A的各个元素为 A11=(HTH)-1+(HTH)-1(HTδH)×R-1(δHTH)(HTH)-1 A12=-(HTH)-1(HTδH)R-1,

A22=R-1 其中,R=δHTδH-(δHTH)(HTH)-1(HTδH),将H和δH的表达式代入得 A22=R-1 综合以上各式可得在增加隐层节点的情况下,K、P以及β的更新公式为 A22=R-1 第七步,更新类别球S0为S1,使得S1包含了S0中的数据X0和新增数据X1 从图2可以看出,S1的球心应在A和B的中点,半径应为线段AB的一半。其中,A点为新数据所在位置,B点为球S0上距A点最远点。故新的类别球中心和半径分别为 xb为B点的坐标,其可由以下两式确定 xb=xo+λ2(xo-xa) 本发明提出的方法流程图如图1所示。
根据上述基于结构可调极限学习机的在线建模方法,本发明做了大量仿真实验,限于篇幅,这里仅给出上述方法在实际炼钢连铸质量预报数据的应用效果。该数据集来源于工业现场,输入维数为84,输出维数为1;训练样本数为1056,测试样本数为508。
本发明比较了上述SAO-ELM方法与批处理式算法——BP神经网络算法以及OS-ELM方法的应用效果。BP神经网络算法是经典的神经网络训练方法,但它不是在线学习算法,OS-ELM方法是一种在线学习算法,其与本发明提出的算法的差别在于它没有结构可调性,即缺乏本发明中的第五步、第六步和第七步。比较结果见表1 表1SAO-ELM和其他算法的性能比较
从表1可以看出,SAO-ELM的训练精度和测试精度与其它两种建模方法相比均是最好的,而其训练时间则比BP算法少了将近一个数量级。图5给出了在线建模过程,从其变化趋势比较可知,随着建模过程的推进,隐层节点数在不断增加,而学习精度也在不断改善,且两者的变化趋势相一致,这也表明本发明提出的SAO-ELM的有效性。
权利要求
1.一种基于结构可调极限学习机(ELM)的在线建模方法,其特征在于,所述方法是在计算机上依次按如下步骤实现的
步骤(1)模型选择和参数初始化
设置单隐层极限学习机的隐层节点数M,输入层节点个数与训练样本维数n相同,输出节点个数与训练目标的维数m相同;
隐层节点的激励函数G(ai,bi,x)采用高斯函数,随机确定每个隐层节点的中心ai和宽度bi,i=1,2,…M;
根据最初的N个样本
训练极限学习机,获得初始的隐层输出矩阵H0和输出层连接矩阵β0,其中,
β0=(H0TH0)-1H0T0
初始化矩阵K,使得
计算
保存β0、K0和P0;
用一个类别球O包围初始训练样本集X0,使该球恰好将X0中的所有样本点包围在其内部,确定此球的球心C0和半径R0;
步骤(2)在线学习过程
新增训练数据x1=(xN+1,tN+1)到来时,按照如下步骤训练ELM,使其既能保存X0的知识,又可以容纳x1所包含的新知识
步骤(2.1)维持网络结构不变,仅根据x1调整输出层连接矩阵β0,更新后的输出层权值连接矩阵为β1,同时更新矩阵K0和P0为K1和P1,
其中,H1和T1分别为ELM对新样本x1的隐层输出矩阵和训练目标矩阵,即
H1=[G(a1,b1,xN+1)…G(aM,bM,xN+1)]1×M
步骤(2.2)计算调整参数后的ELM对新增样本x1的训练误差e,判断新样本x1是否在球O外,若在球O外且e大于设定阈值,放弃上述所有调整,转向步骤(2.3),否则,转向步骤(3);
步骤(2.3)增加一个隐层节点,设定其中心a为x1,宽度b由下式确定,即
其中,ε为预设定的阈值,xc为类别球O上距新样本点x1最近点的坐标,可由下式确定
xc=xo+λ1(xa-xo)
其中,xo为球O的球心坐标,λ1可由下式确定
上式中的xa即为新样本点x1的坐标;重新调整输出层连接矩阵β0为β1,并相应地更新矩阵K0和P0为K1和P1,使得
A22=R-1
其中,H01和H11分别为新增隐层节点对原样本集X0和新样本点x1的隐层输出矩阵,即
N1和L分别为x1中的样本点个数和新增隐层节点个数,本方法仅考虑新样本点逐个到达的情况,故N1=L=1;
步骤(3)更新类别球O的参数
更新类别球O的参数,即更新其球心坐标和半径,使得新球O1恰好将X0和x1中的所有样本点都包围在其中,其更新公式为
其中,xa和xb分别为新样本点x1的坐标和球O上距x1最远点的坐标,xb可由下式计算,
xb=xo+λ2(xo-xa)
其中,xo为球心O的坐标,λ2可由下式计算,
全文摘要
一种基于结构可调极限学习机的在线建模方法,属于自动控制、信息技术和先进制造领域,具体涉及在极限学习机的在线学习过程中调整其结构和参数以容纳新获得数据的方法。其特征在于包括以下步骤定义类别球概念,在每次学习过程中,判断新获得的数据是否在类别球外且会导致建模精度下降,若是则添加新隐层节点,否则仅调整类别球的球心和半径,最后更新极限学习机的输出层权值。本发明首先引入类别球概念用以包含之前训练过程已用过的数据,在确定新增隐层节点参数时,通过使该节点在距类别球最近点的输出足够小,以确保该节点在上述已用过的数据上的输出值为0,并给出了输出层权值更新公式。本发明可通过增加隐层节点以提高在线建模精度。
文档编号G05B13/04GK101807046SQ201010119408
公开日2010年8月18日 申请日期2010年3月8日 优先权日2010年3月8日
发明者刘民, 李国虎, 董明宇, 吴澄 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1