一种基于改进RBFNN算法的多功能水下水质自动监测系统及监测方法与流程

文档序号:16743152发布日期:2019-01-28 13:12阅读:158来源:国知局
一种基于改进RBFNN算法的多功能水下水质自动监测系统及监测方法与流程

本发明涉及水质监测装置和方法,尤其是涉及一种基于改进rbfnn算法的多功能水下水质自动监测系统及监测方法。



背景技术:

随着工业的发展,水质污染越来越严重,化学需氧量(cod)与含氮量、ph值均能反映水中受还原性物质污染的程度,是衡量环境质量的重要标准,目前,水质的测定传统方法一般采用化学方法,主要采用重铬酸钾标准法、库仑滴定法,根据水质氯离子浓度的不同其监测方法也不同,淡水一般使用重铬酸钾法、酸性高锰酸钾法,海水使用碱性高锰酸钾法。但这些传统方法都存在试剂用量大,二次污染严重、测试时间长、操作步骤繁杂、测量对象单一、自动化程度低的缺点,已不适应现代化的市场需求。

水质测量的分光光度测量法是在滴定法的测量基础上进行的,使用吸收光谱原理,根据溶液内滴定完成后试剂内离子含量多少,分别采用不同波长的紫外光源测量不同浓度的水质待测溶液的吸光度,因此依据所得吸光度工作曲线,可以表示出水样中化学需氧量、含氮量、ph值。分光光度测量法是滴定法的一种改进,节省试剂,操作方便。但现存的仪器大多只能测量水质的一种参数,而不能完成多参数的统一测量,这也导致了水质测量结果的片面性及不准确性,因此如何研究一种新型的支持多参数同时测量的水质监测仪器迫在眉睫。

市场现存的基于分光光度法的水质监测仪一般需要配套相应生产公司的专用试剂,且必须要人为的滴定试剂,需要人工取样,人工操作完成各个水质监测步骤,因此浪费了大量的人力物力财力,且取得的水样单一,不能体现不同深度的水域环境下的水质情况,监测结果不理想,而且水质监测仪器在不同测量环境下的兼容能力很差,对于水域环境的实际测量片面,测量速度及精度有待提高,且仪器价格昂贵、体积巨大操作步骤复杂不便于实际应用。故如何实现集多功能、价格低廉、数据动态存取与离线处理、现场测量与远距离监测、人工测量与自动化测量、不同水深水质测量、测量简单精确、快速便携于一体是水质监测仪器所面临的迫切问题之一。



技术实现要素:

发明目的:一个目的是提供一种基于改进rbfnn算法的多功能水下水质自动监测系统及监测方法,以解决现有技术与应用存在的上述问题,扩展水质监测仪功能,改进水质监测仪器对不同水深下的多个参数的自动化测量功能及野外测量功能,同时测量多点水质不同水深处水质的多种参数,使得水质监测工作更加方便快捷,同时,采用labview设计用户gui界面,并调用python实现对水质测量数据的分类等算法,完成对水质参数的多点精确采集及数据分析。

技术方案:为实现上述发明目的,本发明采用以下技术方案:

一种基于改进rbfnn算法的多功能水下水质自动监测系统,包括上位机和监测仪,上位机包括labview界面设计部分及python数据处理部分,上位机通过labview设计gui界面,借助内部接口函数调用python函数采用改进rbfnn算法完成样本数据处理,先将样本数据集分为测试集和训练集,用训练集训练改进rbfnn模型,用训练好的改进rbfnn模型对测试集样本数据进行离线分类处理,所述样本数据是从sd卡数据动态存取模块读取到上位机的、由多个测量得到的水质参数组成的数据集;并设计gui界面对结果进行显示;

监测仪包括可伸缩固定支架、盒体、下位机、滑动模块和电源模块,其中:

可伸缩固定支架下端固定于水中,用于固定整个监测仪;

盒体密封,顶端开有一孔,盒体外部置有一个测量开关,盒体内壁设有防水层,且下位机和电源模块位于防水层里面;

下位机用于控制滑动模块和采集水质参数数据,并将采集的水质参数数据上传至上位机;

滑动模块用于连接盒体与可伸缩固定支架;

电源模块为监测仪各模块供电;

