lvxiangyang的个人博客分享 http://blog.sciencenet.cn/u/lvxiangyang

博文

基于Python实现的深度学习技术在水文水质领域应用

已有 428 次阅读 2025-8-18 13:48 |个人分类:水文水动力|系统分类:科研笔记

水质综合评价和预测是水环境科学的重要研究内容,它以定量特征直观地描述水环境质量的状态,在此基础上开展对当前水质的综合评价和未来一段时间内水质状态的预测。

一、深度学习的基本概念和发展现状

深度学习的基本原理、应用领域、当前取得的进展。

1.1深度学习的基本原理:从生物网络到人工神经网络

一个生物神经元就是一个可以接受、发射脉冲信号的细胞。树突接受其他神经元的脉冲信号,而轴突将输出脉冲传递给其他神经元。人工神经元是把一个神经元看做一个计算单元,对输入进行线性组合,然后通过一个非线性的激活函数作为输出。人工神经网络是对生物神经元的一种模拟,用数值方法模拟人的思维过程。深度学习以人工神经网络为基础,通过构建一个多层的表示学习结构,使用一系列非线性变换操作把从原始数据中提取的简单特征进行组合,从而得到更高层、更抽象的表示。

1.2应用领域

目前在语音、图像、视频、自然语言处理等通用领域发展迅速,在垂直领域,如医药、金融、法律和水文水资源领域有一定的应用。

1.3当前取得的进展1.4 在水文水质领域的应用

随着信息技术的发展,近十几年来,我国各大流域累计的水文、气象、水环境数据逐渐增多,许多学者和研究人员开始意识到这些数据的潜在价值,纷纷开展基于深度学习模型的水文预报、水质评价和预测的研究,目前也取得了丰硕的成果。

二、Python系列开源软件包基本用法

Python广受研究人员和工程人员欢迎的重要原因是可以轻量级运行,以及具有非常广泛的第三方开源软件包的支持。基于python的机器学习软件包基本用法。

2.1 Python基础

(1)元组、列表、字典数据类型的定义和基本用法

(2)Python中字符串的处理和数据类型转换

(3)Python读取和写入文本文件方法

2.2 Numpy基本用法

(1)Numpy数组的概念和定义方法

(2)数组数据的访问方法

(3)Numpy中随机数生成、常用的线性代数计算函数

(4)Numpy中文本文件、二进制文件的读取和保存

2.3 Matplotlib基本用法

Matplotlib基本绘图、子图划分、双坐标轴绘图以及颜色、标记、线型、刻度、标签、注解的设置等。

2.4 Openpyxl处理Excel基本用法

(1)加载和保存Excel文件的方法

(2)获取Excel中的数据

(2)读取和写入Excel文件

2.5 scikit-learn

scikit-learn是机器学习中封装好的包,本次课程主要介绍支持向量机和决策树的调用方法。

2.6 TensorFlow基本用法

(1)算子、数据流、张量、占位符、变量基本概念

(2)TensorFlow的应用实例

(3)TensorBoard过程可视化的用法

2.7 cv2、PIL基本用法

(1)读取图片数据

(2)图片和矩阵之间的转换

(3)图片可视化

三、前馈神经网络模型、原理和代码实现

借助前馈神经网络介绍深度学习有关的基本概念和数学基础,并使用TensorFlow实现通用前馈神经网络模型架构。3.1前馈神经网络原理与结构

(1)数据集的划分:训练集、测试集、验证集;

(2)激活函数:sigmoid函数、双曲正切函数tanh、修正线性单元ReLU;

Sigmoid函数:

Tanh函数

修正线性单元:

图片

(3)Softmax分类器:分类器通常放在网络的最后一层;

图片

其中为输入向量,是参数。

(4)目标函数:衡量预测和实测结果之间差异的函数,通过目标函数进行优化得出模型参数。

(5)正则项:防止模型过拟合的有效方法。

(6)反向传播算法:计算神经网络梯度的经典算法,在实践中计算时由TensorFlow代劳,无需开发者自己推导公式。(7)模型训练和参数优化:mini-batch训练策略和梯度下降法。

3.2基于TensorFlow实现的前馈神经网络模板

