1.一种基于果蝇算法优化梯度提升回归树的青霉素发酵过程软测量建模方法,其特征在于,包括以下步骤:(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
B.z=1,Z=n_estimators,n_estimators为梯度提升回归树模型的迭代次数;
C.k=1;
D.按式(4)计算当前模型的残差rzk:
其中:fz-1(A′)表示第z-1次迭代时得到的梯度提升回归树模型对输入量A′的预测函数;
E.判断k
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
⑥计算当前参数下青霉素发酵过程软测量模型的拟合优度Ri:⑦判断i
⑧从当前种群的所有拟合优度Ri,i=1,2,…,P中比较得出拟合优度最大的果蝇群体组号p,记录最大拟合优度Rbest=Rp,位置信息⑨判断l
不成立,则转到步骤⑩;
⑩确定最终青霉素发酵过程软测量模型参数: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时刻青霉素浓度软测量值的具体操作方式如下:①d'=2,
②按式(9)计算当前d'时刻的偏移量
③按式(10)计算到d'时刻时的总偏移量εd':其中:β为权值系数,0.1≤β≤0.9;
④判断d'
⑤按式(11)计算D时刻青霉素浓度软测量值