论文阅读[121]使用CAE+XGBoost从荧光光谱中检测和识别饮用水中的有机污染物

【论文基本信息】 标题:Detection and Identification of Organic Pollutants in
Drinking Water from Fluorescence Spectra Based on Deep Learning Using
Convolutional Autoencoder 标题译名:基于使用卷积自动编码器的深度学习,从荧光光谱中检测和识别饮用水中的有机污染物
期刊与年份:Water 2021(JCR - Q2)
作者机构:浙江大学控制科学与工程学院
原文:https://www.mdpi.com/2073-4441/13/19/2633

一、介绍

  • 荧光光谱由于其多重优势,越来越多地被用于检测水处理系统中的污染物。
  • 荧光光谱实验的结果以EEM的形式提供。然而,EEM很难直接分析,因为它是高维的。
  • 多路方法是典型的EEM降维方法,包括主成分分析(PCA)和平行因子分析(PARAFAC)。
  • 尽管它们被广泛使用,但它们有一些局限性。例如,它们提取的特征是线性的,这种线性可能会带来特征信息的损失,从而降低检测精度。
  • 近年来,许多学者提出了其他荧光分析方法来弥补这一不足。此外,深度学习在图像识别中的日益成熟,也为实现光谱特征提取提供了新的思路。
  • 然而,这些方法几乎没有提到模型在水质背景变化下的适应性
  • 本文介绍一种基于EEM的饮用水中有机污染物检测新方法,该方法适用于在水质背景波动的情况下,低浓度分析物的光谱信号较弱的情况。
  • 该方法设计了深度卷积自动编码器(CAE),用于降低EEM的维数并从中提取多层特征。它保证了有机污染物光谱在背景变化下的特征不变性,以及有机污染物光谱非线性特征的泛化自动学习;接着使用XGBoost分类器(一种梯度增强方法)来识别有机污染物。对3种有机污染物进行了测试,以验证上述方法。

二、方法

2.1 模型架构

图1:识别和测量水样中有机污染物的流程图。

在这里插入图片描述

2.2 数据预处理

采用三次插值法减少瑞利散射,消除拉曼散射。

2.3 卷积自动编码器

自动编码器是一种典型的自监督学习算法,它分为两部分:编码器和解码器。

在这里插入图片描述
编码器将高维输入数据x转换成低维编码表示h;解码器将低维编码h恢复为高维原始输入x。

f:非线性激活函数;W, W’:权重;b, b’:偏置

传统的自动编码器忽略了图像的邻域特征,并且输入层和隐藏层完全连接,引入了太多冗余参数。CAE直接处理二维图像,提取重叠块上的特征,并保留图像的邻域特征。多层CAE叠加形成了一个深层CAE,可用于提取深层光谱特征

假设卷积层具有H个特征图,第k个特征图的权重矩阵为Wk,偏移量为bk,激活函数为f。使用EEM作为输入x来训练卷积层神经元,以获得第k−th(k=1,2,··,H)特征图:在这里插入图片描述

*:二维卷积

然后由解码器获得特征图的重建:在这里插入图片描述

Wk:第k个特征图的权重矩阵Wk的转置;c:偏移量。

卷积自动编码器的目的是最小化重构误差函数E(W,b)的值:在这里插入图片描述

卷积自动编码器的工作过程如下图所示。
在这里插入图片描述
输入:原始光谱。
编码器层:由卷积层、ReLU激活函数(公式9,见下)和最大池化层组成。
每个编码器层都有相应的解码器层。
每个编码器中的最大采样层(即最大池化层)存储特征图上最大值的索引。
解码器中的上采样层使用由相应编码器存储的位置对特征图进行采样,并通过解码器中的卷积层来重建输入的光谱

本文使用的编码器和解码器网络由3个层组成,每个层的卷积核心大小分别为16、8和6通道。通过卷积层和Sigmoid激活函数(公式10,见下)重建解码器的最终输出。使用随机梯度下降方法一次更新一次单个训练图像的参数。

在这里插入图片描述

2.4 XGBoost分类器

XGBoost是2016年提出的一种可扩展的Boost树机器学习方法,基于Gradient boosting。Gradient boosting是一种基于迭代累积的决策树算法,它构建一组弱决策树,并将多个决策树的结果累积为最终预测输出。

