基于核函数及参数优化的KPLS 质量预测研究*

2021-12-22 07:08郑丹童楚东
电子技术应用 2021年12期
关键词:适应度交叉遗传算法

陈 路,郑丹,童楚东

(宁波大学 信息科学与工程学院,浙江 宁波 315211)

0 引言

质量预测与分析是实现工业过程闭环控制的基础和关键[1]。基于KPLS 的方法可以提高质量预测精度,许多研究人员以KPLS 方法为基石,提出了许多解决非线性问题的方法[1-8]。

核函数是KPLS 方法的关键,而KPLS 选择核函数并不是任意的,必须要满足Mercer 定理。特定的内核函数选择隐含地决定了映射和特征空间。在KPLS 中,由于提取系统非线性特征的程度是基于核函数的,因此核函数的选择是最重要的。如何给基于KPLS 的质量预测选择理想的核函数和核参数是一个开放的问题[9-10]。而且,一旦设置了核函数,就需要设置适当的核参数。但是,没有一个理论框架能寻找到指定核函数的参数最最优值,也就是说基于KPLS 的质量预测很大程度上取决于选择的核函数和核参数。

目前,关于如何选择核函数的种类和参数来进行质量预测的研究还没有报道。在过去的几年里,Huang 提出了一种用于特征选择和参数优化的遗传算法[11]。Adriano 将此方法应用于软件工作量估算[12]。Jia 提出了一种改进遗传算法,将改进的遗传算法用于工业过程故障检测,从而提升了故障监测率[13]。此外,Liu 提出一种基于多核线性学习的KPLS 方法,该方法使用自适应遗传算法来选择核函数的参数和权重[14]。这些研究多数都是固定一种核函数,然后对其参数进行优化,或者通过改进遗传算法提高优化速度。但是,核函数种类不止一种,只选择其中一种核函数具有局限性。基于这些研究成果,本文结合KPLS 质量预测,建立同时优化核函数及参数的优化模型GA-KPLS-V。通过组合编码方式,将不同核函数及参数类型结合在一起,在该模型中,核函数类型和核参数被视为决策变量,将质量预测结果RMSE 作为目标,并采用改进遗传算法对模型进行求解。仿真结果表明,该方法不仅能选出最优核函数,还能选出最优核参数。

1 基本方法介绍

1.1 KPLS 概述

KPLS 算法的主要思想是通过一个非线性映射将输入数据xi∈Rm映射到一个高位的特征空间H,特征空间的维数可以任意大甚至无穷大,然后在高位特征空间H中构建线性PLS 模型。由于特征空间H 的维数很高,不可能直接计算出得分向量、权值向量和回归数值,因此必须对原始空间的运算公式进行变换,使它只包含映射后数据的内积运算,而内积运算可以由原始空间定义的核函数来表示,即:

其中,K为n×n 维核矩阵,表示非线性映射所选择的核函数;Φ(xi)为映射后的输入数据。代表性的核函数如下:

(1)径向基核函数:

(2)Sigmoid 核函数:

(3)多项式核函数:

其中,c、d、β0、β1是核函数的参数,使用者依 据经验决定。依据经验选择核函数和核参数进行质量预测会造成预测结果不稳定,并且使用不同核函数的最优预测结果也不相同。同时,不同核函数的参数类型和个数也不相同,这也给同时优化多种核函数和核参数增加了难度。径向基核函数和多项式核函数一直满足Mercer 定理,但是Sigmoid 核函数只有在特定的和下才满足条件[14]。

1.2 遗传算法基本原理

遗传算法是把问题的解决方案用某种编码方式表示,产生初始种群并根据适应度函数计算适应度。然后,再利用选择、交叉和变异操作,不断迭代优化,直到找到最优解。传统的遗传算法编码方式一般是相同的,不然无法进行选择、交叉、变异操作。本文采取的是同时优化多种核函数及核参数,因此,编码、适应度函数、选择、交叉、变异等操作都需要重新设计。

2 基于KPLS 的质量预测优化方法

2.1 优化指标

在质量预测方面,其精度是衡量其算法对数据预测是否准确的一大重要指标,用于衡量预测值对其真实值偏离程度[15]。其计算或表示方法在不同的领域会有些许的不同,核心公式是:

式中,yi表示实际值,表示预测值,n 表示全部样本数。RMSE 称作均方根误差,在训练集中的均方根误差表示为RMSEC,在测试集中的均方根误差表示为RMSET。本文将采用均方根误差RMSEC 作为确定最优的优化指标。

