一种基于果蝇算法优化梯度提升回归树的青霉素发酵过程软
测量建模方法
技术领域
本发明属于工业发酵生产过程软测量建模和应用领域,特别涉及一种基于梯度提升回归树的发酵过程生化产物浓度的软测量建模方法。
背景技术
青霉素在工业发酵领域的是一种重要的产品,有着非常广泛的应用。青霉素发酵过程具有高度非线性、重复性较差、慢时变等特点。在实际的生产过程中,青霉素浓度是发酵过程中一个重要的指标,但由于传感器技术等的限制,该指标的测量很困难,目前常用的方法是通过实验室离线测量得到。相比在线的实时测量方法,青霉素浓度的离线测量一般损耗更多的时间,这对于青霉素发酵过程的质量控制来说是非常不利的。为了提高青霉素发酵过程的自动化程度和产品质量,通常需要对青霉素浓度进行在线软测量。
软测量是选择一些可以实时在线测量的辅助变量,建立和青霉素浓度之间的模型,并结合优化过程确定模型最终参数。后续将新采集的辅助变量直接输入生成好的模型,对青霉素浓度进行预测,可以实时获取青霉素的浓度在线值,这避免了传统方法的时滞性的缺点。
梯度提升回归树本身具有良好的泛化性和非线性建模能力,可以灵活处理各种类型的数据,在相对少的调参时间情况下,预测的准确率也可以比较高,同时结合使用一些健壮的损失函数,对异常值的鲁棒性非常强,因此可以实现对青霉素浓度的在线软测量。
发明内容
针对上述现有技术中存在的问题,本发明提供了一种基于梯度提升回归树的青霉素浓度软测量建模方法。考虑梯度提升回归树需要优化六个参数,设计了果蝇优化算法,通过该算法嗅觉搜索和视觉搜索机制确定梯度提升回归树参数,使得基于梯度提升回归树的青霉素浓度软测量建模的拟合度更好,最后结合偏移补偿技术,对模型输出值进行校准,获得更加准确的青霉素浓度预测值。
本发明所采用的技术方案是:
一种基于果蝇算法优化梯度提升回归树的青霉素发酵过程软测量建模方法,包括以下步骤:
(1)通过数据库收集青霉素发酵过程中可在线测量的变量值,作为软测量建模样本的输入量,离线测量所得的青霉素浓度值,作为软测量建模样本的输出量;
(2)将软测量建模样本分为两个数据集,为软测量建模的训练数据集,N1为训练数据集的组数,Ak是1×d维的行向量,为软测量建模样本的一组输入量,是Ak对应的软测量建模样本的输出量,k=1,2,…,N1,d为每组输入量的维数;为软测量建模的测试数据集,N2为测试数据集的组数,Bk是1×d维的行向量,为软测量建模样本的一组输入量,yk是Bk对应的软测量建模样本的输出量,k=1,2,…,N2,d为每组输入量的维数;
(3)利用基于果蝇算法优化梯度提升回归树建立青霉素发酵过程软测量模型,并将通过训练确定的青霉素发酵过程软测量模型参数存入数据库;
(4)采集青霉素发酵过程可在线测量变量的新数值;
(5)采集新的数据集N3为新数据集的组数,Ck是1×d维的行向量,是对应Ck的青霉素浓度真实值,k=1,2,…,N3,d为每组输入量的维数,将输入基于果蝇算法优化梯度提升回归树的青霉素发酵过程软测量模型中,得到实时的青霉素浓度值 是对应Ck的软测量模型输出值,k=1,2,…,N3;
(6)对得到的实时的青霉素浓度值,进行偏移补偿,得到最终青霉素浓度的软测量值 是对应Ck的软测量值,k=1,2,…,N3;
其中,所述步骤(3)的具体操作步骤如下:
①参数初始化:设置果蝇算法的群体数量为6,分别对应需要优化的梯度提升回归树的6个参数learning_rate、n_estimators、max_depth、min_samples_split、min_samples_leaf、subsample,种群由P组群体构成,最大迭代次数为M,果蝇位置变化范围为LR,果蝇单次飞行范围为FR,初始化迭代次数l为1,群体组编号i为1;
②判断l≠1是否成立,成立,转到步骤③;不成立,随机生成群体中各只果蝇的初始位置,第i组群体中第j只果蝇的初始位置为:
其中:nj表示搜索范围系数,j=1,2,…,6,rand(LR)表示生成[-LR,LR]之间的随机数;
③每只果蝇按随机的飞行距离和方向进行搜索,则第i组群体中第j只果蝇的新位置为:
其中:ω=ω0·αl,ω0是初始权重,α为权重系数,rand(FR)表示生成[-FR,FR]之间的随机数;
④令 取平方差函数L(p,q)=(q-p)2表示关于变量p,q的损失函数,按如下过程建立基于梯度提升回归树的青霉素发酵过程软测量模型:
A.初始化模型,K=N1·subsample,0<subsample≤1为梯度提升回归树模型的采样率,从训练数据集中抽取K组样本,得到新的数据集根据式(3)计算得到使最小化的数值c,将其作为梯度提升回归树模型的初始预测值f0(A′):
其中:表示使取得最小值时的c的数值,A′={A′1,A′2,…A′K}为抽取的建模样本输入量的集合;
B.z=1,Z=n_estimators,n_estimators为梯度提升回归树模型的迭代次数;
C.k=1;
D.按式(4)计算当前模型的残差rzk:
其中:fz-1(A′)表示第z-1次迭代时得到的梯度提升回归树模型对输入量A′的预测函数;
E.判断k<K是否成立,成立,则k=k+1,转到步骤D;不成立,则转到步骤F;
F.通过3.6.5版本的Python,调用sklearn.tree.DecisionTreeRegressor工具包,设置模型参数λz={max_depth,min_samples_split,min_samples_leaf},用其来拟合子数据集{(A′1,rz1),(A′2,rz2),…,(A′k,rzk)},k=1,2,…,K,得到新的子树hz(A′);
G.按式(5)计算得到使最小化的数值γ,将其作为当前梯度提升回归树模型的权重γz:
其中:表示使取得最小值时的γ的数值;
H.按式(6)更新模型,得到第z次迭代时梯度提升回归树模型对输入量A′的预测函数fz(A′):
fz(A′)=fz-1(A′)+ν·γz·hz(A′) (6)
其中:ν=learning_rate为学习速率;
I.判断z<Z是否成立,成立,则z=z+1,转到步骤C;不成立,则得到最终的青霉素发酵过程软测量模型对输入量A′的预测函数f(A′):
f(A′)=fZ(A′) (7)
⑤输入至青霉素发酵过程软测量模型,按式(7)得到其对应的青霉素发酵过程软测量值其中为Bk对应的软测量值,k=1,2,…,N2;
⑥计算当前参数下青霉素发酵过程软测量模型的拟合优度Ri:
⑦判断i<P是否成立,成立,则i=i+1,转到步骤②;不成立,则转到步骤⑧;
⑧从当前种群的所有拟合优度Ri,i=1,2,…,P中比较得出拟合优度最大的果蝇群体组号p,记录最大拟合优度Rbest=Rp,位置信息
⑨判断l<M是否成立,成立,则Xj_ini=Xj_best,j=1,2,…,6,l=l+1,i=1,转到步骤③;不成立,则转到步骤⑩;
⑩确定最终青霉素发酵过程软测量模型参数:learning_rate=X1_best,n_estimators=X2_best,max_depth=X3_best,min_samples_split=X4_best,min_samples_leaf=X5_best,subsample=X6_best;
所述步骤(6)使用偏移补偿计算D时刻青霉素浓度软测量值的具体操作方式如下:
①
②按式(9)计算当前d'时刻的偏移量
③按式(10)计算到d'时刻时的总偏移量εd':
其中:β为权值系数,0.1≤β≤0.9;
④判断d'<D是否成立,成立,则d'=d'+1,转到步骤②;不成立,则转到步骤⑤;
⑤按式(11)计算D时刻青霉素浓度软测量值
本发明的有益效果:本发明通过对青霉素生产过程中可一些辅助变量和产物青霉素浓度的非线性关系进行基于梯度提升回归树的软测量建模,通过发酵过程中可实时在线测量的辅助变量对不可实时在线测量的产物青霉素浓度进行在线软测量,为青霉素发酵生产过程的产物青霉素浓度的实时在线软测量提供了一种方法。
附图说明
附图1是基于梯度提升回归树的青霉素发酵过程软测量建模流程图。
附图2是基于梯度提升回归树的青霉素发酵过程软测量建模后预测结果曲线图,其中:纵坐标是青霉素浓度值,横坐标Time是采样时间(h),True Value表示青霉素浓度真实值,Predict Value表示青霉素浓度软测量值。
附图3是基于梯度提升回归树的青霉素发酵过程软测量建模后预测误差曲线图,其中:纵坐标Error是青霉素浓度真实值与软测量值的差值,Time是采样时间(h)。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
参照附图1,基于梯度提升回归树的青霉素发酵过程软测量建模包括以下步骤:
步骤1:通过控制系统的实时数据库获取历史批次的生产数据,其中各个可实时在线测量的辅助变量,作为软测量建模的输入量,通过后期离线测量获取的青霉素浓度值,作为软测量建模的输出量。
步骤2:设置种群数量,最大迭代次数,需要优化的参数个数,果蝇群体位置范围,果蝇单次飞行范围,初始化当前迭代次数,当前果蝇群体编号。
步骤3:判断当前迭代次数是否为1,若是,按公式(1)随机生成当前果蝇群体的初始位置;若不是,转到步骤4。
步骤4:当前果蝇群体按公式(2)进行嗅觉搜索。
步骤5:将当前果蝇群体的六个数值依次设置为梯度提升回归树的learning_rate、n_estimators、max_depth、min_samples_split、min_samples_leaf、subsample参数,建立梯度提升回归树模型。
步骤6:按公式(8)计算当前模型的拟合优度。
步骤7:判断是否遍历种群中每个果蝇群体,若没有,当前果蝇群体编号增加1,转到步骤3;如果是,则继续步骤8。
步骤8:寻找当前种群中拟合优度最大的果蝇群体,分别记录其拟合优度和位置信息为Rbest和Xj_best,j=1,2,…,6。
步骤9:判断是否达到最大迭代次数,若没有,当前迭代次数增加1,当前果蝇群体编号重置为1,更新公式(2)中的为Xj_best,j=1,2,…,6的值,转到步骤4;如果是,转到步骤10。
步骤10:确定Xj_best,j=1,2,…,6为梯度提升回归树软测量模型的最终参数值,并将其存入数据库中。
步骤11:采集青霉素发酵过程各个可实时在线测量的辅助变量的新数值,直接输入至软测量模型中,得到对应青霉素浓度的实时预测值。
步骤12:按照公式(9)(10)(11)对步骤11所得的预测值进行偏移补偿,得到最终对青霉素浓度的预测值。
实施例:
采用本发明提出的一种基于梯度提升回归树的青霉素发酵过程软测量建模方法,取15个生产批次共12000组青霉素发酵过程数据,每个批次都表示一个完整的发酵过程,其中9个批次作为软测量建模的训练数据集Ai是1×5维的行向量,为软测量建模样本的一组输入量,是Ai对应的软测量建模样本的输出量,i=1,2,…,7200;6个批次作为软测量建模的测试数据集{(B1,y1),(B2,y2),…,(B4800,y4800)},Bi是1×5维的行向量,为软测量建模样本的一组输入量,yi是Bi对应的软测量建模样本的输出量,i=1,2,…,4800。具体实现方式如下:
初始化各个参数,设置种群数量P=50,最大迭代次数M=150,需要优化的参数个数为6,果蝇群体位置范围LR=300,果蝇单次飞行范围FR=50,初始权重ω0=1.0,权重系数α=0.8,权值系数β=0.9,根据公式(1)随机初始化果蝇的初始位置。通过果蝇优化算法寻找基于梯度提升回归树的青霉素浓度软测量模型最优参数,将确定的参数存入数据库,然后采集新的数据集Ci是1×5维的行向量,是对应Ci的青霉素浓度真实值,i=1,2,…,800,将{C1,C2,…,C800}输入基于果蝇算法优化梯度提升回归树的青霉素发酵过程软测量模型中,得到实时的青霉素浓度值 是对应Ci的软测量模型输出值,i=1,2,…,800,结合偏移补偿对输出值进行校准,就可以得到最终的青霉素浓度软测量值。
从附图2、附图3可以看出,基于梯度提升回归树的青霉素浓度软测量方法可以较为准确的预测出发酵过程产物青霉素的浓度值,具有较高的预测精度。
以上是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均属于发明技术方案的范围内。