XGBoost的目标函数:J(Θ)=L(Θ)+Ω(Θ) (11)

Θ:模型训练参数。L:损失函数(均方误差或交叉熵)Ω:正则化术语(term),用于在模型复杂性和准确性之间取得平衡。

由于基础分类器是决策树,因此模型输出为K个回归树fk的集合F的投票或平均值:在这里插入图片描述
假设有n个训练样本,在第t次迭代后,目标函数转化为:在这里插入图片描述

三、结果与讨论

3.1 荧光与样本描述

使用日立F-4600荧光分光光度计进行所有荧光测量。

使用饮用水中经常检测到的3种有机污染物作为测试化合物:苯酚、罗丹明B和水杨酸。

图3:4个样品在预处理后的光谱(饮用水、罗丹明B、水杨酸、苯酚,溶液浓度为20µg/L)。从图中可以读出,罗丹明B的特征峰为545–555/570–580nm,水杨酸的特征峰为290–300/400–410nm。苯酚的特征峰为270–280/305–315,在饮用水的一个特征峰(260–290/280–320)之内
在这里插入图片描述

3.2 基于CAE的光谱特征提取结果

输入100×100的光谱,提取特征,得到特征光谱。它是一个6通道特征图,每个通道的尺寸为13×13。

图4:(a)同图3(b),浓度为20µg/L的罗丹明B的光谱。(b)–(g)是6个通道的特征图,(h)是(b)–(g)的叠加结果。结合(a)和图(b)–(h),可以看出CAE在EEM中同时寻找高贡献(点)和纹理特征。
在这里插入图片描述

3.3 基于XGBoost的定性识别结果

将浓度高于10µg/L的分析物样品定义为高浓度样品,浓度等于或低于10µg/L的定义为低浓度样品

3.3.1 饮用水中高浓度有机污染物的检测

表1:高浓度有机污染物检测结果对比,其中RhB代表罗丹明B,SA代表水杨酸。召回率均为100%,说明3种方法都可以正确识别饮用水中高浓度的3种有机物。
在这里插入图片描述
图5:使用多路分解方法得到的主要特征向量。从(c)(d)可以看出,一些饮用水样本可能会被误判为含有水杨酸,从而导致假阳性。

有机物\方法PARAFACPCA
罗丹明B(a)(b)
水杨酸©(d)
苯酚(e)(f)

在这里插入图片描述

3.3.2 饮用水中低浓度有机污染物的检测

表2:低浓度有机污染物检测结果对比。

在这里插入图片描述

图7:使用多种分解方法鉴定低浓度测试样品。对于水杨酸和苯酚,存在假阳性。

有机物\方法PARAFACPCA
罗丹明B(a)(b)
水杨酸©(d)
苯酚(e)(f)

在这里插入图片描述
如下图所示,从上下两行的对比可以看出,训练样本的分类边界与测试样本有着显著差异。造成这种结果的主要原因是:多路方法只提取光谱的线性特征,对背景水质的变化不敏感

在这里插入图片描述
图9:通道4(浓度为4µg/L)的特征光谱。其中a为测试样本,b为饮用水,c为训练样本。a与c的相似度非常高,说明了CAE的有效性。
在这里插入图片描述

3.3.3 饮用水背景波动的影响

  • 由于受到水处理厂的活动和运输过程中物质的变化的影响,饮用水的质量经常出现波动。
  • 在3个月的时间内,以均匀的时间间隔对饮用水进行采样,记录荧光光谱。

图10:其中4个样品的荧光光谱。水质在样品1和2之间以及样品3和4之间仅略有波动,但是在样品2和样品3之间的水质变化剧烈。
在这里插入图片描述
接下来,将3个月内采集的200个饮用水样本添加到先前的测试样本中,进行分析。

表3:将饮用水视为污染物的误报率。CAE的误报率均为0。
在这里插入图片描述
表4:将污染物视为正常水样的误报率。CAE对苯酚的误报率最低。
在这里插入图片描述
通过查看三种方法在训练和设置样本中提取的特征,进一步研究了原因,如下图所示。
上排:将饮用水误报为苯酚,PARAFAC的误报率达到2%,而PCA的误报率达到14%。
下排:训练集和测试集中饮用水的特征谱。
在这里插入图片描述