遗传算法在进化搜索过程中是以目标函数(即适应度函数)为依据来引导寻优过程的。本文的优化目标是质量预测精度均方根误差RMSE,因此,适应度函数可以设计为:

本文问题为确定KPLS 中核函数类型及参数,为保证核函数种类的多样性,避免某种核函数种群过早消失,各类型子类应保证一定的数量[13]。因此,为了满足要求,需要重新构造适应度函数。

式中,w=e-m+1为加权因子,m为遗传代数,f_si为某一代中第i 类核函数个体适应度总和,f_s为某一代中所有个体适应度总和。

2.2 遗传算法设计

2.2.1 编码

遗传算法常见的编码方式包括二进制编码、浮点数编码、格雷码和符号编码等。基于KPLS 质量预测中需要寻优的参数包括核函数的种类及其核参数,种类不同的数其参数个数、范围也不相同。针对本文的问题,采用了混合编码策略。如图1 所示,染色体有三部分:第一部分为核函数类型,采用二进制编码;其余部分为核参数采用浮点数编码。当选取径向基核函数和多项式核函数时,第二部分有效,第三部分无效。当选取Sigmoid 核函数时,第二、第三部分均有效。

图1 编码结构

2.2.2 初始种群设置

由于核函数种类少,因此,核函数种类采用枚举方法,设核函数种类为v。而相对应的核参数范围较大,不能采用枚举的方法。设子群个体数为gi,则总群个体数为:

当确定种群大小后,采用随机办法产生种群中的个体,并令初始子种群个数为:

2.2.3 遗传操作

本文选择轮盘赌方法进行个体选择。由于采用的是组合编码,因此交叉操作比一般问题复杂。如果两个父本核函数种类相同,直接进行一般交叉操作;若种类不同,分别在父代中寻找相同个体进行交叉,如果没有找到相同个体,则随机产生一个个体交叉。变异就是以很小的变异概率pm随机地改变种群中个体的某些基因值,由于采用的组合编码,因此变异位只选择参数位变异。

2.3 k 折交叉验证

在使用不同核函数建立KPLS 质量预测模型时,可能会出现使用高斯核函数的KPLS 质量预测模型在训练集上的学习能力好于使用其他核函数的KPLS 质量预测模型,但是在测试集上的表现却比使用其他两种核函数的KPLS 质量预测模型差。这种现象在机器学习中称为“过拟合”。

采用k 折交叉验证法(K-Fold Cross Validation)能够有效避免以上情况。首先,将训练集划分为k 个大小相同的互斥子集。然后,依次选取不同的区作为验证集,其余的k-1 个区作为训练集,每次验证都会得到一个均方根误差,最后总误差为所有误差的平均值,如图2 所示。

图2 k 折交叉验证原理图

k折交叉验证法评估结果的稳定性在很大程度上取决于k 的取值,一般情况下k 的取值区间为[2,10]。本文采用2 折交叉验证法进行评估。k 值越大,偏差会越小而复杂度会越大,本文研究重点为找到最佳核函数以及核参数,而k 在取值范围内进行交叉验证得到的最佳核函数和核参数相同。

2.4 KPLS 优化过程

KPLS 优化过程如下:

(1)将采集的正常运行数据划分为训练集和测试集,对训练集数据进行标准化处理,保存均值和方差。

(2)确定核函数的种类、初始种群大小和终止条件。根据核函数参数的取值范围,随机生成核函数参数并进行编码。

(3) 通过k折交叉验证对种群中的每个体进行KPLS建模并计算适应度值。

(4)进行遗传操作:选择、交叉、变异,进入下一代。

(5)判断是否满足终止条件,如果不满足,重复步骤(3)~(4);否则,停止迭代。

基于核函数及参数优化的KPLS 质量预测基本算法示意图如图3 所示。

图3 KPLS 质量预测优化过程流程图

3 仿真实验

Tennessee Eastman(TE)过程是基于实际工业过程的仿真实例,它由美国Tennessee Eastman 化学公司过程控制部门的Downs和Vogel 于1993 年提出。此过程已经被广泛作为连续过程的策略、监视、诊断的优化的研究平台。此过程有4 种反应物(A、C、D、E),生成两种产物(G和H)。此外,还包含一种惰性物质B 及副产物F。该过程有22 个连续的过程测量值、12 个操作变量和19 个混合测量值。在仿真过程中采样数据的时间间隔是3 min。本实验共选取22 个连续变量核11 个操作变量作为输入变量X,同时选取物流9 中组分G 的摩尔含量作为输出变量y。首先在正常状况下让仿真程序运行25 h 得到960 个正常样本,然后将前760 个正常样本作为训练集数据,将后200 个正常样本作为测试集数据。

