发明名称 基于残差熵和分层双支持向量机的指标预报方法及应用
摘要 基于残差熵和分层双支持向量机的指标预报方法及应用,属于自动控制、信息技术和先进制造领域,其特征在于,针对生产过程指标预测中训练样本数据少的建模难题,提出一种基于残差熵和分层双支持向量机的建模方法,该方法采用外层支持向量机中二次优化问题的KKT条件将模型输入/输出训练数据分为外层和内层支持向量机的训练数据,利用外层训练数据对外层支持向量机进行训练,采用残差熵度量外层建模误差序列中所含信息的确定性程度,当残差熵较大时,利用内层训练数据对内层支持向量机进行训练。该方法可用于预报多类具有小样本特征的指标预报问题,如马蹄焰玻璃窑炉碹顶温度预报、微电子化学机械研磨过程的研磨厚度预报和城市GDP指标预报。
申请公布号 CN104537228A 申请公布日期 2015.04.22
申请号 CN201410805101.6 申请日期 2014.12.23
申请人 清华大学 发明人 刘民;张君海;董明宇;吴澄
分类号 G06F19/00(2011.01)I;G06K9/62(2006.01)I 主分类号 G06F19/00(2011.01)I
代理机构 代理人
主权项 基于残差熵和分层双支持向量机的指标预报方法,其特征在于包括以下步骤:该方法采用分层双支持向量机和残差熵建立生产过程指标预报离线模型,其中残差熵用于确定何时建立内层双支持向量机;采用外层双支持向量机中二次优化问题的KKT条件将模型输入/输出新数据分别划分为外层或内层双支持向量机的输入/输出训练数据,利用外层训练数据对外层支持向量机进行训练,采用残差熵度量外层双支持向量机建模误差序列中所含信息的确定性程度,当残差熵较大时,利用内层训练数据对现有的内层双支持向量机进行进一步训练,所述方法是在计算机上依次按以下步骤实现:步骤(1):设置外层和内层支持向量机不敏感带宽度,建模数据长度,残差熵阀值,外层和内层支持向量机高斯核参数,采集初始建模数据,其表示如下:l<sub>w</sub>:外层双支持向量机建模数据长度l<sub>n</sub>:内层双支持向量机建模数据长度<img file="FSA0000112013720000011.GIF" wi="96" he="65" />外层双支持向量机上限不敏感带宽<img file="FSA0000112013720000012.GIF" wi="96" he="70" />内层双支持向量机上限不敏感带宽<img file="FSA0000112013720000013.GIF" wi="130" he="78" />外层双支持向量机下限不敏感带宽<img file="FSA0000112013720000014.GIF" wi="130" he="72" />内层双支持向量机下限不敏感带宽θ:残差熵阀值σ<sub>w</sub>:外层支持向量机高斯核函数参数σ<sub>n</sub>:内层支持向量机高斯核函数参数X:训练数据输入矩阵,每行为一个输入样本向量Y:训练数据输出列向量,每一个元素对应一个样本输出设从程序启动到当前时刻共采集了k组训练数据,则<img file="FSA0000112013720000015.GIF" wi="595" he="71" />X<sub>i</sub>表示第i个输入行向量,Y=[y(k‑l<sub>w</sub>+1),y(k‑l<sub>w</sub>+2),…,y(k)]<sup>T</sup>步骤(2):通过求解下述优化问题A1和A2,建立或修正外层双支持向量机,并求得其KKT条件:A1:<img file="FSA0000112013720000021.GIF" wi="1694" he="123" /><img file="FSA0000112013720000022.GIF" wi="1067" he="74" />A2:<img file="FSA0000112013720000023.GIF" wi="1679" he="140" /><img file="FSA0000112013720000024.GIF" wi="1020" he="78" />所建立的外层双支持向量机预报模型为:C1:<img file="FSA0000112013720000025.GIF" wi="1482" he="139" />与A1,A2相对应的KKT条件分别为:B1:<img file="FSA0000112013720000026.GIF" wi="1455" he="201" /><img file="FSA0000112013720000027.GIF" wi="379" he="74" /><img file="FSA0000112013720000028.GIF" wi="902" he="77" /><img file="FSA0000112013720000029.GIF" wi="1151" he="76" /><img file="FSA00001120137200000210.GIF" wi="443" he="72" />B2:<img file="FSA00001120137200000211.GIF" wi="1457" he="162" /><img file="FSA00001120137200000212.GIF" wi="371" he="65" /><img file="FSA00001120137200000213.GIF" wi="897" he="84" /><img file="FSA00001120137200000214.GIF" wi="1185" he="84" /><img file="FSA00001120137200000215.GIF" wi="431" he="77" />其中,<img file="FSA00001120137200000216.GIF" wi="295" he="73" />分别是求解A1和A2对应对偶问题的拉格朗日系数;ξ,η为A1和A2对应的松弛因子;步骤(3):通过下列方法计算外层双支持向量机预报模型的误差序列及其残差熵,设当前时刻为k,外层建模数据长度为l<sub>w</sub>,内层建模数据长度为l<sub>n</sub>步骤(3.1):采用步骤(2)公式C1求得训练数据集上外层双支持向量机的建模误差序列E:E=Y‑f<sub>w</sub>(X)其中<img file="FSA0000112013720000031.GIF" wi="1286" he="109" />步骤(3.2):计算E的相关阵R(k),并用以下公式计算残差熵:<img file="FSA0000112013720000032.GIF" wi="753" he="137" />σ<sub>e</sub>的取值只要保证在预报过程中RE(k)为正值即可,如果RE(k)大于步骤(1)中设置的阀值θ,则程序转向步骤(4),否则程序转向步骤(5)步骤(4):设内层TSVR的数据建模长度为l<sub>n</sub>,令Y<sub>e</sub>=[E(k‑l<sub>n</sub>+1),E(k‑l<sub>n</sub>+2),…,E(k)],<img file="FSA0000112013720000033.GIF" wi="610" he="74" />利用X<sub>e</sub>,Y<sub>e</sub>代替步骤(2)中的X,Y,并选用内层核函数系数σ<sub>n</sub>,建立内层双支持向量机,可表示为:C2:<img file="FSA0000112013720000034.GIF" wi="1329" he="121" />步骤(5):采集下一时刻输入向量X<sub>k+1</sub>,通过下式预报k+1时刻输出y<sub>p</sub>(k+1):C3:<img file="FSA0000112013720000035.GIF" wi="949" he="139" />其中<img file="FSA0000112013720000036.GIF" wi="834" he="150" />λ为修正因子,再采集k+1时刻的系统输出y(k+1),判断停机条件是否满足,如果满足则停机,否则将预报时域向前推移一步,转向步骤(6)步骤(6):判断新到输入输出数据对(X<sub>k+1</sub>,y(k+1))是否满足步骤(2)中的KKT条件B1,B2;当新数据对同时满足B1,B2时,则不须要修正外层双支持向量机,程序直接转向步骤(3);当新数据对满足B1,但违反B2,则程序转向步骤(2),与初始建模不同的是,此时只重新求解A2,保留A1的解,程序再转向步骤(3);当新数据对满足B2,违反B1,则转向步骤(2),重新求解A1,保留A2的解,再转向步骤(3),当新数据对同时违反B1,B2时,求解A1,A2,程序再转向步骤(3) 。
地址 100084 北京市海淀区清华园