四、结论

针对饮用水中有机污染物的特征进行分类的问题,本文提出了CAE+XGBoost的新方法,该方法优于传统方法。传统方法在污染物浓度较低时的识别性能较差,且更容易受到干扰。由于CAE可以获取多层卷积特征的并减少信息损失,因此它能够从光谱中收集高贡献(点)和纹理特征,从而获得更好的污染物识别性能。

随着在线光谱仪的快速发展和在线监测站点的快速增加,本文的新方法可以在在线监测和饮用水污染预警系统中得到应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/129166.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【考研数据结构代码题3】用栈实现十进制数转为八进制数

题目:将十进制数m1348转换成八进制数 难度:★ 算法思路:十进制转八进制的核心原理是“用辗转相除法不断对8取余,最后将余数反向输出”,即先求出来的余数后输出,符合“先进后出”的栈的特性,故设…

WorkPlus安全专属移动数字化航空母舰,助力企业掌控业务和生态

在当今数字化发展的时代,企业迫切需要一种安全专属的移动数字化平台,以助力企业掌控业务和生态,实现全面发展。作为一款安全专属的移动数字化“航空母舰”,WorkPlus凭借其强大的功能和灵活性,成为了企业的首选&#xf…

node 第十七天 使用rsa非对称加密 实现前后端加密通信 JSEncrypt和node-rsa

什么是非对称加密 加密过程需要两个钥匙, 公钥和私钥 其中公钥用于加密明文, 私钥用于解密公钥加密的密文, 解密只可以用私钥 公钥和私钥是一对一的关系 公钥可以发送给用户, 不用担心泄露 私钥需要保存在服务端, 不能泄露 例如: 战场上,B要给A传递一条消息&#xf…

Python语法基础(变量 注释 数据类型 输入与输出 运算符 缩进)

目录 变量变量命名规则变量的类型变量的创建变量的作用域 注释的方法数据类型对象和引用的概念Number(数字)数据转换 输入与输出输入函数输出函数输出函数的end参数输出格式多行语句 运算符算术运算符赋值运算符三目运算符运算符的优先级 缩进缩进格式注意事项层级嵌套 变量 标…

css实战——清除列表中最后一个元素的下边距

需求描述 常见于列表的排版&#xff0c;如文章列表、用户列表、商品列表等。 代码实现 <div class"listBox"><div class"itemBox">文章1</div><div class"itemBox">文章2</div><div class"itemBox"…

软件测试银行项目到底“香”到哪里?

为什么做金融类软件测试&#xff1f; 做金融类软件测试的原因有以下几个&#xff1a; 保障客户资产安全&#xff1a;金融类软件通常涉及大量的客户财产和敏感信息&#xff0c;因此软件测试可以帮助发现潜在的漏洞和风险&#xff0c;从而确保客户的资产和信息得到充分的保护。…

openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略

文章目录 openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略119.1 背景信息119.2 数据库程序目录及文件权限119.3 建议 openGauss学习笔记-119 openGauss 数据库管理-设置数据库审计-设置文件权限安全策略 119.1 背景信息 数据库在安装过程中…

dRep-基因组质控、去冗余及物种界定

文章目录 Install依赖关系 常用命令常见问题pplacer线程超过30报错当比较基因组很多&#xff08;>4096&#xff09;有了Bdv.csv文件后无需输入基因组list 超多基因组为什么需要界定种&#xff1f;dRep重要概念次级ANI的选择Minimum alignment coverage3. 选择有代表性的基因…

使用递归图 recurrence plot 表征时间序列

在本文中&#xff0c;我将展示如何使用递归图 Recurrence Plots 来描述不同类型的时间序列。我们将查看具有500个数据点的各种模拟时间序列。我们可以通过可视化时间序列的递归图并将其与其他已知的不同时间序列的递归图进行比较&#xff0c;从而直观地表征时间序列。 递归图 …

pytorch基础语法问题