针对径向基核函数、多项式核函数、Sigmoid 核函数3 种核函数进行寻优。其中,径向基核函数的参数取在(0.1,50)范围内;多项式核函数的参数d 取为1~8 的正整数;Sigmoid 核函数的参数β0和β1都取为(1,8)。设 初始种群个子类个体数为8,总种群数为24,根据核函数的数的定义域随机产生初始种群,遗传代数为20。

本文称随机选取高斯核函数参数的KPLS 质量预测方法为KPLS-G,随机选取多项式核函数参数的KPLS质量预测方法为KPLS-P,随机选取Sigmoid 核函数参数的KPLS 质量预测方法为KPLS-S,遗传算法优化选取高斯核函数参数的KPLS 质量预测方法为GA-KPLS-G。

在训练集和测试集相同的前提下,分别使用KPLS-G、KPLS-P、KPLS-S、GA-KPLS-G、GA-KPLS-V 进行100次质量预测,预测结果如图4和图5 所示,优化过程如图6~图9 所示。

图4 5 种不同核函数选取方法预测结果对比(变量35)

图5 均方根误差(变量35)

图6 核函数种群变化(变量35)

图9 核函数种群变化(变量40)

对于变量35,从图4 可以看出,其中实心箱体为训练结果,空心箱体为测试结果。基于KPLS-G、KPLS-P和KPLS-S 的质量预测结果数据相对分散,说明随机选取核函数参数会导致预测结果不稳定。基于GA-KPLS-G的质量预测结果数据相对集中,说明预测结果具有较好的稳定性和一致性。但是,核函数种类不止一种,选择常用的高斯核函数进行优化建立质量预测模型只能得到基于高斯核函数的最优解,从图中可以看出KPLS-S 的预测精度是有可能高于GA-KPLS-G 的预测精度的。本文提出的GA-KPLS-V 质量预测结果的中位数最低且预测结果相对集中,说明其平均质量预测精度最高且具有较好的稳定性和一致性。其中,最优核函数为Sigmoid核函数,最优核参数β0=1.27,β1=7.81。

图6为遗传过程中RMSEC 值的变化曲线,其中“○”为最小值,“*”为平均值。可以看出,随着遗传代数增加,RMSEC 均值和最小值逐渐降低并趋于平稳。图7为遗传过程中种群变化趋势,可以看出,随着遗传代数的增加,高斯核和多项式核的种群逐渐减少最终为0,而Sigmoid 核种群逐渐增多,最终达到最大个体数。

图7 5 种不同核函数选取方法预测结果对比(变量40)

对于变量40,从图7 可以看出,本文所提出的GAKPLS-V 质量预测结果依旧是3 种方法中效果最好的。其中,最优核函数为Sigmoid 核函数,最优核参数β0=0.22,β1=3.41。

图8 可以看出,随着遗传代数增加,RMSEC 均值和最小值逐渐降低并趋于平稳。从图9 可以看出,随着遗传代数的增加,Sigmoid 核种群逐渐增多,最终达到最大个体数。常用核函数类型不止一种,选择一种核函数进行参数优化具有局限性。选择优化多种核函数及参数的质量预测方法,能够同时选择最优核函数及核参数,对复杂过程质量预测更稳定和准确。

图8 均方根误差(变量40)

4 结论

本文在KPLS 的应用中,针对基于KPLS 在线质量估计和预测中核函数和核参数难以确定的问题,提出了优化方法。该方法以遗传算法为优化算法,以核函数的种类和参数为优化决策变量,以均方根误差RMSE为优化目标。该方法的优势在于,遗传算法的解收敛于全局最优解,同时,重新设计适应度函数和交叉变异算法,保证了核函数种群的多样性。仿真结果表明,该方法能选出最优核函数和和参数,且提高了模型预测精度。

猜你喜欢
适应度交叉遗传算法
改进的自适应复制、交叉和突变遗传算法
“六法”巧解分式方程
一种基于改进适应度的多机器人协作策略
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
连数
连一连
基于空调导风板成型工艺的Kriging模型适应度研究
基于改进的遗传算法的模糊聚类算法