基于TensorFlow实现前馈神经网络的基本模板设计,在应用过程中,只需要更换数据集,重新调试参数,基本的模型代码不需修改。

四、前馈神经网络模型在水质、水位预测中的应用

4.1 TensorFlow实现多层前馈神经网络,用于水质预测

绿水青山就是金山银山,在环境保护日益受到政府各部门重视的情况下,水污染尤其是水质状况的发展趋势研究就显得极为重要。本部分使用多层前馈神经网络开展水质预测研究,根据某流域重点河段重点监测点位 1986—1995年 DO 的实际监测值开展实验。使用1986-1994年的检测结果作为训练集,对1995年的值做出预测。

通过本部分的学习,可以深入理解前馈神经网络的原理和基于TensorFlow的实现方法,为后续实现卷积神经网络和循环神经网络打好基础。

4.2 TensorFlow实现多层前馈神经网络,用于水位预测

水库建成以后,为了在枯水期蓄满库容,充分发挥发电效益,通常会减少下泄流量,容易导致下游河道湖泊的来流量减少,引发干旱,导致生态环境问题。本实例研究某水库建成后,其下泄流量与下游某湖泊水位之间的关系,根据水库下泄流量预测湖泊水位。

五、卷积神经网络模原理、结构和应用,与支持向量机进行比较

5.1卷积操作5.2池化操作

5.3卷积网络的基本结构

5.4卷积神经网络在水质综合评价中的应用

卷积神经网络主要处理图像类数据。本部分使用的数据集是某地区多个罗非鱼池塘的水样数据,包含水产专家按照水色判断水质分类的数据以及用数码相机按照标准进行水色采集的数据,每个水质图片命名规则为“类别_编号.jpg”。本任务是根据这些图像数据,利用图像处理技术,通过水色图像实现水质的综合评价。本数据集共有203张图片,共5个类别。

5.5支持向量机的基本原理和应用

介绍支持向量机的原理,并使用5.4中的水色图像数据进行分类,与卷积神经网络进行对比分析。

六、循环神经网络原理与结构

6.1循环神经网络结构

循环神经网络是最适合时间序列预测任务的模型,在每一步合成计算过程中,它都能够考虑到前面时间节点的信息,非常适合处理水文方面的任务以及研究。图13-15是经典的循环神经网络结构。

6.2 循环神经网络在水质预测中的应用

七、循环神经网络在水质综合评价和水文预报中的应用

7.1 循环神经网络在水文预报中的应用

在大型河网中,下游站点的流量通常由上游干、支流控制站点的流量以及区间降雨构成。但由于水雨情的不同,上游站点流量和降雨到达下游站点的时间处于变化中,难以精确测量和计算。本实验借助时间窗口的概念,扩展模型对不同水雨情的适应能力,同时使用RNN和Attention机制在历史数据中挖掘流量传播机制,开展水文预报。具体内容包含以下几个方面(1)使用python实现传统的合成流量法;(2)基于时间窗口概念,使用python实现多维度的合成流量法,并与传统合成流量法进行比较;(3)构建深度神经网络模型,以各个上游站点的流量过程为模型的输入,结合时间窗口的概念,对下游站点的流量开展预报;(4)在第(3)步的基础上,增加attention机制,并与(3)中的方法进行比较在本部分的研究过程中,将详细介绍模型的实现细节,以便使学员能够理解并掌握模型的精髓,能够根据实际问题设计模型,而不是照搬照抄式的套用模型,只有这样才具备一定的创新能力。

7.2 综合案例

水动力学难题之一的大型水库水位计算问题。基于圣维南方程组的水动力学模型是计算大型水库水位的有力方法,然而实际中模型的输入边界(各支流入口流量)难以确定,给计算造成困扰,可以借助深度学习方法解决这一问题。下图是某个大型水库运用水动力学方法计算的水位和深度学习方法计算水位的对比图。

原文:基于Python实现的深度学习技术在水文水质领域应用



https://wap.sciencenet.cn/blog-3595493-1498146.html

上一篇:Aquatox水环境与水生态模型实践技术应用
下一篇:基于Delft3D模型的标量输运、波浪、拉格朗日粒子及溢油模型实践技术应用
收藏 IP: 111.225.69.*| 热度|

1 王涛

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2025-8-21 03:03

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部