下位机控制滑动模块,使盒体在垂直方向上上下移动,进而采集不同水深的多个水质参数。

可选的,可伸缩固定支架包括上下两节不锈钢铁管,上节为伸缩节,下节为固定节,伸缩节下端带有一个弹簧插销,固定节上分布有多个与弹簧插销配合的固定孔,当把弹簧插销插到不同的固定孔时,整个可伸缩固定支架具有不同的高度,伸缩节和固定节通过弹簧插销和固定孔固定连接。

可选的,下位机包括单片机、多通道分光光度测量水质模块和数据存取模块,单片机包括控制单元、外部rtc、外部晶振、信号调理放大电路和多通道adc转换模块,多通道分光光度测量水质模块包括固定底座、双通道分光光度器、试管固定装置、硅光电池传感器1、硅光电池传感器2、紫外光源1、紫外光源2、滴定槽和水阀,双通道分光光度器固定在固定底座上,在试管固定装置内壁设有光路通断开关,用于盛放待测试剂的试管放置在试管固定装置内,且试管开口正对盒体顶部开孔,水阀设置于试管固定装置上端,当待测水质灌满至液面在水阀以上时,控制单元控制水阀闭合,打开滴定槽滴定当前试管内的水质;外部rtc和外部晶振均与控制单元连接,控制单元通过输出pwm波控制两个紫外光源发出不同强度及频率的紫外光,紫外光分别经过分光光度器内部通道照射到对应的硅光电池传感器上,然后光信号经过硅光电池传感器转换为电信号,并输入信号调理放大电路对该电信号进行放大处理,最后经过多通道adc转换模块输入控制单元处理。

本发明另一实施例中,一种基于改进rbfnn算法的多功能水下水质自动监测系统的监测方法,包括以下步骤:

(1)开始测量前先调试监测仪:将可伸缩固定支架长度调整到适应当前水位的高度,将可伸缩固定支架插入水下,插稳固定;

(2)判断测量开关是否被打开,若测量开关已打开,则给控制单元输入当前水深及盒体每次下降单位高度值,并执行步骤(3);若否,则继续执行步骤(2);

(3)开始监测前,判断当前盒体高度是否大于等于输入的水深值,若在开始监测前就发现当前已下降高度大于等于输入的水深值,则说明步骤(2)输入有误,需要返回步骤(2)重新输入当前水深及盒体每次下降单位高度值;若否,则执行步骤(4);

(4)控制单元控制步进电机正转,使盒体下降一个单位高度值,并监测当前水深位置的不同水质参数值;

(5)一次测量结束,控制单元重新计算并判断当前已下降高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水底,返回步骤(4)执行;若是,则执行步骤(6);

(6)控制单元控制步进电机反转,使盒体上升一个单位高度值;

(7)控制单元计算并判断当前已上升高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水面以上,返回步骤(6)执行;若是,则表示盒体已经到达水面以上,本次测量结束;

(8)待测量结束后,将sd卡数据动态存取模块连接到上位机上,上位机部分从sd卡数据动态存取模块读取测量数据,并通过内部接口函数调用python进行样本数据处理,先将样本数据集分为测试集和训练集,用训练集训练改进rbfnn模型,用训练好的改进rbfnn模型对测试集样本数据进行离线分类处理,并设计gui界面对结果进行显示。

进一步的,步骤(4)中监测当前水深位置的多个水质参数值的方法为:

(41)当盒体到达既定位置后,控制单元控制打开水阀,让外界水质顺着盒体上方的进水口流入试管内,若灌入的水质水面到达水阀以上,控制单元控制水阀关闭,达到取水样的目的;

(42)控制单元根据当前需要测量的水质参数控制滴定槽用不同的试剂滴定当前水样,滴定完成后关闭滴定槽;

(43)控制单元输出频率为i的pwm波到紫外光源,使其发出相应频率及强度的紫外光,采用分光光度法测量当前水质参数α,用两个硅光电池传感器分别测n次,去掉最大值及最小值后取其平均值,并将当前水质参数结果分别存储在sd卡内;其中水质参数α为水质的cod浓度、含氮量或ph值,i表示获取到当前水质参数α所需要的pwm波的频率。

进一步的,所述步骤(8)中用训练集训练改进rbfnn模型,并用事先训练好的改进rbfnn模型对测试集样本数据进行离线分类处理的方法包括:

(81)用最小平方差准则调整聚类中心cj,对传统二步法rbfnn进行优化;

(82)用梯度下降法统一调整u(cj,σj,ωij)值,得到最终训练的rbfnn,对传统二步法rbfnn进行二次优化,式中cj表示聚类中心,σj表示径基宽度,ωij表示输出层权值,将三个参数用一个向量集合u(cj,σj,ωij)表示;

(83)通过对现有水质样本数据集标准化,建立指标体系,即将水质样本数据按照测量对象的不同分为:测量cod、测量含氮量、测量ph值等不同类;

(84)将从sd卡动态存取模块读取出来的样本数据集通过留出法划分为1/3的测试集与2/3的训练集,并按照测得的参数值给训练集内数据手动添加水质污染等级标签;

(85)用训练集训练改进的rbfnn,并在测试集上测试,测试结果会根据水质内部参数特性自动分为多个水质污染等级,并将结果显示在gui界面上。

更进一步的,上述步骤(81)中用最小平方差准则调整聚类中心cj,对传统二步法rbfnn进行优化的过程为,

(810)首先,利用基于动态衰减半径的聚类算法确定隐层中心的初始结构,同时利用样本信息动态控制最小聚类半径;

(811)然后,基于误差平方和准则,通过考察样本移动对其影响,调整中心点数值,同时利用类内类间距结合样本实际分布确定径基宽度;

(812)最后,利用伪逆法确定隐层与输出层的权值,最终可得ωij;

(813)经过第一次的优化计算之后,得到了rbfnn的基本网络结构与全部网络参数,网络参数包括聚类中心、径基宽度和输出层权值,将三个参数用一个向量集合u(cj,σj,ωij)表示,然后通过梯度下降法统一训练调整rbfnn模型的参数。

更进一步的,上述步骤(810)中动态衰减半径的聚类算法为:

(a)初始化样本数据集,即训练集或测试集;

(b)选择样本数据集中的每个样本点,分别计算与现有聚类中心的距离,寻找其最近邻的聚类中心;

(c)计算聚类半径,判断是否满足样本点与该聚类中心之间的高斯距离小于聚类半径,如果小于,则将该样本点加入到这个聚类中;

(d)每次计算一个样本点,就要在原来的数据集中减去这个样本点,直到把原来的数据集中的样本点全部计算一遍,终止程序,否则转到第二步,继续计算下一个样本点。

更进一步的,上述步骤(811)中利用误差平方和准则进行隐层中心的微调的方法为:

(a)利用动态衰减聚类结果,计算初始误差平方和式中,xt表示样本数据,cj表示当前聚类中心;

(b)对每个聚类中的每个样本,计算令pil=minj≠i{pij},pii表示类内间距,pij表示此样本点与其它聚类中心之间的间距;

(c)若pil<pij,则把样本移入到第l类中,修改聚类中心,并计算新的误差平方和:jc+1=jc-(pii-pil);

(d)若jc+1<jc,则返回第(2)步,否则,算法结束。

更进一步的,上述步骤(813)中梯度下降法在本改进算法中的具体计算步骤为:

(a)计算训练结果与真实结果之间的均方差式中m为输入样本数,l为输出节点总数,为训练结果,为真实结果,rbfnn训练目的就是尽可能地减小e的值;

(b)当e的值还未达到训练要求指标且训练次数还未达到设定上限时,计算下式:η为训练梯度下降法中的步长,η越大,梯度下降越快,训练结果易收敛,但是当误差变化不大时应减小η值,防止过拟合以及减小误差波动,因此最好采用牛顿法或者加动量法改善算法,使得η值可变,为算法的梯度下降方向,由e决定,u(τ)与u(τ+1)分别为τ以及τ+1次计算的u(cj,σj,ωij)值。

有益效果:与现有技术相比,本发明采用了多通路的分光光度法测量不同水深处的cod、含氮量、ph值,实现仪器自动化、避免二次污染、节约成本、提高水质监测准确度及全面性的同时,节省了大量人力物力财力,同时,仪器支持现场测量、远程监测,尤其适用于野外水质测量;仪器通过采用多通道测量不同水质参数,有效的减少了无关因素对于水质测量的干扰,使测量更加精确快速;引入sd卡数据动态存取功能,使操作更加简单方便。

