蚁群算法优化最小二乘支持向量机的溶解氧预测方法

文档序号:10725874阅读:320来源:国知局
蚁群算法优化最小二乘支持向量机的溶解氧预测方法
【专利摘要】本发明公开了一种蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其先对原始溶解氧数据序列进行预处理以丢弃或修复坏点数据;然后将预处理后的溶解氧数据序列分成训练集和测试集;接着根据训练集中的所有溶解氧数据,利用蚁群算法优化最小二乘支持向量机的惩罚因子和核函数宽度参数,得到各自的最佳优化值;最后根据惩罚因子和核函数宽度参数的最佳优化值,计算测试集中的每个溶解氧数据的预测值;优点是利用蚁群算法优化最小二乘支持向量机的惩罚因子和核函数宽度参数,并在迭代搜索过程中,对头蚁的位置进行精细搜索获得头蚁的新位置,且保留每只蚂蚁搜索过程中的最佳位置,将蚂蚁的最佳位置引入搜索过程,提高了溶解氧的预测精度。
【专利说明】
蚁群算法优化最小二乘支持向量机的溶解氧预测方法
技术领域
[0001] 本发明涉及一种水产品养殖环境中的溶解氧预测技术,尤其是涉及一种蚁群算法 优化最小二乘支持向量机的溶解氧预测方法。
【背景技术】
[0002] 溶解氧是水产品养殖水体的一项十分重要的水质指标,其对水产品的生长、病害 预防均有着重要影响,如果不能精确掌握养殖池塘水域的溶解氧的动态变化趋势,不能在 养殖水体低氧或者缺氧之前进行增氧,则在养殖水体低氧或者缺氧的胁迫环境中制约着水 产品健康生长,甚至会导致水产品病害爆发致使大面积死亡,从而会给水产品养殖户造成 巨额损失,会严重影响水产品养殖业的健康可持续发展。
[0003] 传统的溶解氧预测方法为神经网络预测方法,其假设样本无限大,并基于经验风 险最小化原则,其存在易陷于局部最优值、过学习、不适于高维数和小样本预测等缺陷。目 前比较有效的溶解氧预测方法是基于最小二乘支持向量机(LSSVM)的预测方法,此方法解 决了传统的神经网络预测方法存在的缺陷,并且能以任意精度逼近任意函数,但是此方法 中最小二乘支持向量机的核函数宽度参数与惩罚因子选定是否合适,严重制约着此方法的 预测精度和性能,因此如何获取最优的核函数宽度参数与惩罚因子是提高溶解氧的预测精 度的关键,然而目前还没有有效的方法能够寻找到最小二乘支持向量机的最优的核函数宽 度参数与惩罚因子。

【发明内容】