这里写目录标题 pytorch基础语法问题shapetorch.ones_like函数和torch.zeros_like函数y.backward(torch.ones_like(x), retain_graphTrue)torch.autograd.backward参数grad_tensors: z.backward(torch.ones_like(x))来个复杂例子z.backward(torch.Tensor([[1., 0]])更复杂例子实…

供暖系统如何实现数据远程采集?贝锐蒲公英高效实现智慧运维

山西某企业专注于暖通领域&#xff0c;坚持为城市集中供热行业和楼宇中央空调行业提供全面、专业的“智慧冷暖”解决方案。基于我国供热行业的管理现状&#xff0c;企业成功研发并推出了可将能源供应、管理与信息化、自动化相融合的ICS-DH供热节能管理系统。 但是&#xff0c;由…

【CMU 15-445】Proj1 Buffer Pool Manager

Buffer Pool Manager 通关记录Task1 LRU-K Replacement PolicyTask2 Disk SchedulerTask3 Buffer Pool ManagerFlushPageFlushAllPagesUnpinPageNewPageFetchPageDeletePage Optimizations CMU-15445汇总 本文对应的project版本为CMU-Fall-2023的project1 由于Andy要求&#xf…

我的AIGC部署实践03

我的AIGC部署实践03 这会是AIGC部署实践的第三回&#xff0c;用免费的GPU部署自己的stable-diffusion下面我们就开始吧。 1.创建项目 创建项目的镜像及数据集如下&#xff1a; 选择完成后点击创建&#xff0c;代码选择暂不上传。 2.初始化开发环境实例 点击最右侧的“开发…

懵了,面试官问我Redis怎么测,我哪知道!

有些测试朋友来问我&#xff0c;redis要怎么测试&#xff1f;首先我们需要知道&#xff0c;redis是什么&#xff1f;它能做什么&#xff1f; redis是一个key-value类型的高速存储数据库。 redis常被用做&#xff1a;缓存、队列、发布订阅等。 所以&#xff0c;“redis要怎么测试…

【C/C++笔试练习】内联函数、哪些运算符不能重载、拷贝构造函数、const类型、函数重载、构造函数、空类的大小、井字棋、密码强度等级

文章目录 C/C笔试练习选择部分&#xff08;1&#xff09;内联函数&#xff08;2&#xff09;哪些运算符不能重载&#xff08;3&#xff09;拷贝构造函数&#xff08;4&#xff09;const类型&#xff08;5&#xff09;函数重载&#xff08;6&#xff09;构造函数&#xff08;7&a…

云数据安全:在数字时代保护您的宝贵资产

在数字化时代&#xff0c;云计算已经成为企业和个人数据存储和处理的主要方式。然而&#xff0c;与之相伴而来的是日益严峻的数据安全挑战。本文将探讨云数据安全的重要性以及如何在云环境中保护您的数据。 一、云计算的崭新时代 云计算为组织提供了无与伦比的灵活性和效率&…

Elasticsearch 作为 GenAI 缓存层

作者&#xff1a;JEFF VESTAL&#xff0c;BAHA AZARMI 探索如何将 Elasticsearch 集成为缓存层&#xff0c;通过降低 token 成本和响应时间来优化生成式 AI 性能&#xff0c;这已通过实际测试和实际实施进行了证明。 随着生成式人工智能 (GenAI) 不断革新从客户服务到数据分析…

大数据毕业设计选题推荐-智慧消防大数据平台-Hadoop-Spark-Hive

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

迅为iTOP-RK3588开发板多屏同显多屏异显异触

迅为iTOP-RK3588开发板多屏同显多屏异显异触 iTOP-RK3588开发板采用四核Cortex-A76处理器和Cortex-A55架构&#xff0c;芯片内置VOP控制器&#xff0c;最多可以支持7个屏幕显示&#xff0c;支持HDMI、LVDS、MIPI、EDP四种显示接口的多屏同显、异显和异触&#xff0c;可有效提高…

如何查看网站的https的数字证书

如题 打开Chrome浏览器&#xff0c;之后输入想要抓取https证书的网址&#xff0c;此处以知乎为例点击浏览器地址栏左侧的锁的按钮&#xff0c;如下图 点击“连接是安全的”选项&#xff0c;如下图 点击“证书有效”选项卡&#xff0c;如下图 查看基本信息和详细信息 点击详细信…