现存的水质监测仪器只完成了单一的数据采集功能,对于后期的数据处理并没有太多的涉及,且由于水质监测的参数众多,难以对样本数据添加合适的标签以评估水质的好坏,本发明中的改进rbfnn算法适用于此类数据集的分类及数据处理工作,通过对训练集样本的学习及对测试集样本的分类来解释数据内在性质及规律,既可以用于寻找数据内在的分布结构,也可作为分类等其它学习任务的前驱。同时仪器体积小方便携带,且价格低廉,更加贴近于实际应用,一定程度上满足了工业与个人需求,有助于进一步改善环境污染问题,具有很高的社会实用价值与环保价值。

附图说明

图1是本发明监测仪结构示意图;

图2是本发明监测仪电路连接示意图;

图3是本发明的测量流程图;

图4是本发明的测量不同水质参数的方法流程图;

图5是本发明的水质样本数据分类算法流程图;

图6是本发明的改进rbfnn的算法流程图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进行详细的说明。

本发明实施一种基于改进rbfnn算法的多功能水下水质自动监测系统及监测方法,能够实现多通道分光光度法测量不同水深处水质cod浓度、含氮量、ph值,自动化完成不同水深处的水质取样、滴定、参数测量、sd卡数据动态存取、现场测量及离线监测与数据处理功能。其中stm32f103rbt6为主芯片(即控制单元,下同),协调各模块有序工作。

一种基于改进rbfnn算法的多功能水下水质自动监测系统,包括上位机和监测仪,上位机包括labview界面设计部分及python数据处理部分,上位机通过labview设计gui界面,借助内部接口函数调用python函数采用改进rbfnn算法完成样本数据处理。所述上位机python数据处理部分通过labview内部接口函数openpythonsession打开python,并且通过createsession函数编码完成后续数据处理操作,通过pythonnode函数调用python脚本,用closepythonsession函数结束python调用,防止内存泄漏。在使用createsession函数打开python程序控制台程序编辑页面后可以在其中编码实现相关算法。所述样本数据是从数据存取模块读取到上位机的、由多个测量得到的水质参数组成的数据集,并随着新的水质参数的增加,此数据集是动态可变的。

监测仪包括可伸缩固定支架、盒体、下位机、滑动模块和电源模块。仪器测量自动化,测量参数全面,测量结果简单精确,尤其适合于离线水质监测与野外不同水深处水质监测。其中,可伸缩固定支架下端固定于水中,用于固定整个监测仪;盒体密封,顶端开有一孔,盒体外部置有一个测量开关,盒体内壁设有防水层,且下位机和电源模块位于防水层里面;下位机内置于盒体内,用于控制滑动模块和采集水质参数数据,并将采集的水质参数数据上传至上位机;滑动模块用于连接盒体与可伸缩固定支架;电源模块内置于盒体内,包括直流电源驱动模块和电压放大模块,直流电源驱动模块输出与电压放大模块输入连接,电压放大模块输出端分别与各模块电源输入端连接,为监测仪各模块供电。

如图1和图2所示,基于改进rbfnn算法的多功能水下水质自动监测仪,其中,可伸缩固定支架由两节高度可调节的不锈钢铁管组成,可根据水深调节其长度,所述可伸缩固定支架可调的长度足够长且保证最高点超过水面至少一个盒体高度的距离,从而保证盒体在初始位置时是在水面之上的;可伸缩固定支架分为上下两节,上节为伸缩节,下节为固定节,伸缩节下端带有一个弹簧插销,固定节上每隔相同距离分布有多个固定孔,把弹簧插销插到不同的固定孔时,整个可伸缩固定支架具有不同的高度,需要调节高度时只需要将弹簧插销摁到固定孔内则可以上下移动伸缩节,调节可伸缩固定支架高度。当盒体需要下降时,只需要控制步进电机转动,则盒体会通过定滑轮及动滑轮沿着可伸缩固定支架下降一段距离。

所述盒体只有进水口处有开口,其余四面均密封,且在盒体内置防水层防止仪器进水损坏电路,盒体内设置有下位机和电源模块,盒体上部还设置有测量开关,用于启动和关闭监测仪;盒体通过滑动模块与可调节固定支架相连。