[0004] 本发明所要解决的技术问题是提供一种蚁群算法优化最小二乘支持向量机的溶 解氧预测方法,其通过寻找到最小二乘支持向量机的最优的核函数宽度参数与惩罚因子, 有效地实现了溶解氧快速、精确的预测。
[0005] 本发明解决上述技术问题所采用的技术方案为:一种蚁群算法优化最小二乘支持 向量机的溶解氧预测方法,其特征在于包括以下步骤:
[0006] ①在需要预测溶解氧的水产品养殖水体中布置一个溶解氧传感器,溶解氧传感器 实时等时间间隔连续采集溶解氧数据;
[0007] ②将溶解氧传感器等时间间隔连续采集的T个溶解氧数据按采集时间先后顺序排 列构成原始溶解氧数据序列,记为Y,Y= {yi,y2,···,yt,···,yi·};再对Y进行预处理,以丢弃或 修复Y中的坏点数据而保留Y中的有效数据,得到预处理后的溶解氧数据序列,记为X,X = {xi,X2,…,Xs,…,Xs};
[0008] 其中,T>Z,Z表示设定的溶解氧数据最小需求量,1 < t<T,yi,y2,…,yt,…,yT对应 表示Y中的第1个溶解氧数据、第2个溶解氧数据、…、第t个溶解氧数据、…、第T个溶解氧数 据,3<1',1< 8<5,^,^,一,^,-_,^对应表示乂中的第1个溶解氧数据、第2个溶解氧数 据、…、第s个溶解氧数据、…、第S个溶解氧数据,坏点数据定义为:若Υ中的任一个溶解氧数 据大于Υ中的所有溶解氧数据的平均值的60 %或者小于Υ中的所有溶解氧数据的平均值的 40%,则确定该溶解氧数据为坏点数据;有效数据定义为:若Y中的任一个溶解氧数据大于 或等于Υ中的所有溶解氧数据的平均值的40%且小于或等于Υ中的所有溶解氧数据的平均 值的60%,则确定该溶解氧数据为有效数据;
[0009]③判断S多Ζ是否成立,如果成立,则执行步骤④;否则,返回步骤②重新获取原始 溶解氧数据序列,再进行预处理;
[00?0]④选取X中的前ST个溶解氧数据构成训练集,记为Train,Train= {χι,Χ2,…, xst,…,xst};并将剩余的S-ST个溶解氧数据构成测试集,记为Test,Test= {xst+i,xst+2,…, xs};其中,S X 60 %彡ST彡S X 80 %,X1,χ2,…,xst,…,xST对应表示Train中的第1个溶解氧数 据、第2个溶解氧数据、…、第st个溶解氧数据、…、第ST个溶解氧数据, X1,χ2,…,Xst,…,XST 亦对应表示X中的第1个溶解氧数据、第2个溶解氧数据、…、第st个溶解氧数据、…、第ST个 溶解氧数据,XST+1,XST+2,…,XS对应表示Test中的第1个溶解氧数据、第2个溶解氧数据、…、 第S-ST个溶解氧数据, XST+1,XST+2,…,xs亦对应表示X中的第ST+1个溶解氧数据、第ST+2个溶 解氧数据、…、第S个溶解氧数据;
[0011]⑤根据Train中的所有溶解氧数据,利用蚁群算法优化最小二乘支持向量机的惩 罚因子和核函数宽度参数,得到最小二乘支持向量机的惩罚因子和核函数宽度参数各自的 最佳优化值,具体过程为:
[0012]
作为最小二乘支持向量机的核函 数;然后选择最小二乘支持向量机的惩罚因子c和核函数宽度参数〇作为优化选择参数;再 将区间[0, 150]作为惩罚因子的值选择范围,将区间[0.1,10]作为核函数宽度参数的值选 择范围;其中,k()为径向基函数的表示形式,X为最小二乘支持向量机的核函数的输入变 量,D为最小二乘支持向量机的核函数中心,expO表示以自然基数e为底的指数函数, 〇为最 小二乘支持向量机的核函数宽度参数,X、D和σ的值均为实数;
[0013] (D_2、设定蚁群算法中所需的蚂蚁数量为Ν;然后从惩罚因子的值选择范围中随机 选择N个值分别作为惩罚因子C的值,对应记为Cl,C2,…,Cp,…,CN ;并从核函数宽度参数的 值选择范围中随机选择N个值分别作为核函数宽度参数〇的值,对应记为,σ2,…,σ ρ,…, σΝ;其中,1〈Ν彡ST,1彡口^^,〇1、〇2、(^和(^对应为从惩罚因子的值选择范围中随机选择的第1 个值、第2个值、第p个值和第N个值,σ:、σ 2、σρ和σΝ对应为从核函数宽度参数的值选择范围中 随机选择的第1个值、第2个值、第ρ个值和第Ν个值;
[0014] (D_3、获取蚁群算法第1次搜索时每只蚂蚁的位置,将蚁群算法第1次搜索时第ρ只 蚂蚁的位置记为乂六 1),1,乂41),1=[(^,01)];其中,[(^,0 1)]表示由第?个惩罚因子(;的值(^和第?个 核函数宽度参数σ的值σ Ρ构成的第P只蚂蚁的初始位置矢量;
[0015] ?_4、确定蚁群算法第1次搜索时的头蚁及其位置,将蚁群算法第1次搜索时的头 蚁的位置记为并确定蚁群算法第1次搜索时每只蚂蚁的最佳位置,将蚁群算法第1次 搜索时第Ρ只蚂蚁的最佳位置记为iftT ;
[0016] Ζ4-和Χ<Γ的获取过程为:
[0017] al、根据Train中的所有溶解氧数据和蚁群算法第1次搜索时每只蚂蚁的位置,获 取蚁群算法第1次搜索时每只蚂蚁对应的ST个拉格朗日乘子和偏差,将蚁群算法第1次搜索 时第P只蚂蚁对应的ST个拉格朗日乘子对应记为a1>P,a2,P,…,a ST,P,将蚁群算法第1次搜索 时第P只蚂蚁对应的偏差记为bp,ai,p,a2,p,…,asT,P和b P是根据Train中的所有溶解氧数据和
[0018] a2、根据Train中的所有溶解氧数据和蚁群算法第1次搜索时每只蚂蚁的位置,计 算蚁群算法第1次搜索时每只蚂蚁对应的Train中的每个溶解氧数据的估计值,将蚁群算法 第1次搜索时第P只蚂蚁对应的T r a i η中的第s t个溶解氧数据X s t的估计值记为毛.,.
实中,a1>P表示蚁群算法第1次搜索时第p只蚂蚁对应的第 i个拉格朗日乘子;
[0019] a3、计算蚁群算法第1次搜索时每只蚂蚁的位置对应的预测误差,将蚁群算法第1 次搜索时第P只蚂蚁的位置对应的预测误差记为MSE(XA P>1),
[0020] a4、计算蚁群算法第1次搜索时每只蚂蚁的信息素,将蚁群算法第1次搜索时第p只 蚂蚁的信息素记为τ(ρ,1),T(p,l)=exp(_MSE(XA P,i));
[0021] a5、将蚁群算法第1次搜索时N只蚂蚁的信息素按序构成一个维数为1XN的信息素 矩阵,记为1111,111 1=[1(1,1)1(2,1)一1(叱1)];其中^(1,1)表示蚁群算法第1次搜索时第1 只蚂蚁的信息素,τ(2,1)表示蚁群算法第1次搜索时第2只蚂蚁的信息素,τ(Ν,1)表示蚁群 算法第1次搜索时第Ν只蚂蚁的信息素;
[0022] a6、将Im中值最大的信息素对应的蚂蚁确定为蚁群算法第1次搜索时的头蚁,将 Im中值最大的信息素对应的蚂蚁的位置作为蚁群算法第1次搜索时的头蚁的位置X4产;
[0023] a7、确定蚁群算法第1次搜索时第p只蚂蚁的最佳位置1<卩为·,
[0024] (D_5、令g表示蚁群算法的搜索次数,并令gmax表示设定的最大搜索次数;其中,g的 初始值为2,2彡g彡g max,gmax>2;
[0025] (D_6、获取蚁群算法第g次搜索时每只蚂蚁的位置,将蚁群算法第g次搜索时第p只 蚂蚁的位置记为XAP,g,= + 0.51x :其中,λ表示启发因 子,1^[0,1]4~11表示蚁群算法第8-1次搜索时第?只蚂蚁的位置,1^%1表示蚁群算法第 g-Ι次搜索时的头蚁的位置,^.表示蚁群算法第g-Ι次搜索时第Ρ蚂蚁的最佳位置;
[0026] ?_7、确定蚁群算法第g次搜索时的头蚁及其位置,将蚁群算法第g次搜索时的头 蚁的位置记为并确定蚁群算法第g次搜索时每只蚂蚁的最佳位置,将蚁群算法第g次 搜索时第P只蚂蚁的最佳位置记为
[0027] 和的获取过程为:
[0028] bl、计算蚁群算法第g次搜索时每只蚂蚁的信息素,将蚁群算法第g次搜索时第ρ只 蚂蚁的信息素记为T(p,g),T(p,g) = (l-p) XT(p,g-l)+T(p,l);其中,p表示信息素挥发数, pe[0,l],T(P,g-l)表示蚁群算法第g-Ι次搜索时第P只蚂蚁的信息素,τ(Ρ,1)表示蚁群算 法第1次搜索时第Ρ只蚂蚁的信息素;
[0029] b2、构建一个维数为gXN的信息素矩阵,记为Ing,Ing中的第h行中的Ν个信息素对 应为蚁群算法第h次搜索时N只蚂蚁的信息素;其中,1 ;
[0030] b3、将Ing中的第ρ列中的g个信息素中值最大的信息素对应的蚂蚁的位置确定为 蚁群算法第g次搜索时第P只蚂蚁的最佳位置;
[0031] b4、将Ing中值最大的信息素对应的蚂蚁确定为蚁群算法第g次搜索时的头蚁,将 1?中值最大的信息素对应的蚂蚁的位置作为蚁群算法第g次搜索时的头蚁的位置Μ?·,
[0032] b5、对·进行精细搜索,得到蚁群算法第g次搜索时的头蚁的新位置,记为 = + A X CVwc# (0,1) X ;其中,Cauchy (0,1)为用于产生0 ~1 之间分 布的随机数的函数;
[0033] b6、更新将更新后的位置记为
再令ZJf ;其中,表示蚁群算法第8次搜索时的头蚁的新位置对应的 预测误差,表示蚁群算法第g次搜索时的头蚁的位置对应的预测误差, = 中的"="为赋值符号;
[0034] ?_8、判断8〈8111£?是否成立,如果成立,则令g = g+l,然后返回步骤?_6继续执行; 否则,确定蚁群算法搜索结束,得到最终的头蚁的位置,记为XAW,D+=X4g°l,然后将 XA-对应的位置矢量[c气0叫中的C-作为最小二乘支持向量机的惩罚因子c的最佳优化 值,并将XA-对应的位置矢量[c°bV°b"中的ο-作为最小二乘支持向量机的核函数宽度参 数σ的最佳优化值;其中,g = g+l中的"="为赋值符号,表示蚁群算法第gmax次搜索时 的头蚁的位置;
[0035] ⑥根据最小二乘支持向量机的惩罚因子c的最佳优化值和核函数宽度参数〇的 最佳优化值σ^,计算Test中的每个溶解氧数据的预测值,将Test中的第r个溶解氧数据的 ;其中,1彡r彡S-ST,xST+j表示
Te s t中的第j个溶解氧数据,xsT+i?表示Te s t中的第r个溶解氧数据,aj表示Tes t对应的第j个 拉格朗日乘子,b表示Test对应的偏差,ajPb是根据Test中的所有溶解氧数据及和
[0036]所述的步骤①中的溶解氧传感器采集溶解氧数据的时间间隔为1~5分钟。
[0037]所述的步骤②中的X的获取过程为:
[0038] (D_l、找出Υ中的所有有效数据和所有坏点数据,并将有效数据的标记设为1;
[0039] ?_2、按序对Y中的每个坏点数据进行处理,将Y中当前待处理的坏点数据定义为 当前数据;
[0040] (D_3、如果当前数据为Y中的第1个溶解氧数据或当前数据为Y中的第T个溶解氧数 据或时间上先于当前数据的所有溶解氧数据均为坏点数据或时间上后于当前数据的所有 溶解氧数据均为坏点数据,则将当前数据的标记设为〇,再执行步骤②_4;
[0041] 如果当前数据不为Y中的第1个溶解氧数据且当前数据不为Y中的第T个溶解氧数 据且时间上先于当前数据的所有溶解氧数据不全为坏点数据且时间上后于当前数据的所 有溶解氧数据不全为坏点数据,则对当前数据进行线性插值以修复当前数据,使当前数据 转变成有效数据,假设当前数据为Y中的第t '个溶解氧数据yv,那么yv经线性插值修复后
,然后将经线性插值修复后的当前数据的标记设为2,再执行步骤 (D_4;其中,八表示时间上先于yt'且与yt'最邻近的标记为1的有效数据,亦为Y中的第。个 溶解氧数据,八表示时间上后于yv且与yv最邻近的标记为1的有效数据,八亦为Y中的第t2 个溶解氧数据,1彡T,1彡t2彡T,tKt ' <t2;
[0042] ?_4、将Y中下一个待处理的坏点数据作为当前数据,然后返回步骤②_3继续执 行,直至Y中的所有坏点数据处理完毕,再执行步骤(D_5;
[0043] (D_5、丢弃Y中所有标记为0的坏点数据,而保留其余溶解氧数据,得到新的溶解氧 数据序列,作为预处理后的溶解氧数据序列X。
[0044] 与现有技术相比,本发明的优点在于:
[0045] 1)本发明方法利用蚁群算法优化最小二乘支持向量机的惩罚因子和核函数宽度 参数,提高了最小二乘支持向量机的惩罚因子和核函数宽度参数的精度和泛化性能,从而 提高了溶解氧的预测精度。
[0046] 2)本发明方法在蚁群算法的迭代搜索过程中,在通过最大信息素确定头蚁的位置 后,对头蚁的位置进行精细搜索,获得头蚁的新位置,从而获得最小二乘支持向量机的惩罚 因子和核函数宽度参数的更优解,提高了溶解氧的预测精度。
[0047] 3)本发明方法在蚁群算法的迭代搜索过程中,保留每只蚂蚁搜索过程中的最佳位 置,并将蚂蚁个体的最佳位置引入搜索过程,提高了最小二乘支持向量机的惩罚因子和核 函数宽度参数的精度和泛化性能,从而提高了溶解氧的预测精度。
【附图说明】
[0048] 图1为本发明方法的总体流程框图。
【具体实施方式】
[0049]以下结合附图实施例对本发明作进一步详细描述。
[0050] 本发明提出的一种蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其总体 流程框图如图1所示,其包括以下步骤:
[0051] ①在需要预测溶解氧的水产品养殖水体中布置一个溶解氧传感器,溶解氧传感器 实时等时间间隔连续采集溶解氧数据。
[0052] 在此具体实施例中,步骤①中的溶解氧传感器采集溶解氧数据的时间间隔可设为 1~5分钟,如具体设为2分钟。
[0053] ②将溶解氧传感器等时间间隔连续采集的T个溶解氧数据按采集时间先后顺序排 列构成原始溶解氧数据序列,记为Y,Y= {yi,y2,···,yt,···,yi·};再对Y进行预处理,以丢弃或 修复Y中的坏点数据而保留Y中的有效数据,得到预处理后的溶解氧数据序列,记为X,X = {χ?,Χ2,…,Xs,…,xs} 〇
[0054] 其中,T>Z,Z表示设定的溶解氧数据最小需求量,Z的值一般可选定为600个,1 < t ,yi,y2,…,yt,…,yT对应表示Y中的第1个溶解氧数据、第2个溶解氧数据、…、第t个溶解 氧数据、…、第T个溶解氧数据,S<T,1 <s$S,X1,X2,…,Xs,…,xs对应表示X中的第1个溶解 氧数据、第2个溶解氧数据、…、第s个溶解氧数据、…、第S个溶解氧数据,坏点数据定义为: 若Y中的任一个溶解氧数据大于Y中的所有溶解氧数据的平均值的60%或者小于Y中的所有 溶解氧数据的平均值的40%,则确定该溶解氧数据为坏点数据;有效数据定义为:若Y中的 任一个溶解氧数据大于或等于Y中的所有溶解氧数据的平均值的40%且小于或等于Y中的 所有溶解氧数据的平均值的60%,则确定该溶解氧数据为有效数据。
[0055] 在此具体实施例中,步骤②中的X的获取过程为:
[0056] (D_l、找出Y中的所有有效数据和所有坏点数据,并将有效数据的标记设为1。
[0057] ?_2、按序对Y中的每个坏点数据进行处理,将Y中当前待处理的坏点数据定义为 当前数据。
[0058] (D_3、如果当前数据为Υ中的第1个溶解氧数据或当前数据为Υ中的第Τ个溶解氧数 据或时间上先于当前数据的所有溶解氧数据均为坏点数据或时间上后于当前数据的所有 溶解氧数据均为坏点数据,则将当前数据的标记设为〇,再执行步骤②_4。
[0059] 如果当前数据不为Y中的第1个溶解氧数据且当前数据不为Y中的第T个溶解氧数 据且时间上先于当前数据的所有溶解氧数据不全为坏点数据且时间上后于当前数据的所 有溶解氧数据不全为坏点数据,则对当前数据进行线性插值以修复当前数据,使当前数据 转变成有效数据,假设当前数据为Y中的第t '个溶解氧数据yv,那么yv经线性插值修复后
,然后将经线性插值修复后的当前数据的标记设为2,再执行步骤 (D_4;其中,八表示时间上先于yt'且与yt'最邻近的标记为1的有效数据,λ,亦为Y中的第七个 溶解氧数据,八表示时间上后于yt'且与yt'最邻近的标记为1的有效数据,八亦为Υ中的第t 2 个溶解氧数据,1彡乜彡T,1彡t2彡T,tKt ' <t2。
[0060] ?_4、将Y中下一个待处理的坏点数据作为当前数据,然后返回步骤②_3继续执 行,直至Y中的所有坏点数据处理完毕,再执行步骤(D_5。
[0061] (D_5、丢弃Y中所有标记为0的坏点数据,而保留其余溶解氧数据,得到新的溶解氧 数据序列,作为预处理后的溶解氧数据序列X。
[0062]③判断S多Z是否成立,如果成立,则执行步骤④;否则,返回步骤②重新获取原始 溶解氧数据序列,再进行预处理。
[0063]④选取X中的前ST个溶解氧数据构成训练集,记为Train,Train= {χι,Χ2,…, xst,…,xst};并将剩余的S-ST个溶解氧数据构成测试集,记为Test,Test= {xst+i,xst+2,…, xs};其中,S X 60 %彡ST彡S X 80 %,如具体实施时取ST = S X 70 %,X1,χ2,…,xst,…,xST对应 表示Train中的第1个溶解氧数据、第2个溶解氧数据、…、第st个溶解氧数据、…、第ST个溶 解氧数据, X1,X2,…,xst,…,xst亦对应表示X中的第1个溶解氧数据、第2个溶解氧数据、…、 第st个溶解氧数据、…、第ST个溶解氧数据,XST+1,XST+2,…,xs对应表示Test中的第1个溶解 氧数据、第2个溶解氧数据、…、第S-ST个溶解氧数据, XST+1,XST+2,…,xs亦对应表示X中的第 ST+1个溶解氧数据、第ST+2个溶解氧数据、…、第S个溶解氧数据。
[0064]⑤根据Train中的所有溶解氧数据,利用蚁群算法优化最小二乘支持向量机的惩 罚因子和核函数宽度参数,得到最小二乘支持向量机的惩罚因子和核函数宽度参数各自的 最佳优化值,具体过程为:
[0065]
作为最小二乘支持向量机的核函 数;然后选择最小二乘支持向量机的惩罚因子c和核函数宽度参数〇作为优化选择参数;再 将区间[0, 150]作为惩罚因子的值选择范围,将区间[0.1,10]作为核函数宽度参数的值选 择范围;其中,k()为径向基函数的表示形式,X为最小二乘支持向量机的核函数的输入变 量,D为最小二乘支持向量机的核函数中心,expO表示以自然基数e为底的指数函数, 〇为最 小二乘支持向量机的核函数宽度参数,X、D和σ的值均为实数。
[0066] (D_2、设定蚁群算法中所需的蚂蚁数量为N;然后从惩罚因子的值选择范围中随机 选择N个值分别作为惩罚因子C的值,对应记为Cl,C2,…,Cp,…,CN ;并从核函数宽度参数的 值选择范围中随机选择N个值分别作为核函数宽度参数〇的值,对应记为,σ2,…,σ ρ,…, σΝ;其中,1〈Ν彡ST,1彡口^^,〇1、〇2、(^和(^对应为从惩罚因子的值选择范围中随机选择的第1 个值、第2个值、第p个值和第N个值,ο:、σ 2、σρ和σΝ对应为从核函数宽度参数的值选择范围中 随机选择的第1个值、第2个值、第ρ个值和第Ν个值。
[0067] (D_3、获取蚁群算法第1次搜索时每只蚂蚁的位置,将蚁群算法第1次搜索时第ρ只 蚂蚁的位置记为乂六 1),1,乂41),1=[(^,01)];其中,[(^,0 1)]表示由第?个惩罚因子(;的值(^和第?个 核函数宽度参数σ的值σ Ρ构成的第P只蚂蚁的初始位置矢量。
[0068] ?_4、确定蚁群算法第1次搜索时的头蚁及其位置,将蚁群算法第1次搜索时的头 蚁的位置记为尤并确定蚁群算法第1次搜索时每只蚂蚁的最佳位置,将蚁群算法第1次 搜索时第Ρ只蚂蚁的最佳位置记为。
[0069] 和的获取过程为:
[0070] al、根据Train中的所有溶解氧数据和蚁群算法第1次搜索时每只蚂蚁的位置,获 取蚁群算法第1次搜索时每只蚂蚁对应的ST个拉格朗日乘子和偏差,将蚁群算法第1次搜索 时第P只蚂蚁对应的ST个拉格朗日乘子对应记为a 1>P,a2,P,…,aST,P,将蚁群算法第1次搜索 时第P只蚂蚁对应的偏差记为bp,ai, p,a2,p,…,asT,p和bp是根据Train中的所有溶解氧数据和
[0071] a2、根据Train中的所有溶解氧数据和蚁群算法第1次搜索时每只蚂蚁的位置,计 算蚁群算法第1次搜索时每只蚂蚁对应的Train中的每个溶解氧数据的估计值,将蚁群算法 第1次搜索时第P只蚂蚁对应的Train中的第st个溶解氧数据Xst的估计值记为毛,
;其中,a1>P表示蚁群算法第1次搜索时第p只蚂蚁对应的第 i个拉格朗日乘子。
[0072] a3、选择均方根误差作为预测精度衡量标准,计算蚁群算法第1次搜索时每只蚂蚁 的位置对应的预测误差,将蚁群算法第1次搜索时第P只蚂蚁的位置对应的预测误差记为
[0073] a4、计算蚁群算法第1次搜索时每只蚂蚁的信息素,将蚁群算法第1次搜索时第p只 蚂蚁的信息素记为τ(ρ,1),T(p,l)=exp(_MSE(XA P,i))。
[0074] a5、将蚁群算法第1次搜索时N只蚂蚁的信息素按序构成一个维数为1XN的信息素 矩阵,记为1111,111 1=[1(1,1)1(2,1)一1(叱1)];其中^(1,1)表示蚁群算法第1次搜索时第1 只蚂蚁的信息素,τ(2,1)表示蚁群算法第1次搜索时第2只蚂蚁的信息素,τ(Ν,1)表示蚁群 算法第1次搜索时第Ν只蚂蚁的信息素。
[0075] a6、将Im中值最大的信息素对应的蚂蚁确定为蚁群算法第1次搜索时的头蚁,将 Im中值最大的信息素对应的蚂蚁的位置作为蚁群算法第1次搜索时的头蚁的位置:
[0076] a7、确定蚁群算法第1次搜索时第p只蚂蚁的最佳位置Χ4?:Γ为= 。
[0077] (D_5、令g表示蚁群算法的搜索次数,并令gmax表示设定的最大搜索次数;其中,g的 初始值为2,2彡g彡gmax,gmax>2,在本实施例中取gmax=100。
[0078] (D_6、获取蚁群算法第g次搜索时每只蚂蚁的位置,将蚁群算法第g次搜索时第p只 蚂蚁的位置记为XAP,g,J^^=^ax:沿^, + (1-1)尤^十0.5心尤4^1:;其中,λ表示启发因 子,λε[0,1],在本实施例中取A = 〇.4,XAP>irl表示蚁群算法第g-Ι次搜索时第ρ只蚂蚁的位 置,;0?表示蚁群算法第g-Ι次搜索时的头蚁的位置,表示蚁群算法第次搜索时 第P蚂蚁的最佳位置。
[0079] ?_7、确定蚁群算法第g次搜索时的头蚁及其位置,将蚁群算法第g次搜索时的头 蚁的位置记为并确定蚁群算法第g次搜索时每只蚂蚁的最佳位置,将蚁群算法第g次 搜索时第P只蚂蚁的最佳位置记为力。
[0080] 和尤4=的获取过程为:
[0081] bl、计算蚁群算法第g次搜索时每只蚂蚁的信息素,将蚁群算法第g次搜索时第p只 蚂蚁的信息素记为T(p,g),T(p,g) = (l-p) XT(p,g-l)+T(p,l);其中,p表示信息素挥发数, pe[0,l],在本实施例中取p = 〇.6,T(p,g_l)表示蚁群算法第g-Ι次搜索时第p只蚂蚁的信 息素,τ(Ρ,1)表示蚁群算法第1次搜索时第P只蚂蚁的信息素。
[0082] b2、构建一个维数为gXN的信息素矩阵,记为Ing,Ing中的第h行中的Ν个信息素对 应为蚁群算法第h次搜索时N只蚂蚁的信息素;其中,l<h<g。
[0083] b3、将Ing中的第p列中的g个信息素中值最大的信息素对应的蚂蚁的位置确定为 蚁群算法第g次搜索时第P只蚂蚁的最佳位置。
[0084] b4、将Ing中值最大的信息素对应的蚂蚁确定为蚁群算法第g次搜索时的头蚁,将 1?中值最大的信息素对应的蚂蚁的位置作为蚁群算法第g次搜索时的头蚁的位置
[0085] b5、对进行精细搜索,得到蚁群算法第g次搜索时的头蚁的新位置,记为 ,X沿f + i X Owe# (0,1) X ;其中,Cauchy (0,1)为用于产生0 ~1 之间分 布的随机数的函数。
[0086] b6、更新Uf,将更新后的位置记为
再令=GX4f ;其中,;)表示蚁群算法第g次搜索时的头蚁的新位置对应的 预测误差,表示蚁群算法第g次搜索时的头蚁的位置对应的预测误差, = 中的"="为赋值符号。
[0087] 在此,(AX4f )的获取过程为:
[0088] cl、根据Train中的所有溶解氧数据和蚁群算法第g次搜索时的头蚁的新位置,获取 蚁群算法第g次搜索时的头蚁对应的ST个拉格朗日乘子和偏差,对应记为…,尝,将 蚁群算法第g次搜索时的头蚁对应的偏差记为13'°^广,《,,一,《尝和13'%是根据1'^^11中的
[0089] c2、根据Train中的所有溶解氧数据和蚁群算法第g次搜索时的头蚁的新位置,计 算蚁群算法第g次搜索时的头蚁对应的Train中的每个溶解氧数据的估计值,将蚁群算法第 g次搜索时的头蚁对应的T r a i η中的第s t个溶解氧数据X s t的估计值记为九,
其中,表示蚁群算法第g次搜索时的头蚁对应的第i 个拉格朗日乘子。
[0090] C3、计算蚁群算法第g次搜索时的头蚁的新位置对应的预测误差;),
[0091] 在此,)的获取过程为:
[0092] dl、根据Train中的所有溶解氧数据和蚁群算法第g次搜索时的头蚁的位置,获取蚁 群算法第g次搜索时的头蚁对应的ST个拉格朗日乘子和偏差,对应记为···,?货,将蚁 群算法第g次搜索时的头蚁对应的偏差记为b~,af',···,^货和b~是根据Train中的所有
[0093] d2、根据Train中的所有溶解氧数据和蚁群算法第g次搜索时的头蚁的位置,计算 蚁群算法第g次搜索时的头蚁对应的Train中的每个溶解氧数据的估计值,将蚁群算法第g 次搜索时的头蚁对应的T r a i η中的第s t个溶解氧数据X s t的估计值记为元,,
;其中,表示蚁群算法第g次搜索时的头蚁对应的第i 个拉格朗日乘子。
[0094] d3、计算蚁群算法第g次搜索时的头蚁的位置对应的预测误差MS'£fA〔4f j,
[0095] ?_8、判断g〈gmax是否成立,如果成立,则令g = g+l,然后返回步骤?_6继续执行; 否则,确定蚁群算法搜索结束,得到最终的头蚁的位置,记为然后将 XA-对应的位置矢量[c气σ°,中的作为最小二乘支持向量机的惩罚因子c的最佳优化 值,并将XA-对应的位置矢量[c°bV°,中的作为最小二乘支持向量机的核函数宽度参 数σ的最佳优化值;其中,g = g+l中的"="为赋值符号,表示蚁群算法第gmax次搜索时 的头蚁的位置。
[0096] ⑥根据最小二乘支持向量机的惩罚因子c的最佳优化值和核函数宽度参数〇的 最佳优化值σ^,计算Test中的每个溶解氧数据的预测值,将Test中的第r个溶解氧数据的
;其中,1彡r彡S-ST,xST+j表示 Te s t中的第j个溶解氧数据,xsT+i?表示Te s t中的第r个溶解氧数据,aj表示Tes t对应的第j个 拉格朗日乘子,b表示Test对应的偏差,ajPb是根据Test中的所有溶解氧数据及c°W和
[0097] 为了验证本发明方法的可行性和有效性,对本发明方法进行试验。
[0098]在某南美白对虾养殖池塘,于2015年9月12日、13日两天,将溶解氧传感器采集的 所有溶解氧数据构成原始溶解氧数据序列;对原始溶解氧数据序列进行预处理,得到预处 理后的溶解氧数据序列,预处理后的溶解氧数据序列包含1400个溶解氧数据;预处理后的 溶解氧数据序列中的前980(1400X70% =980)个溶解氧数据构成训练集,预处理后的溶解 氧数据序列中剩余的420 (1400 X 30 % = 420)个溶解氧数据构成测试集;设Ν= 120,gmax = 100,λ = 0.4,Ρ = 0.6,根据训练集中的980个溶解氧数据,利用蚁群算法优化最小二乘支持 向量机的惩罚因子和核函数宽度参数,得到最小二乘支持向量机的惩罚因子的最佳优化值 为61和核函数宽度参数的最佳优化值为1.22;根据最小二乘支持向量机的惩罚因子c的最 佳优化值61和核函数宽度参数 〇的最佳优化值1.22,计算测试集中的每个溶解氧数据的预 测值。
[0099]采用均方根误差(RMSE)和平均误差(ΜΑΡΕ)作为溶解氧数据的预测值的误差标准,
理后的溶解氧数据序列中的第980+j个溶解氧数据,即为测试集中的第j个溶解氧数据, 表示预处理后的溶解氧数据序列中的第980+j个溶解氧数据的预测值,即为测试集中 的第j个溶解氧数据的预测值,符号" I I"为取绝对值符号。
[0100] 为验证本发明方法的有效性,分别采用BP神经网络的溶解氧预测方法、传统蚁群 算法优化最小二乘支持向量机的溶解氧预测方法(AC0-LSSVM)和本发明方法(CAC0-LSSVM) 对上述的原始溶解氧数据序列进行处理,溶解氧数据的预测值的误差标准如表1所列。
[0101] 表1采用不同的溶解氧预测方法,得到的溶解氧数据的预测值的误差标准
[0103]从表1中可知,本发明方法的均方根误差(RMSE)和平均误差(MAPE)均低于现有的 两种溶解氧预测方法,说明采用本发明方法预测得到的溶解氧数据的预测值的精度更高, 足以说明本发明方法是有效的。
【主权项】
1. 一种蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其特征在于包括W下步 骤: ① 在需要预测溶解氧的水产品养殖水体中布置一个溶解氧传感器,溶解氧传感器实时 等时间间隔连续采集溶解氧数据; ② 将溶解氧传感器等时间间隔连续采集的T个溶解氧数据按采集时间先后顺序排列构 成原始溶解氧数据序列,记为¥八=^1,72,-',7*,-',7了};再对¥进行预处理,^丢弃或修复 Y中的坏点数据而保留Y中的有效数据,得到预处理后的溶解氧数据序列,记为X,X= {XI, X2,··· ,Xs,··· ,Xs}; 其中,Τ〉Ζ,Ζ表示设定的溶解氧数据最小需求量,l《t《T,yi,y2,…,yt,-',yT对应表示Υ 中的第1个溶解氧数据、第2个溶解氧数据、…、第t个溶解氧数据、…、第Τ个溶解氧数据,S《 T,1《s《S,XI,X2,…,xs,…,XS对应表示X中的第1个溶解氧数据、第2个溶解氧数据、…、第S 个溶解氧数据、…、第S个溶解氧数据,坏点数据定义为:若Y中的任一个溶解氧数据大于Y中 的所有溶解氧数据的平均值的60%或者小于Y中的所有溶解氧数据的平均值的40%,则确 定该溶解氧数据为坏点数据;有效数据定义为:若Y中的任一个溶解氧数据大于或等于Y中 的所有溶解氧数据的平均值的40%且小于或等于Y中的所有溶解氧数据的平均值的60%, 则确定该溶解氧数据为有效数据; ③ 判断S>Z是否成立,如果成立,则执行步骤④;否则,返回步骤②重新获取原始溶解 氧数据序列,再进行预处理; @选取乂中的前51'个溶解氧数据构成训练集,记为时曰;[]1,时曰;[]1={>1,义2,'''心1;,···, xst};并将剩余的S-ST个溶解氧数据构成测试集,记为Test,Test= {xsT+1,xsT+2,…,xs};其 中,SX60%《ST《SX80%,xl,X2,···,Xst,···,xsτ对应表示Train中的第l个溶解氧数据、第2 个溶解氧数据、…、第St个溶解氧数据、…、第ST个溶解氧数据,XI,X2,…,Xst,…,XST亦对应 表示X中的第1个溶解氧数据、第2个溶解氧数据、…、第St个溶解氧数据、…、第ST个溶解氧 数据,XST+1,XST+2,…,X拥应表示TeSt中的第1个溶解氧数据、第2个溶解氧数据、…、第S-ST 个溶解氧数据,XST+1,XST+2,…,XS亦对应表示X中的第ST+1个溶解氧数据、第ST+2个溶解氧数 据、…、第S个溶解氧数据; ⑤根据Train中的所有溶解氧数据,利用蚁群算法优化最小二乘支持向量机的惩罚因 子和核函数宽度参数,得到最小二乘支持向量机的惩罚因子和核函数宽度参数各自的最佳 优化值,具体过程为: (D_l、选择径向基函数作为最小二乘支持向量机的核函数;然 后选择最小二乘支持向量机的惩罚因子C和核函数宽度参数0作为优化选择参数;再将区间 [0,150]作为惩罚因子的值选择范围,将区间[0.1,10]作为核函数宽度参数的值选择范围; 其中,k()为径向基函数的表示形式,X为最小二乘支持向量机的核函数的输入变量,D为最 小二乘支持向量机的核函数中屯、,exp0表示W自然基数e为底的指数函数,σ为最小二乘支 持向量机的核函数宽度参数,X、D和σ的值均为实数; @_2、设定蚁群算法中所需的妈蚁数量为Ν;然后从惩罚因子的值选择范围中随机选择 Ν个值分别作为惩罚因子C的值,对应记为C1,C2,…,Cp,…,CN ;并从核函数宽度参数的值选 择范围中随机选择N个值分别作为核函数宽度参数σ的值,对应记为σι,〇2,…,Op,…,ON;其 中,l<N《ST,l《p《N,cl、C2、Cp和CN对应为从惩罚因子的值选择范围中随机选择的第l个 值、第2个值、第P个值和第N个值,〇i、〇2、〇p和〇N对应为从核函数宽度参数的值选择范围中随 机选择的第1个值、第2个值、第P个值和第N个值; @_3、获取蚁群算法第1次捜索时每只妈蚁的位置,将蚁群算法第1次捜索时第P只妈蚁 的位置记为ΧΑρ, 1,XAp, 1= kp,Op];其中,kp,Op]表示由第P个惩罚因子C的值Cp和第P个核函 数宽度参数σ的值Op构成的第P只妈蚁的初始位置矢量; @_4、确定蚁群算法第1次捜索时的头蚁及其位置,将蚁群算法第1次捜索时的头蚁的 位置记为龙并确定蚁群算法第1次捜索时每只妈蚁的最佳位置,将蚁群算法第1次捜索 时第P只妈蚁的最佳位置记为沿; 乂的获取过程为: al、根据化ain中的所有溶解氧数据和蚁群算法第1次捜索时每只妈蚁的位置,获取蚁 群算法第1次捜索时每只妈蚁对应的ST个拉格朗日乘子和偏差,将蚁群算法第1次捜索时第 P只妈蚁对应的ST个拉格朗日乘子对应记为ai,p,a2,p,…,asT,p,将蚁群算法第1次捜索时第P 只妈蚁对应的偏差记为bp,ai,p ,a2,p,…,asT,p和bp是根据Train中的所有溶解氧数据和ΧΑρ,ι,a2、根据化ain中的所有溶解氧数据和蚁群算法第1次捜索时每只妈蚁的位置,计算蚁 群算法第1次捜索时每只妈蚁对应的化ain中的每个溶解氧数据的估计值,将蚁群算法第1 次捜索时第P只妈蚁对应的Train中的第St个溶解氧数据xst的估计值记为%,;其中,ai,p表示蚁群算法第1次捜索时第P只妈蚁对应的第 i个拉格朗日乘子; a3、计算蚁群算法第1次捜索时每只妈蚁的位置对应的预测误差,将蚁群算法第1次捜 索时第P只妈蚁的位置对应的预测误差记为MSE(XAp,i)a4、计算蚁群算法第1次捜索时每只妈蚁的信息素,将蚁群算法第1次捜索时第P只妈蚁 的信息素记为τ(ρ,1),T(P,l)=exp(-MSE(XAp,i)); a5、将蚁群算法第1次捜索时N只妈蚁的信息素按序构成一个维数为IXN的信息素矩 阵,记为Ιηι,Ιηι=[τ(1,1) τ(2,1)…τ(Ν,1)];其中,τ(1,1)表示蚁群算法第1次捜索时第 1只妈蚁的信息素,τ(2,1)表示蚁群算法第1次捜索时第2只妈蚁的信息素,τ(Ν,1)表示蚁群 算法第1次捜索时第Ν只妈蚁的信息素; a6、将Im中值最大的信息素对应的妈蚁确定为蚁群算法第1次捜索时的头蚁,将Im中 值最大的信息素对应的妈蚁的位置作为蚁群算法第1次捜索时的头蚁的位置 a7、确定蚁群算法第1次捜索时第P只妈蚁的最佳位置为; @_5、令g表示蚁群算法的捜索次数,并令gmax表示设定的最大捜索次数;其中,g的初始 值为2,2《g《gmax ,抑ax〉2 ; @_6、获取蚁群算法第g次捜索时每只妈蚁的位置,将蚁群算法第g次捜索时第p只妈蚁 的位置记为XAp,g,义心g=0.52χ义4p.g_l+(l-iμ?"?+0.5スχ义(6:_l;其中,人表示启发因子,入 £[0,1],乂4。,8-1表示蚁群算法第曰-1次捜索时第9只妈蚁的位置,^半&,表示蚁群算法第邑-1 次捜索时的头蚁的位置,舍1表示蚁群算法第g-1次捜索时第P妈蚁的最佳位置; @_7、确定蚁群算法第g次捜索时的头蚁及其位置,将蚁群算法第g次捜索时的头蚁的 位置记为并确定蚁群算法第g次捜索时每只妈蚁的最佳位置,将蚁群算法第g次捜索 时第P只妈蚁的最佳位置记为; 和的获取过程为: bl、计算蚁群算法第g次捜索时每只妈蚁的信息素,将蚁群算法第g次捜索时第P只妈蚁 的信息素记为T(P,g),T(P,g) = (l-p) XT(P,g-l)h(P,l);其中,P表示信息素挥发数,pe [0,1],1(9,肖-1)表示蚁群算法第肖-1次捜索时第9只妈蚁的信息素,1(9,1)表示蚁群算法第 1次捜索时第P只妈蚁的信息素; b2、构建一个维数为gXN的信息素矩阵,记为Ing,Ing中的第h行中的N个信息素对应为 蚁群算法第h次捜索时N只妈蚁的信息素;其中,l《h《g; b3、将Ing中的第P列中的g个信息素中值最大的信息素对应的妈蚁的位置确定为蚁群算 法第g次捜索时第P只妈蚁的最佳位置; b4、将Ing中值最大的信息素对应的妈蚁确定为蚁群算法第g次捜索时的头蚁,将Ing中 值最大的信息素对应的妈蚁的位置作为蚁群算法第g次捜索时的头蚁的位置為f; b5、对进行精细捜索,得到蚁群算法第g次捜索时的头蚁的新位置,记为 乂\'/if = 乂+乂χΓ""Φ'(〇,!)χ 乂<";其中,CauchWO,1)为用于产生0~1之间分布的随 机数的函数; b6、更新乂,将更新后的位置记为(再令=GX4f ;其中,;)表示蚁群算法第g次捜索时的头蚁的新位置对应的 预测误差,表示蚁群算法第g次捜索时的头蚁的位置对应的预测误差, = GOf中的"="为赋值符号; @_8、判断g<gmax是否成立,如果成立,则令g = g+l,然后返回步骤@_6继续执行;否则, 确定蚁群算法捜索结束,得到最终的头蚁的位置,记为XA°W,,然后将XA°W对应 的位置矢量中的cdW作为最小二乘支持向量机的惩罚因子c的最佳优化值,并将 XA°W对应的位置矢量^°",〇°叫中的0°叫乍为最小二乘支持向量机的核函数宽度参数。的最 佳优化值;其中,g = g+l中的"="为赋值符号,表示蚁群算法第gmax次捜索时的头蚁的 位置; ⑥根据最小二乘支持向量机的惩罚因子C的最佳优化值和核函数宽度参数0的最佳 优化值计算Test中的每个溶解氧数据的预测值,将Test中的第r个溶解氧数据的预测 值记为去邸.+,6'巧中,l《r《S-ST,xsτ+j表示Test中 的第j个溶解氧数据,xsT+r表示Test中的第r个溶解氧数据,aj表示Test对应的第j个拉格朗 日乘子,b表示Test对应的偏差,a神化是根据Test中的所有溶解氧数据及和计算2.根据权利要求1所述的蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其特 征在于所述的步骤①中的溶解氧传感器采集溶解氧数据的时间间隔为1~5分钟。3.根据权利要求1所述的蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其特 征在于所述的步骤②中的X的获取过程为: (D_1、找出Y中的所有有效数据和所有坏点数据,并将有效数据的标记设为1; @_2、按序对Y中的每个坏点数据进行处理,将Y中当前待处理的坏点数据定义为当前 数据; @_3、如果当前数据为Y中的第1个溶解氧数据或当前数据为Y中的第T个溶解氧数据或 时间上先于当前数据的所有溶解氧数据均为坏点数据或时间上后于当前数据的所有溶解 氧数据均为坏点数据,则将当前数据的标记设为0,再执行步骤②_4; 如果当前数据不为Y中的第1个溶解氧数据且当前数据不为Y中的第T个溶解氧数据且 时间上先于当前数据的所有溶解氧数据不全为坏点数据且时间上后于当前数据的所有溶 解氧数据不全为坏点数据,则对当前数据进行线性插值W修复当前数据,使当前数据转变 成有效数据,假设当前数据为Y中的第t'个溶解氧数据yt',那么yt'经线性插值修复后等于然后将经线性插值修复后的当前数据的标记设为2,再执行步骤②_4; 其中,义,表示时间上先于yt'且与yt'最邻近的标记为1的有效数据,亦为Y中的第ti个溶解 氧数据,&表示时间上后于yt'且与yt'最邻近的标记为1的有效数据,.Vf:亦为Y中的第t2个溶 解氧数据,1《ti《T,1《t2《T,tl<t ' <t2 ; @_4、将Υ中下一个待处理的坏点数据作为当前数据,然后返回步骤②_3继续执行,直 至Y中的所有坏点数据处理完毕,再执行步骤(D_5; @_5、丢弃Y中所有标记为0的坏点数据,而保留其余溶解氧数据,得到新的溶解氧数据 序列,作为预处理后的溶解氧数据序列X。
【文档编号】G06Q10/04GK106096780SQ201610414075
【公开日】2016年11月9日
【申请日】2016年6月13日 公开号201610414075.3, CN 106096780 A, CN 106096780A, CN 201610414075, CN-A-106096780, CN106096780 A, CN106096780A, CN201610414075, CN201610414075.3
【发明人】张秀丽, 王建平
【申请人】浙江万里学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1