《Chemometrics and Intelligent Laboratory Systems》:Automated spectral peak detection with machine learning: Parameter optimization and effective parameter space analysis with SciPy’s find_peaks
编辑推荐:
机器学习自动优化SciPy find_peaks函数参数,提升不同光谱数据(XRD、GC-MS、Raman)的峰值检测性能,平均F1-score达0.940,显著优于传统阈值方法和CNN模型。
Thanakrit Yoongsomporn|Sivakorn Kanharattanachai|Pongsapak Lueangratana|Tsubasa Yamashita|Chia Hsiu Chen|Mitsuru Irie|Chaiyanut Jirayupat
数据科学部门,MI-6有限公司,日本东京中央区日本桥Kofunecho 8-13 Tensho Office,邮编103-0024
摘要
我们提出了一种机器学习方法,用于自动化Python SciPy模块中“find_peaks”函数的参数选择。该工具是一种广泛使用的基于阈值的峰值检测工具。我们的方法通过分析每个光谱的独特特征来确定最佳检测参数,从而消除了手动调整参数的需要。该模型在2000个具有不同特征的光谱上进行训练和交叉验证,峰值识别的平均F1分数达到了0.940。此外,我们提出的方法的峰值检测性能通过实验光谱得到了验证,分别在XRD、GC–MS和Raman光谱上的F1分数分别为0.952、0.946和0.893,显著优于默认参数配置和基于CNN的检测方法。我们的分析表明,最佳参数存在于称为“有效参数空间”的范围内,这些范围根据每个光谱的特征而变化。这一发现证实了我们的模型能够有效捕捉光谱属性与其相应有效参数空间之间的关系,从而在各种光谱数据类型上保持一致的高性能。
引言
光谱分析是材料科学研究的基石,为材料属性、结构和组成提供了关键见解。这些特性是通过在相应光谱分析中识别峰值来确定的,因此准确的峰值检测对于正确有效地解释光谱数据至关重要[1]、[2]、[3]、[4]、[5]。
为了提高光谱分析中的峰值检测能力,深度学习已成为一种强大的方法。深度学习擅长自动提取信号特征并区分峰值和噪声,非常适合高通量分析[6]、[7]、[8]、[9]。Kensert等人[10]开发了一种基于CNN的模型,可以在反相液相色谱中自动检测峰值[10],而Melnikov等人[11]展示了Peakonly模型,用于在色谱-质谱中区分真实峰值和背景噪声[11]。在此基础上,Li等人[12]开发了MCF-BiLSTM-Attention,这是一种先进的深度学习方法,结合了多尺度卷积、双向LSTM和注意力机制,以更准确地识别LC-MS数据中的假峰值。类似地,其他研究也应用了深度学习技术来进一步提高峰值检测的准确性和鲁棒性[13]、[14]。
虽然这些基于CNN的峰值检测方法在其特定领域表现出色,但它们存在显著的限制。它们的有效性主要局限于训练阶段使用的光谱类型,当分析具有不同特征的光谱时,性能通常会显著下降。这种限制在考虑光谱数据的多样性时尤为明显[9]、[12]。例如,X射线衍射(XRD)通常显示尖锐的峰值,气相色谱质谱(GC–MS)呈现尖锐到中等宽度的峰值,而拉曼光谱则显示较宽且常常重叠的峰值。
相比之下,传统的先进阈值方法通过提供基于光谱特征的全面峰值检测能力来克服这些限制。该方法涉及将候选的局部最小值定位为潜在的峰值位置,然后仅选择符合设定标准的峰值,这些标准通常由峰值的特征阈值定义。一些方法为每个光谱或其导数计算噪声阈值曲线。超过该阈值的峰值被选为检测到的峰值[15]、[16]。相反,一些方法直接使用峰值属性作为标准[17]、[18]、[19]。Python的SciPy模块中的“find_peaks”函数就是这种方法的创新实现,它是一个现代的、公开可用的基于阈值的峰值检测工具[20]、[21]、[22]。
该函数的强大之处在于其高度可定制的检测参数。这些参数可以根据光谱特征精确控制峰值识别,例如,相对于周围区域的峰值高度测量、与邻近数据点的分离要求以及不同高度处的峰值宽度。这种广泛的定制使研究人员能够根据其特定的分析需求和实验条件微调检测过程[21]、[22]、[23]。
SciPy峰值检测函数的卓越灵活性和强大的分析能力表明它作为一种标准化工具,适用于各种光谱类型。这种多功能性使其成为多种光谱应用的有前途的通用解决方案。
然而,阈值方法面临一个关键的操作限制:它需要专业知识来优化参数以获得最佳结果。复杂性在于理解光谱特征与检测参数之间的复杂关系,因为不同类型的光谱需要不同的参数配置,这在需要同时分析多个光谱的高通量场景中尤其具有挑战性[18]、[19]。
为了解决这些挑战,本研究旨在通过结合机器学习和阈值方法的优点,开发一种能够处理高通量分析和不同光谱类型变化的自动化峰值检测工具。以SciPy峰值检测为核心,训练一个机器学习模型来预测其最佳参数。因此,我们的模型无需用户干预,就能获得出色的峰值检测性能。通过将其应用与生成的光谱和不同类型的实验光谱进行比较,以及与其他自动参数设置方法(包括默认设置和随机设置)进行比较,来评估结果。与默认设置的比较有助于确保我们模型的峰值检测能力得到提升,而与随机设置的比较则有助于确保随机设置不会产生相似的结果,并证明我们的模型是从自动提取的光谱特征中学习了参数设置的规律。此外,还研究了峰值检测参数与光谱特征之间的关系,以揭示参数设置的一般规则,为基于阈值的峰值检测提供见解和更好的实践方法。
方法论
所提出方法的工作流程如图1和S1所示。
结果与讨论
为了评估所提出的方法,我们在三个关键领域进行了评估:峰值检测参数预测、使用生成的光谱样数据的峰值识别性能以及使用实验光谱(包括GC–MS、XRD和Raman光谱)的峰值识别性能。
结论
所提出的方法能够执行自动化峰值检测任务,并在生成的光谱和实验光谱中都提供了出色的结果。我们的模型在生成的光谱中的平均F1分数为0.940,在实验的GC–MS、XRD和Raman光谱中的F1分数分别为0.952、0.946和0.893。这使得基于阈值的峰值检测方法可以在不牺牲准确性的情况下应用于高通量分析。此外,这项工作还提供了更深入的
CRediT作者贡献声明
Thanakrit Yoongsomporn:撰写——原始草稿、可视化、验证、方法论、调查、正式分析、数据管理。Sivakorn Kanharattanachai:撰写——审阅与编辑、验证、方法论。Pongsapak Lueangratana:撰写——审阅与编辑。Tsubasa Yamashita:撰写——审阅与编辑。Chia Hsiu Chen:撰写——审阅与编辑。Mitsuru Irie:撰写——审阅与编辑。Chaiyanut Jirayupat:撰写——审阅与编辑、可视化、验证、监督、项目管理
写作过程中生成式AI和AI辅助技术的声明
在准备这项工作时,作者使用了ChatGPT来提高文本的可读性和质量。使用该工具后,作者根据需要对内容进行了审阅和编辑,并对出版物的内容承担全部责任。
资金
本研究未获得公共部门、商业部门或非营利部门的任何特定资助。
利益冲突声明
作者声明他们没有已知的竞争性财务利益或个人关系可能会影响本文报告的工作。