所述下位机包括单片机、多通道分光光度测量水质模块和数据存取模块,单片机作为仪器的核心板,置于盒体底部,分别与其它模块相连,完成数据处理与命令控制,所述单片机包含控制单元、外部rtc、外部晶振、信号调理放大电路和多通道adc转换模块,所述多通道分光光度测量水质模块包括固定底座、双通道分光光度器、试管固定装置、硅光电池传感器1、硅光电池传感器2、紫外光源1、紫外光源2、滴定槽和水阀,双通道分光光度器固定在固定底座上,在试管固定装置内壁设有光路通断开关,用于盛放待测试剂的试管放置在试管固定装置内,且其开口正对盒体进水口,水阀设置于试管固定装置上端,当待测水质灌满至液面在水阀以上时,控制单元控制水阀闭合,打开滴定槽滴定当前试管内的水质;外部rtc和外部晶振均与控制单元连接,控制单元通过输出pwm波控制两个紫外光源发出不同强度及频率的紫外光,双通道分光光度器中部开有两个交叉放置的光通道,光通道的两端分别放置紫外光源以及硅光电池传感器,紫外光分别经过分光光度器内部通道照射到对应的硅光电池传感器上,然后光信号经过硅光电池传感器转换为电信号,然后输入信号调理放大电路对该电信号进行放大处理,最后经过多通道adc转换模块输入控制单元处理;采用两个紫外光源可分别测量不同数据范围的水质参数,滴定槽内放置有不同的足量滴定试剂,用于滴定水质原液形成待测试剂,水阀与控制单元的引脚直接相连并由控制单元直接控制其开闭。所述控制单元采用arm处理芯片stm32f103rbt6,所述信号调理放大电路包括由opa2336ua芯片组成的电压放大电路以及阻容滤波电路,用于模拟信号的放大及滤波;所述多通道adc转换模块搭载了ad7705高精度模数转换芯片,采集精度可达16位,采用spi方式与控制单元通信,并采用dma方式,实现多通道信号同时采集。

所述数据存取模块包括sd卡数据动态存取模块和eeprom数据缓存模块,sd卡数据动态存取模块分别与控制单元和上位机双向连接,所述eeprom数据缓存模块与控制单元连接;完成数据的离线存储。所述电源模块内置于盒体内,包括直流电源驱动模块和电压放大模块,直流电源驱动模块输出与电压放大模块输入连接,电压放大模块输出端分别与各模块电源输入端连接,为仪器各模块供电。所述电压放大模块由直流电源驱动模块供电,根据多个pt1301芯片分别设计放大电路,分别为不同模块提供工作电压。所述直流电源驱动模块由两节1.5v干电池组成。

所述滑动模块包括步进电机、定滑轮与动滑轮,定滑轮固定在可伸缩固定支架的顶端,动滑轮固定于盒体靠近可伸缩固定支架一侧的外侧壁上,并与可伸缩固定支架紧密贴合,步进电机固定在盒体上部,由定滑轮引出的牵引线套接在步进电机输出轴上,若步进电机顺时针或者逆时针旋转则会带动盒体在垂直方向上移动,动滑轮在垂直方向上上下移动,动滑轮在随盒体上下移动的同时,起到润滑盒体移动以及将盒体固定到可伸缩固定支架上的作用。其中,步进电机固定端被焊接在盒体左上方,盒体通过滑动模块与可伸缩固定支架连接,通过控制步进电机转动,达到调整自身高度、测量不同水深处的水质情况的目的。

如图3所示,一种基于改进rbfnn算法的多功能水下水质自动监测系统的监测水质的方法如下:

(1)开始测量前先调试监测仪:将可伸缩固定支架长度调整到适应当前水位的高度,将可伸缩固定支架插入水下,插稳固定;

(2)判断测量开关是否被打开,若测量开关已打开,则给控制单元输入当前水深及盒体每次下降单位高度值,并执行步骤(3);若否,则继续执行步骤(2);

(3)开始监测前,判断当前已下降高度是否大于等于输入的水深值,若在开始监测前就发现当前已下降高度大于等于输入的水深值,则说明步骤(2)输入有误,需要返回步骤(2)重新输入当前水深及盒体每次下降单位高度值;若否,则执行步骤(4);

