[发明专利]蚁群算法优化最小二乘支持向量机的溶解氧预测方法有效
申请号: | 201610414075.3 | 申请日: | 2016-06-13 |
公开(公告)号: | CN106096780B | 公开(公告)日: | 2019-06-11 |
发明(设计)人: | 张秀丽;王建平 | 申请(专利权)人: | 浙江万里学院 |
主分类号: | G06F17/50 | 分类号: | G06F17/50;G06Q10/04;G06Q50/04 |
代理公司: | 宁波奥圣专利代理事务所(普通合伙) 33226 | 代理人: | 周珏 |
地址: | 315100*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其先对原始溶解氧数据序列进行预处理以丢弃或修复坏点数据;然后将预处理后的溶解氧数据序列分成训练集和测试集;接着根据训练集中的所有溶解氧数据,利用蚁群算法优化最小二乘支持向量机的惩罚因子和核函数宽度参数,得到各自的最佳优化值;最后根据惩罚因子和核函数宽度参数的最佳优化值,计算测试集中的每个溶解氧数据的预测值;优点是利用蚁群算法优化最小二乘支持向量机的惩罚因子和核函数宽度参数,并在迭代搜索过程中,对头蚁的位置进行精细搜索获得头蚁的新位置,且保留每只蚂蚁搜索过程中的最佳位置,将蚂蚁的最佳位置引入搜索过程,提高了溶解氧的预测精度。 | ||
搜索关键词: | 算法 优化 最小 支持 向量 溶解氧 预测 方法 | ||
【主权项】:
1.一种蚁群算法优化最小二乘支持向量机的溶解氧预测方法,其特征在于包括以下步骤:①在需要预测溶解氧的水产品养殖水体中布置一个溶解氧传感器,溶解氧传感器实时等时间间隔连续采集溶解氧数据;②将溶解氧传感器等时间间隔连续采集的T个溶解氧数据按采集时间先后顺序排列构成原始溶解氧数据序列,记为Y,Y={y1,y2,…,yt,…,yT};再对Y进行预处理,以丢弃或修复Y中的坏点数据而保留Y中的有效数据,得到预处理后的溶解氧数据序列,记为X,X={x1,x2,…,xs,…,xS};其中,T>Z,Z表示设定的溶解氧数据最小需求量,1≤t≤T,y1,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%,则确定该溶解氧数据为有效数据;所述的步骤②中的X的获取过程为:②_1、找出Y中的所有有效数据和所有坏点数据,并将有效数据的标记设为1;②_2、按序对Y中的每个坏点数据进行处理,将Y中当前待处理的坏点数据定义为当前数据;②_3、如果当前数据为Y中的第1个溶解氧数据或当前数据为Y中的第T个溶解氧数据或时间上先于当前数据的所有溶解氧数据均为坏点数据或时间上后于当前数据的所有溶解氧数据均为坏点数据,则将当前数据的标记设为0,再执行步骤②_4;如果当前数据不为Y中的第1个溶解氧数据且当前数据不为Y中的第T个溶解氧数据且时间上先于当前数据的所有溶解氧数据不全为坏点数据且时间上后于当前数据的所有溶解氧数据不全为坏点数据,则对当前数据进行线性插值以修复当前数据,使当前数据转变成有效数据,假设当前数据为Y中的第t'个溶解氧数据yt',那么yt'经线性插值修复后等于然后将经线性插值修复后的当前数据的标记设为2,再执行步骤②_4;其中,表示时间上先于yt'且与yt'最邻近的标记为1的有效数据,亦为Y中的第t1个溶解氧数据,表示时间上后于yt'且与yt'最邻近的标记为1的有效数据,亦为Y中的第t2个溶解氧数据,1≤t1≤T,1≤t2≤T,t1<t'<t2;②_4、将Y中下一个待处理的坏点数据作为当前数据,然后返回步骤②_3继续执行,直至Y中的所有坏点数据处理完毕,再执行步骤②_5;②_5、丢弃Y中所有标记为0的坏点数据,而保留其余溶解氧数据,得到新的溶解氧数据序列,作为预处理后的溶解氧数据序列X;③判断S≥Z是否成立,如果成立,则执行步骤④;否则,返回步骤②重新获取原始溶解氧数据序列,再进行预处理;④选取X中的前ST个溶解氧数据构成训练集,记为Train,Train={x1,x2,…,xst,…,xST};并将剩余的S‑ST个溶解氧数据构成测试集,记为Test,Test={xST+1,xST+2,…,xS};其中,S×60%≤ST≤S×80%,x1,x2,…,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个溶解氧数据;⑤根据Train中的所有溶解氧数据,利用蚁群算法优化最小二乘支持向量机的惩罚因子和核函数宽度参数,得到最小二乘支持向量机的惩罚因子和核函数宽度参数各自的最佳优化值,具体过程为:⑤_1、选择径向基函数作为最小二乘支持向量机的核函数;然后选择最小二乘支持向量机的惩罚因子c和核函数宽度参数σ作为优化选择参数;再将区间[0,150]作为惩罚因子的值选择范围,将区间[0.1,10]作为核函数宽度参数的值选择范围;其中,k()为径向基函数的表示形式,x为最小二乘支持向量机的核函数的输入变量,D为最小二乘支持向量机的核函数中心,exp()表示以自然基数e为底的指数函数,σ为最小二乘支持向量机的核函数宽度参数,x、D和σ的值均为实数;⑤_2、设定蚁群算法中所需的蚂蚁数量为N;然后从惩罚因子的值选择范围中随机选择N个值分别作为惩罚因子c的值,对应记为c1,c2,…,cp,…,cN;并从核函数宽度参数的值选择范围中随机选择N个值分别作为核函数宽度参数σ的值,对应记为σ1,σ2,…,σp,…,σN;其中,1<N≤ST,1≤p≤N,c1、c2、cp和cN对应为从惩罚因子的值选择范围中随机选择的第1个值、第2个值、第p个值和第N个值,σ1、σ2、σp和σN对应为从核函数宽度参数的值选择范围中随机选择的第1个值、第2个值、第p个值和第N个值;⑤_3、获取蚁群算法第1次搜索时每只蚂蚁的位置,将蚁群算法第1次搜索时第p只蚂蚁的位置记为XAp,1,XAp,1=[cp,σp];其中,[cp,σp]表示由第p个惩罚因子c的值cp和第p个核函数宽度参数σ的值σp构成的第p只蚂蚁的初始位置矢量;⑤_4、确定蚁群算法第1次搜索时的头蚁及其位置,将蚁群算法第1次搜索时的头蚁的位置记为并确定蚁群算法第1次搜索时每只蚂蚁的最佳位置,将蚁群算法第1次搜索时第p只蚂蚁的最佳位置记为和的获取过程为:a1、根据Train中的所有溶解氧数据和蚁群算法第1次搜索时每只蚂蚁的位置,获取蚁群算法第1次搜索时每只蚂蚁对应的ST个拉格朗日乘子和偏差,将蚁群算法第1次搜索时第p只蚂蚁对应的ST个拉格朗日乘子对应记为a1,p,a2,p,…,aST,p,将蚁群算法第1次搜索时第p只蚂蚁对应的偏差记为bp,a1,p,a2,p,…,aST,p和bp是根据Train中的所有溶解氧数据和XAp,1,计算得到的;其中,a2、根据Train中的所有溶解氧数据和蚁群算法第1次搜索时每只蚂蚁的位置,计算蚁群算法第1次搜索时每只蚂蚁对应的Train中的每个溶解氧数据的估计值,将蚁群算法第1次搜索时第p只蚂蚁对应的Train中的第st个溶解氧数据xst的估计值记为其中,ai,p表示蚁群算法第1次搜索时第p只蚂蚁对应的第i个拉格朗日乘子;a3、计算蚁群算法第1次搜索时每只蚂蚁的位置对应的预测误差,将蚁群算法第1次搜索时第p只蚂蚁的位置对应的预测误差记为MSE(XAp,1),a4、计算蚁群算法第1次搜索时每只蚂蚁的信息素,将蚁群算法第1次搜索时第p只蚂蚁的信息素记为τ(p,1),τ(p,1)=exp(‑MSE(XAp,1));a5、将蚁群算法第1次搜索时N只蚂蚁的信息素按序构成一个维数为1×N的信息素矩阵,记为In1,In1=[τ(1,1)τ(2,1)…τ(N,1)];其中,τ(1,1)表示蚁群算法第1次搜索时第1只蚂蚁的信息素,τ(2,1)表示蚁群算法第1次搜索时第2只蚂蚁的信息素,τ(N,1)表示蚁群算法第1次搜索时第N只蚂蚁的信息素;a6、将In1中值最大的信息素对应的蚂蚁确定为蚁群算法第1次搜索时的头蚁,将In1中值最大的信息素对应的蚂蚁的位置作为蚁群算法第1次搜索时的头蚁的位置a7、确定蚁群算法第1次搜索时第p只蚂蚁的最佳位置为⑤_5、令g表示蚁群算法的搜索次数,并令gmax表示设定的最大搜索次数;其中,g的初始值为2,2≤g≤gmax,gmax>2;⑤_6、获取蚁群算法第g次搜索时每只蚂蚁的位置,将蚁群算法第g次搜索时第p只蚂蚁的位置记为XAp,g,其中,λ表示启发因子,λ∈[0,1],XAp,g‑1表示蚁群算法第g‑1次搜索时第p只蚂蚁的位置,表示蚁群算法第g‑1次搜索时的头蚁的位置,表示蚁群算法第g‑1次搜索时第p蚂蚁的最佳位置;⑤_7、确定蚁群算法第g次搜索时的头蚁及其位置,将蚁群算法第g次搜索时的头蚁的位置记为并确定蚁群算法第g次搜索时每只蚂蚁的最佳位置,将蚁群算法第g次搜索时第p只蚂蚁的最佳位置记为和的获取过程为:b1、计算蚁群算法第g次搜索时每只蚂蚁的信息素,将蚁群算法第g次搜索时第p只蚂蚁的信息素记为τ(p,g),τ(p,g)=(1‑ρ)×τ(p,g‑1)+τ(p,1);其中,ρ表示信息素挥发数,ρ∈[0,1],τ(p,g‑1)表示蚁群算法第g‑1次搜索时第p只蚂蚁的信息素,τ(p,1)表示蚁群算法第1次搜索时第p只蚂蚁的信息素;b2、构建一个维数为g×N的信息素矩阵,记为Ing,Ing中的第h行中的N个信息素对应为蚁群算法第h次搜索时N只蚂蚁的信息素;其中,1≤h≤g;b3、将Ing中的第p列中的g个信息素中值最大的信息素对应的蚂蚁的位置确定为蚁群算法第g次搜索时第p只蚂蚁的最佳位置b4、将Ing中值最大的信息素对应的蚂蚁确定为蚁群算法第g次搜索时的头蚁,将Ing中值最大的信息素对应的蚂蚁的位置作为蚁群算法第g次搜索时的头蚁的位置b5、对进行精细搜索,得到蚁群算法第g次搜索时的头蚁的新位置,记为其中,Cauchy(0,1)为用于产生0~1之间分布的随机数的函数;b6、更新将更新后的位置记为再令其中,表示蚁群算法第g次搜索时的头蚁的新位置对应的预测误差,表示蚁群算法第g次搜索时的头蚁的位置对应的预测误差,中的“=”为赋值符号;⑤_8、判断g<gmax是否成立,如果成立,则令g=g+1,然后返回步骤⑤_6继续执行;否则,确定蚁群算法搜索结束,得到最终的头蚁的位置,记为XAobj,然后将XAobj对应的位置矢量[cobj,σobj]中的cobj作为最小二乘支持向量机的惩罚因子c的最佳优化值,并将XAobj对应的位置矢量[cobj,σobj]中的σobj作为最小二乘支持向量机的核函数宽度参数σ的最佳优化值;其中,g=g+1中的“=”为赋值符号,表示蚁群算法第gmax次搜索时的头蚁的位置;⑥根据最小二乘支持向量机的惩罚因子c的最佳优化值cobj和核函数宽度参数σ的最佳优化值σobj,计算Test中的每个溶解氧数据的预测值,将Test中的第r个溶解氧数据的预测值记为其中,1≤r≤S‑ST,xST+j表示Test中的第j个溶解氧数据,xST+r表示Test中的第r个溶解氧数据,aj表示Test对应的第j个拉格朗日乘子,b表示Test对应的偏差,aj和b是根据Test中的所有溶解氧数据及cobj和σobj,计算得到的,
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江万里学院,未经浙江万里学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610414075.3/,转载请声明来源钻瓜专利网。
- 上一篇:永磁动力机
- 下一篇:一种酒香助眠复合蓝莓果汁及其制备方法