《武汉工程大学学报》 2016年4期
333-336
出版日期:2016-08-28
ISSN:1674-2869
CN:42-1779/TQ
基于LS-SVM苯乳酸发酵过程的建模
1 引 言苯乳酸是近几年才开始研究的一种新型高效生物防腐剂,它的发酵过程与其他生化反应一样,具有非线性和不确定性的特点. 要想掌握苯乳酸的发酵过程,并且对其进行进一步的优化和控制,就要能够获得充足的发酵环节数据. 在线测定发酵过程的重要状态信息,在目前常用的测量条件和仪器下,难度较大,甚至几乎是不可能的. 因此,离线化验一直是目前测定菌体浓度、基质浓度和产物浓度等的最常用方法. 然而离线测定有很多缺点,比如测量结果滞后,限制了过程优化控制方案的实施. 国内对苯乳酸的研究刚起步,目前关于苯乳酸的研究成果大多集中于苯乳酸的乳杆菌株的筛选[1],有关其发酵工艺的研究很少. 苯乳酸发酵生产过程可持续20~100 h不等[2],在整个过程中,菌体和产物浓度不断变化,互相影响和抑制. 这导致人们对其发酵过程认识不足,不能精确地进行过程控制,因此,要在估算方法和估算精度上下功夫. 本文采用基于LS-SVM的软测量技术来改善估算方法,对苯乳酸发酵的生产过程进行建模研究. 最小二乘支持向量机(LS-SVM)是在标准支持向量机(SVM)的基础上提出的一种扩展和改进算法[3]. 标准SVM算法用求解二次规划的方法,力争在现有的有限采样数据的条件下推出最优的结果,而且SVM拥有很多优良的特性,如不存在局部最小问题,以及强大的小样本学习和泛化能力. 但是随着样本数据规模的增大,相应的二次规划问题会变得非常复杂,一个直接的问题就是导致了计算速度会越来越慢. LS-SVM通过一个线性方程组来进行相应的训练,有严格的数学理论支撑,优势相当明显,算法精度高,速度快,且易于实现,因而在模式识别和非线性建模领域的应用度较高[4]. 2 最小二乘支持向量机设有如下训练样本集,其中为n维的样本输入向量,为相应的样本输出,n为样本数目. 构造如式(1)所形式的函数来拟合样本[5]:[f(x)=ωtφ(x)+b] (1)其中,[ω∈Rn],是原始空间的权向量,b是偏差量,并且使用非线性映射[φ(?):Rn→H]将原来的输入空间[Rn]映射到高维Hilbert空间[φ(x)],特征空间的维数不固定,有可能为无穷维. 此函数的目的是求解满足条件的[ωt]和b. 利用结构风险最小化原则,降低学习机器的VC维,LS-SVM回归预测可以表示为如式(2)所示的约束优化问题[6]: [minω,ξJω,ξ=12ωtω+ci=1kξ2i] (2)约束条件:[yi=φ(xi)?ω+b+ξi,i=1,...,k]. 其中[ωt]、[ω]用来控制模型的复杂度,c(c>0)表示函数的平滑过渡和允许误差大于x的数值之间的折衷值[6]. 采用线性回归的方法,相应的损失函数就是平方损失函数,也就是计算误差[ξ]的平方和来作为度量和调整因选择不同参数导致的损失. 求解这个优化的问题可以用拉格朗日法:[Lω,b,ξ,a,γ=12ωt?ω+ci=1kξ2i- i=1kai(ω?ω(xi)+b+ξ-yi)] (3)对式(3)的变量([ω,b])求偏导[7],进一步得到优化条件:[?L?ω=0,?L?b=0,?L?ξ=0,?L?a=0] (4)根据式(4)可以得到:[ω=i=1kaiφ(xi),i=1kai=0,ai=cξi] [ω?φ(xi)+b+ξi-yi=0] (5)定义满足Mercer条件的线性核函数[K(xi,yj)=φ(xi)?φ(xj)],该核函数的作用是用来替代内积,再对其进一步进行隐式非线性变换,从而顺利地解决了维数灾难问题[8]. 根据式(5),优化问题最终演变为非线性模型: [f(x)=i=1kaiK(x,xi)+b] (6)通过推导可知,把待求解的优化问题转化为线性方程的求解问题,因此,优化问题的算法复杂度就大大的降低. 根据推导过程还能看出,LS-SVM需要预先确定的参数为正则化参数C和核函数参数δ,而对于标准的SVM算法,以RBF核函数为例,标准SVM的参数为ε、C、δ三个,因此LS-SVM算法需要预先确定的参数少,这也体现了LS-SVM算法的可操作性更强. 3 结果与讨论使用LS-SVM来进行苯乳酸发酵过程的建模,可测变量X通常为溶氧量、pH值、温度、搅拌功率、发酵液体积等;输入变量u为通气量、热水流速、冷水流速等;可测输出变量为CO2浓度、反应热量等;不可测量变量主要包括:菌体浓度、苯乳酸浓度、基质浓度[9]. 输入变量的选择是直接影响软测量结果的重要因素,因此要在各个输入变量中找出与模型关系非常直接和重要的一组输入变量作为LS-SVM测量模型的输入参数,不可测变量作为软测量模型的输出,使用不同的参数来实现输入输出的非线性函数关系. 在用神经网络和向量机建立菌体浓度估计模型时,刘毅[9]、张蓓[10]等人的研究表明,由于微生物生长速率和氧气消耗量有很大关系,所以最重要的辅助变量是溶氧利用率DO(t). 同时发酵底物和发酵产物还将产生比较明显的抑制作用,这里选择在t时刻实际物理意义较大的苯乳酸浓度P(t)、基质浓度K(t)和菌体浓度W(t)纳入输入变量中. 另外,为了减小建模的复杂度,不采用变化量较小的温度以及pH值这两个变量. 除了输入参数的选择外,在支持向量机研究领域,另一个要事先确定的重要问题是模型选择. 本文使用RBF核函数来进行LS-SVM的建模,RBF核函数输入参数有正则化参数C和核函数参数δ两个参数,为了得到最佳模型选择,要力争寻找到最佳的参数搭配. 使用最小二乘支持向量机的一个非常明显的优势就是求解速度快,所以可以很快的对数据进行训练. 首先确定正则化参数集SC={C1,C2,…,Cn}和核参数Sδ={δ1,δ2,…,δn},再对这些核函数输入参数集分别进行组合,使用组合参数对LS-SVM进行反复训练,最后用确认集对参数的选择进行筛选和优化,从而选出最佳参数组合作为使用LS-SVM进行苯乳酸发酵建模模型的最终参数. 苯乳酸发酵过程在5L生物发酵罐中进行,建模过程中所使用的数据都是来自发酵过程中的实际采样数据,由于其生产规模小,采样间隔时间较长,所以发酵实验获取到的原始数据量比较少,为了弥补这个缺陷,根据生物发酵过程两次采样之间的数据变化不大的特点,使用3次平滑样条插值拟合[11]的方法来适当填充丢失的实验数据. 通过以上的数据测量和平滑补差,得到了用于发酵实验建模的数据集合. 因为待用的建模数据尺度不统一,不同的数据可能有数量级上的差距,如果直接计算,大数的变化会掩盖小数的变化,使其不能反映小的测量值的变化,同时,收敛速度也比较慢. 所以在得到实验数据之后,还要对数据进行归一化处理. 数据归一化主要有两种方法[12],一是把数据变为(0,1)之间的小数,另一个方法是把有纲量表达式变为无纲量表达式. 经过归一化处理后,数据就变得更容易训练和学习. 本次实验一共采集10个批次的发酵数据,每个完整的发酵批次时间跨度30 h,任意选择8个批次用于软测量模型误差的最小训练,其余2批作为测试集对模型进行检验,对菌体浓度、苯乳酸浓度分别使用SVM和LS-SVM两种方法进行建模预测. 在不同批次样本数据下,LS-SVM和SVM建模性能的比较见表1. 在对菌体浓度的预测中,LS-SVM方法选择的参数为:C90=15 500,δ90=1.50;C130=15 000,δ130=1.70. SVM方法参数选择均为:C=1 000,ε=0.000 1,σ=0.5. 在对苯乳酸浓度的预测中,LS-SVM的模型参数为:C100=16 500,δ100=1.34;C150=16 000,δ150=1.55,SVM模型的参数均选择为:C=2 000,ε=0.000 1,σ=0.5. 图1和图2分别是部分数据的训练结果和测试结果. 3.2 建模结果分析表1是在同样的训练集以及训练条件下,采用LS-SVM与SVM算法的预测性能比较,文中采用了训练时间和均方差作为衡量建模效果优劣的两个指标. 图1和图2分别是对菌体浓度和苯乳酸浓度预测的训练曲线和预测曲线. 从图1和图2可以看出,通过定义合理的参数,LS-SVM能够把误差控制在一个合理的范围内,也使LS-SVM算法具有了相当高的拟合精度和泛化能力. 继续观察和分析表1 的数据可以看出,同样的样本数下,LS-SVM模型训练需要的时间更少,效率更高;通过均方差比较可以看出,两种算法的均方差都控制在非常低的水平,说明实验的数据精度都较高. 4 结 语苯乳酸发酵过程各个变量之间相互制约,是一个高度非线性的过程. 本文使用LS-SVM算法,对苯乳酸发酵过程进行仿真建模,并且和SVM算法进行比较. 通过数据和图表等实验结果表明,LS-SVM是一种十分有效的仿真算法,该算法预测精度高、跟踪性能好,并且能大幅提高在线预估的效率,适合于对苯乳酸发酵过程的建模,并且对于其他类似的需要在线预估的场合,该方法也有一定的参考价值.