(4)控制单元控制步进电机正转,使盒体下降一个单位高度值,并监测当前水深位置的不同水质参数值;

(5)一次测量结束,控制单元重新计算并判断当前已下降高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水底,返回步骤(4)执行;若是,则执行步骤(6);

(6)控制单元控制步进电机反转,使盒体上升一个单位高度值;

(7)控制单元计算并判断当前已上升高度是否大于等于输入的水深值,若否,则表示仪器还没有到达水面以上,返回步骤(6)执行;若是,则表示盒体已经到达水面以上,本次测量结束;

(8)待测量结束后,将sd卡数据动态存取模块连接到上位机上,上位机部分从sd卡数据动态存取模块读取测量数据,并通过内部接口函数调用python进行样本数据处理,先将样本数据集分为测试集和训练集,用训练集训练改进rbfnn模型,用训练好的改进rbfnn模型对测试集样本数据进行离线分类处理,并设计gui界面对结果进行显示。经过改进rbfnn算法处理过后的测试集样本数据,会根据水质内部参数特性自动分为多个水质污染等级,用户可根据被划分在不同水质污染等级的测试集样本数据对不同地点及不同水深处的水质进行区分,有区别的判断各个地点及水深处的水质污染情况,也可以通过对水质较差区域的样本数据进行分析,发现这一区域水质污染主要的影响因素是水质的哪种参数(cod、ph、含氮量等)。

参见图4,所述步骤(4)中测量不同水质参数的具体方法及步骤为:

(41)当盒体到达既定位置后,控制单元控制打开水阀,让外界水质顺着盒体上方的进水口流入试管内,若灌入的水质水面到达水阀以上,控制单元控制水阀关闭,达到取水样的目的;

(42)控制单元根据当前需要测量的水质参数控制滴定槽用不同的试剂滴定当前水样,滴定完成后关闭滴定槽;

(43)控制单元输出频率为i的pwm波到紫外光源,使其发出相应频率及强度的紫外光,采用分光光度法测量当前水质参数α,用两个硅光电池传感器分别测n次,去掉最大值及最小值后取其平均值,并将当前水质参数结果分别存储在sd卡内;其中水质参数α为水质的cod浓度、含氮量或ph值,i表示获取到当前水质参数α所需要的pwm波的频率。

参见图5,上述步骤(8)中用训练集训练改进rbfnn模型,并用事先训练好的改进rbfnn模型对测试集样本数据进行离线分类处理的方法包括:

包括:用最小平方差准则调整聚类中心cj,对传统二步法rbfnn进行优化;用梯度下降法统一调整u(cj,σj,ωij)值,得到最终训练的rbfnn,对传统二步法rbfnn进行二次优化,式中cj表示聚类中心,σj表示径基宽度,ωij表示输出层权值,将三个参数用一个向量集合u(cj,σj,ωij)表示;通过对现有水质样本数据集标准化,建立指标体系,即将水质样本数据按照测量对象的不同分为:测量cod、测量含氮量、测量ph值等不同类;将从sd卡动态存取模块读取出来的样本数据集通过留出法划分为1/3的测试集与2/3的训练集,并按照测得的参数值给训练集内数据手动添加水质污染等级标签;用训练集训练改进的rbfnn,并在测试集上测试,测试结果会根据水质内部参数特性自动分为多个水质污染等级,并将结果显示在gui界面上。

具体应用为:

(1)导入水质样本数据集,因为聚类方法可用于无标记数据集的分类问题,所以数据集可以是无标签数据集。

(2)数据集标准化,可以采用min-max等方法处理数据集,即用数据集中某个样本数据除以数据集中的最大数与最小数之差作为该样本标准化后的数据。

(3)采用留出法将数据集划分为1/3的测试集与2/3的训练集,

(4)采用改进的rbfnn训练方法训练rbfnn模型,并用训练好的改进rbfnn模型对测试集进行离线分类处理。

(5)得到不同测试集水质数据的污染程度标签。用改进rbfnn算法可以得到比传统聚类算法或者传统二步法rbfnn更加精确的分类数据及污染程度标签,得到可信度更高的分类结果,用户可根据该结果准确判断该测试集水质数据的污染程度,省去了人为判断的过程,避免了人为判断结果的随机性、盲目性、主观性及不准确性,保证了结果可靠、精确。

优选地,对现有数据集标准化的标准化方法为,min-max方法,其具体计算方法为其中,x为新数据,x1为原数据,min为数据集中的最小值,max为数据集中的最大值。

参见图6,用最小平方差准则调整聚类中心cj,对传统二步法rbfnn进行优化的过程为,

(1)首先,利用基于动态衰减半径的聚类算法确定隐层中心的初始结构,同时利用样本数据动态控制最小聚类半径。这一改进既防止了固定半径聚类较差的自适应性,避免了衰减最小半径经验值的多次试探确定,又有效降低了半径无限缩减引起的过学习现象的产生。

(2)然后,基于误差平方和准则,通过考察样本移动对其影响,调整中心点数值,同时利用类内类间距结合样本实际分布确定径基宽度。这一过程充分考虑了类间距对样本聚类的影响,避免了统一的径基宽度可能引起的分类区域过度重叠。

(3)最后,利用伪逆法确定隐层与输出层的权值,最终可得ωij。

(4)经过第一次的优化计算之后,得到了rbfnn的基本网络结构与全部网络参数(聚类中心,径基宽度,输出层权值),将三个参数用一个向量集合u(cj,σj,ωij)表示。然后通过梯度下降法统一训练调整rbfnn模型的参数。

优选地,所述动态衰减半径的聚类算法为:

(1)初始化样本数据集(训练集或测试集)。

(2)选择样本数据集中的每个样本点,分别计算与现有聚类中心的距离,寻找其最近邻的聚类中心。

(3)计算聚类半径,判断是否满足样本点与该聚类中心之间的高斯距离小于聚类半径,如果小于,则将该样本点加入到这个聚类中。

(4)每次计算一个样本点,就要在原来的数据集中减去这个样本点,直到把原来的数据集中的样本点全部计算一遍,终止程序,否则转到第二步,继续计算下一个样本点。

优选地,所述利用误差平方和进行隐层中心的微调的方法为:

(1)利用动态衰减聚类结果,计算初始误差平方和式中,xt表示样本数据,cj表示当前聚类中心。

(2)对每个聚类中的每个样本,计算令pil=minj≠i{pij},pii表示类内间距,pij表示此样本点与其它聚类中心之间的间距。

(3)若pil<pij,则把样本移入到第l类中,修改聚类中心,并计算新的误差平方和:jc+1=jc-(pii-pil)。

(4)若jc+1<jc,则返回第(2)步,否则,算法结束。

优选地,所述梯度下降法在本改进rbfnn算法中的具体计算步骤为:

(1)计算训练结果与真实结果之间的均方差式中m为输入样本数,l为输出节点总数,为训练结果,为真实结果,rbfnn训练目的就是尽可能地减小e的值。

(2)当e的值还未达到训练要求指标且训练次数还未达到设定上限时,计算下式:η为训练梯度下降法中的步长,η越大,梯度下降越快,训练结果易收敛,但是当误差变化不大时应减小η值,防止过拟合以及减小误差波动,因此最好采用牛顿法或者加动量法改善算法,使得η值可变,为算法的梯度下降方向,由e决定,u(τ)与u(τ+1)分别为τ以及τ+1次计算的u(cj,σj,ωij)值。

总之,本发明采用stm32实现了多通路的分光光度法测量不同水深处的cod、含氮量、ph值,实现仪器自动化、避免二次污染、节约成本、提高水质监测准确度及全面性的同时,节省了大量人力物力财力,同时,仪器支持现场测量、远程监测,尤其适用于野外水质测量;仪器通过采用多通道测量不同水质参数,有效的减少了无关因素对于水质测量的干扰,使测量更加精确快速;引入sd卡数据动态存取功能,使操作更加简单方便;采用了改进rbfnn算法对测试数据进行离线分类处理,保证了数据分类结果的可靠性和准确性,使得此监测分析系统更加贴近于实际应用;同时仪器体积小方便携带,且价格低廉,更加贴近于实际应用,一定程度上满足了工业与个人需求,有助于进一步改善环境污染问题,具有很高的社会实用价值与环保价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1