Nat. Rev. Chem. | 一份关于用机器学习研究化学问题的评估指导

今天为大家介绍的是来自Tiago Rodrigues团队的一篇论文。机器学习(ML)有望解决化学领域的重大挑战。尽管ML工作流程的适用性极广,但人们通常发现评估研究设计多种多样。目前评估技术和指标的异质性导致难以(或不可能)比较和评估新算法的相关性。最终,这可能延迟化学的大规模数字化,并使方法开发者、实验人员、审稿人和期刊编辑感到困惑。在这篇综述中,作者批判性地讨论了不同类型的基于ML的出版物的方法开发和评估指导原则。

9ac2401a9dbacd9e1476daeee2d9433b.png

科学发现加速的需求为机器学习(ML)的重新崛起敞开了大门。受算法、计算硬件、开源库、数据和存储容量的进步支持,ML工具现在能够识别几十年来专家直觉所遗漏的复杂模式。虽然ML工具没有被设想或期望作为专家直觉的完全替代品,但它们的性能至少与某些情况下的人类从业者相当。这种能力使得ML适合生产性使用,并且最重要的是,它们为科学和工程的一些重大挑战提供了可信的决策支持。化学科学也正在参与这场革命。理解ML的影响仍然很难。然而,它正在重塑药物发现、材料科学、纳米技术、环境科学等领域的基础和转化研究。进行ML研究时,必须考虑三个关键方面——数据、表示和算法——这些都需要详细报告和评估。所有这些组件都带有限制,表明该领域还需要进一步成熟。因此,不应该把ML算法当作灵丹妙药,并且有必要客观地评估这些计算工具。

数据集

在开发ML(机器学习)方法的大部分时间里,涉及到收集和整理相关信息以回答特定的研究问题。因此,与领域专家合作(或自己成为一个专家)来制定相关的研究问题是至关重要的。一个信息不足的社区可能不会意识到这一步骤的重要性和所需的时间,但他们可能容易意识到一个ML模型的价值只取决于其底层数据允许的程度。对于以前未见过的事件的准确预测以及合理研究假设的产生都依赖于先前的信息和数据模式。因此,作者强烈建议为这一数据准备阶段投入大量时间。相关的实验终点(例如,生物活性)通常不被直接建模,而是通过一个实验上更容易获取的实验代理来实现。这带来部分隐患,包括过度简化一个复杂的问题,以及选择的代理是否真正反映了实际的研究问题的假设。此外,在化学科学的实验和建模中,不确定性量化经常被忽视。不考虑实验误差可能导致其传播和不切实际的模型性能评估。随后导致ML的好处变得不清晰,尤其是当预测准确性相对于竞争模型只提高了几个百分点时。此外,数据范围(以及数据的分布)也是需要考虑的,特别是如果目标是创建一个回归模型。当数据高度聚集成簇,并且单个聚类具有不同的属性时,预测模型的性能可能看起来很高。然而,该模型只能区分现有的聚类,并且无法模拟所考虑的属性的内部聚集趋势。高比例的定性数据(例如,>10 μM或<0.1 μM)也很难包括在回归模型中。这些都是没有明确解决方案的突出问题,但重要的是要承认,根据手头的数据,可能会得到低分辨率和误导性的模型。

评价基准

97ed1f1d642b7eb86b20d91456fca2db.png

15a7e0db0c63bdc66d7e0c1006e9df7e.png
表 1

持续对开发基准测试和考虑不确定性问题的兴趣表明,这个领域的研究者正致力于寻找适当的解决方案,以考虑比较研究中的误差估计。例如,SAMPL盲测挑战和Kaggle竞赛等,提供了一种比较不同工具在与化学和/或药物开发相关的高质量数据上的准确性的可行方法。在过去的十年中,该领域已经开发了几个公开的基准数据集,用于评估机器学习方法的性能。作者鼓励使用这样的资源作为开发机器学习工具的催化剂,但要注意,即使是高质量的基准数据集也有其局限性,它们的使用可能不反映机器学习模型在现实世界中的性能(Table 1)。具体来说,基准测试不能详细描述机器学习模型的一般效用,因为有几个不可避免的隐患,如任务设计、范围、数据脱离上下文和社区误用等。这些重要的方面限制了使用基准测试进行绝对模型评估。例如,MOSES基准测试(https://github.com/molecularsets/moses)是为了评估生成模型如何与训练数据的分布相匹配。然而,微小的变化可以显著增加一组分子的多样性,同时仍与训练数据的分布相匹配。尽管有许多研究报告表明DUD-E数据集不适用机器学习,但仍有许多作者继续将其用作机器学习基准。作者不鼓励这种误用,因为DUD-E最初是为了评估分子对接方法的性能而开发的,而不是机器学习。

回顾性分析

fca14332f8e10a483487478c4f63edfb.png
图 1

79b59cce56b2d64292f0cab223bdc5d2.png
表 2

回顾性评估研究是易于获取、低成本的,并且应该成为标准实践。我们需要挑战预测性机器学习的潜在效用,这是在未参与模型构建的数据上进行的(外部测试数据)——但其输出是已知的(图1)。为此,可以根据可用的训练集以有意义的方式进行交叉验证。它们最终作为一个工具来估计通过性能指标(表2)的不确定性。为了更好地确定机器学习模型的应用领域,作者还建议报告训练集中模型化属性的分布。例如,训练集中分子的属性分布可能不同于未来遇到的分子的分布——这被称为数据偏移或应用领域问题。因此,回顾性研究可以作为评估机器学习模型性能的基线。在有监督学习中,训练数据经常被分为k个折叠以进行交叉验证。折叠的数量通常为5或10,每次都有一个折叠会被迭代地留出来,以找到合适的超参数。除此之外,时间分割方案已被报告为更现实地评估药物发现努力中的前瞻性预测性,因此当有时间戳数据可用时,可能更受欢迎。交叉验证仍然是模型未来应用的最合适的替代品。然而,它假定实验决策随时间保持不变,并忽略了模型在决策制定中的影响。虽然推荐对训练数据进行划分以构建模型,但外部或评估数据集,也对评估模型在未见数据上的效用很有用。在某些情况下,可能存在数据可用性约束,不允许为此目的留出大部分数据。作者建议计算一系列的指标,而不仅仅是一个用户偏好的指标,并作为一个整体仔细审查它们,考虑到它们的互补信息(表2)。

与其他工具对比

5281cec0ba1013421ce368fef51bfb20.png
图 2

新兴技术被目标受众广泛采纳,部分原因是它们具有稳健的性能,并且能展示出相对于更成熟的方法的竞争优势。因此,作者建议与社区普遍采用的、为相同目的而开发的既有工具进行比较。如果声称某方法在性能上优越,这应当通过统计手段支持,并对多次比较进行p值修正。另外,对于大样本量而言,即使效果很小,也可能统计显著,但这并不意味着在实践中它具有重要意义。因此,应始终将效果大小与统计显著性一起报告,因为统计显著性不总是意味着它在实际中有重要性。

在做生物实验时,我们通常会进行正面和负面的对照测试,以更准确地判断结果。机器学习(ML)领域可以采用类似的方法,来确认算法所捕捉到的数据模式是否真实有效。至少,作者建议与平均数值和过去的类别分布进行比较。重复控制计算可以帮助我们判断机器学习的方法是否有效。简而言之,当我们发现某种模式时,通过对照计算可以验证这个模式是否真实。如果在随机化对照测试中,机器学习模型的表现降低了,那说明这个模式可能是真实的,如图2a。但如果模型在随机测试中的表现过于优秀,那么这个模型在真实应用中可能不怎么样。例如,最近在预测化学反应的研究中,有些模型的预测结果与随机数或简单模型相同,这说明这些模型捕获的模式可能是由于实验设计的问题,而不是真实有效的。对照计算可以帮助我们确认哪些特征是真实有效的,哪些可能只是随机的或者假的。再例如,有些机器学习模型用于预测药物传递,但通过一种称为Y-shuffling的方法(图2b),人们发现某些特征可能并不真实有效。总的来说,我们需要确保模型在学习过程中使用的特征是真实有效的,否则模型的表现可能会受到影响。

简单的机器学习模型在某些情况下也能为化学问题提供有效的解决方案。为了确认简单和优化的机器学习基线的可行性,应该使用相同的训练数据来计算它们,从而在上下文中进行有意义的比较。最终,这些比较可以证明所实施的算法性能优于计算成本更低、可能更易于解释的方法。但并非总是这样。多元线性回归在不同的环境中具有很高的价值,而强制实施“正则化”(如lasso、弹性网、贝叶斯回归等)可以提供同样合理的简单统计模型。在其他情况下,基线需要更复杂才能提供有意义的基准。总的来说,建议进行并行比较和后续的统计分析。这些研究旨在强化任何给定方法在接近实际世界的情境中(例如新材料的发现)的实用性。

前瞻性评估

尽管回顾性评估为测试机器学习工作流的潜在效用提供了重要手段,但在前瞻的实际应用中观察到的性能往往低于预期。这些不尽如人意的表现可能是因为在模型适用性领域外部署了模型。例如,由于启发式方法或训练数据的限制,算法可能没有完全理解某些微妙的模式。前瞻性研究不是评估机器学习模型,而是评估整个过程,包括数据准备、特征化、超参数和实验选择流程。

随着机器学习工具努力加速新发现的步伐,作者主张应实施一套扩展性的建议,以吸引湿实验室的研究者参与这个数字化化学时代。作者认识到,在长时间的评估活动中吸引湿实验室研究者并不是一件易事。然而,如果机器学习的评估协议更好地协同,并管理与之相关的期望,机器学习可能会成为发现科学的更为核心的部分。机器人的自动化和人-机循环配置的可能性在这里都有重要的作用。这些自动化和人-机策略将促进高质量数据的获取,并实现一定程度的前瞻性部署和信任。但是,实验设计掌握在人的手中(即使只是“实验设计的设计”),所以专家的输入和合适的人-机交互仍然是关键。作者认为,前瞻性的例子必须是多样的,如涵盖不同的应用场景和搜索空间区域。它们还应该在保持当前的科学研究兴趣的同时,挑战和探索机器学习工具的不同方面。首先,前瞻性的例子应该精心设计,以提供对过程的有意义的评估,并得出结论关于在回顾性评估中可能被忽略,但在生产部署中仍然相关的能力和局限性。在药物发现的前瞻性评估通常需要多次复制,包括使用正交的检测技术。例如,单一浓度的初筛可能作为生物活性的粗略评估是合适的。然后必须使用不同的配体结合技术(例如,表面等离子共振、放射配体替代测定和饱和传递差异核磁共振)和功能性测定(例如,评估细胞活性)将其扩展到完整的剂量-反应曲线。

参考资料

Bender, A., Schneider, N., Segler, M. et al. Evaluation guidelines for machine learning tools in the chemical sciences. Nat Rev Chem 6, 428–442 (2022). 

https://doi.org/10.1038/s41570-022-00391-9

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android BT HCI分析简介

对于蓝牙开发者来说&#xff0c;通过HCI log可以帮助我们更好地分析问题&#xff0c;理解蓝牙协议&#xff0c;就好像网络开发一定要会使用Wireshark分析网络协议一样。 本篇主要介绍HCI log的作用、如何抓取一份HCI log&#xff0c;并结合一个实际的例子来说明如何分析HCI log…

亚马逊云科技 re:Invent 2023:科技前沿风向标,探索未来云计算之窗

文章目录 一、前言二、什么是亚马逊云科技 re:Invent&#xff1f;三、亚马逊云科技 re:Invent 2023 将于何时何地举行四、亚马逊云科技 re:Invent 2023 有什么内容&#xff1f;4.1 亚马逊云科技 re:Invent 2023 主题演讲4.2 亚马逊云科技行业专家探实战 五、更多亚马逊云科技活…

单片机----汇编语言入门知识点

目录 汇编语句的格式 汇编语句的两个基本语句 子程序的调用 查表程序设计 1.x和y均为单字节数的查表程序设计 2.x为单字节数y为双字节数的查表程序设计 3.x和y均为双字节数的查表程序设计 分支转移程序设计 1.单分支选择结构 2.多分支选择结构 循环程序设计 (1) 计…

华为1+x网络系统建设与运维(中级)-练习题2

一.设备命令 LSW1 [Huawei]sys LSW1 同理可得&#xff0c;给所有设备改名 二.VLAN LSW1 [LSW1]vlan ba 10 20 [LSW1]int g0/0/1 [LSW1-GigabitEthernet0/0/1]port link-type trunk [LSW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 [LSW1-GigabitEthernet0/0/1]in…

根目录/ 空间不够,扩容,导致web页面无法加载问题

现象就是&#xff1a;搭建的web页面无反应&#xff0c;也没报错&#xff0c;怀疑是内存空间不够导致的。/ 扩容步骤如下&#xff1a; 虚拟机为关机状态添加虚拟磁盘 #查看磁盘&#xff0c;并创建新分区 fdisk -l fdisk /dev/sdb p       查看已分区数量&#xff08;我看…

SQL Server 数据库,为products表添加数据

在插入数据的时候&#xff0c;需要注意以下事项。 > 每次插入一整行数据&#xff0c;不可能只插入半行或几列数据。 > 数据值的数目必须与列数相同&#xff0c;每个数据值的数据类型、精度和小数位数也必须与相应的 列匹配。 > INSERT语句不能为标识列指定值&#…

触控板绘画工具Inklet mac功能介绍

Inklet mac是一款触控板绘画工具&#xff0c;把你的触控板变成画画的板子&#xff0c;意思是&#xff0c;你点在触控板的哪里&#xff0c;鼠标就会出现载相应的地方。例如&#xff0c;但你把手指移动到触控盘左下角&#xff0c;那么鼠标也会出现在左下角&#xff0c;对于用户而…

虽有局限性,但在Windows 11上运行Android应用程序是一个不错的新功能

在Windows 11上,Android的Windows子系统(WSA)是一个集成,允许你在笔记本电脑或台式机上与Windows应用程序一起运行Android应用程序,在本指南中,我将向你展示入门步骤。官方规定,你只能从亚马逊应用商店安装应用程序,但也可以使用安卓调试桥(ADB)工具侧载安卓应用程序…

CAPL语言 自动化测试

CAPL语言 自动化测试 CAPL&#xff08;CAN Access Programming Language&#xff09;是一种专为CAN&#xff08;Controller Area Network&#xff09;网络开发的编程语言。这种语言主要用于汽车行业&#xff0c;尤其是在自动化测试和网络通信方面。以下是关于其在自动化测试中…

VSCode主题自定义

记录vscode主题配置 {"editor.minimap.enabled": true,"files.autoSave": "afterDelay","security.workspace.trust.untrustedFiles": "open","markdown-preview-enhanced.previewTheme": "atom-light.css&…

SQL-分页查询offset的用法

今天在做一道关于查询一张表中第二高工资的问题时发现没有思路&#xff0c;经过一番搜索发现需要用到offset偏移量来解决这个问题。 OFFSET关键字用于指定从结果集的哪一行开始返回数据。通常&#xff0c;它与LIMIT一起使用&#xff0c;以实现分页效果。其语法如下&#xff1a…

【mysql】mysgld.log文件太大怎么办

我们有一台测试服务器。跑着一个msyq&#xff0c;发现没有空间了。差看日志文件占用了很多。 怎么破 使用下面命令 echo "" >mysqld.log 执行命令后

Spring Boot统一异常处理 Spring拦截器

小编在前文中向大家描述了Spring AOP的相关内容&#xff1a;Spring AOP-CSDN博客感兴趣的各位老铁可查看一下&#xff01;&#xff01; 那么&#xff0c;我们本文主要是代理搭建来实现一个Spring Boot统一功能处理模块了&#xff0c;当然&#xff0c;这个也是Spring AOP的实战环…

Vue3获取阴历/农历日期

安装插件 pnpm add chinese-lunar-calendar引入阳历/阴历切换函数 import {getLunar} from chinese-lunar-calendarexport function lunarDate(pDate){const year pDate.getFullYear()const month pDate.getMonth() 1const day pDate.getDate()const result getLunar(yea…

以热爱的态度对待生活,就是最自己的温柔

粉色系拼接款羽绒服 90白鸭绒&#xff0b;连帽立领设计 防风又保暖&#xff0c;柔软蓬松舒适感十足 衣服上加了时尚的字母印花元素 袖口做了魔术贴设计 下摆也做了可调节抽绳 防风保暖五部做到实处哦 宽松版型&#xff0c;很耐穿保暖性又很强 简单大方&#xff0c;搭配…

隐形内嵌!触想智能发布全新B款内嵌式工控一体机及内嵌式工业显示器

近日&#xff0c;触想智能发布全新B款内嵌式工控系列TPC-19.该系列可支持显示器和一体机等多种品类、多级配置的灵活选购。标志性的2.5mm矮阶窄边面板设计&#xff0c;适配隐形内嵌式安装&#xff0c;专为机柜类设备应用打造&#xff0c;以高契合的物理结构&#xff0c;带动稳定…

mysql在linux环境下安装(rpm)以及初始化后的登录配置

注&#xff1a;该安装步骤转载于CSDN,下方配置为原创 按照图片安装并初始化完成MySQL等操作后进行&#xff1b; 安装对于rpm包集合 1-查看安装情况&#xff08;有4个路径&#xff09; whereis mysql 2-查看服务状态 systemctl status mysql 3-初始化数据库 mysqld --initial…

企业真题(数组\面向对象-基础)

二、企业真题 1. 数组有没有length()这个方法? String有没有length()这个方法&#xff1f;&#xff08;*蓝&#xff09; 数组没有length()&#xff0c;是length属性。 String有length() 2. 有数组int[] arr&#xff0c;用Java代码将数组元素顺序颠倒&#xff08;闪*购&…

FISCO-BCOS 在ARM系统架构搭建节点(国密版)

问题&#xff1a; 使用 fisco-bcos v2.9.1 搭建一个节点&#xff0c;批量上链1000条数据&#xff0c;在上链200条-400条数据之间节点会出现异常&#xff0c;导致后面数据不能上链。 系统环境 操作系统&#xff1a;统信 查看系统构架 ld -version rootuos-PC:/# ld -version …

聊聊测试for Jeffky

什么是测试 测试是一个系统性的过程&#xff0c;它涉及到在已开发的软件中执行程序、应用工具和技术来评估其质量、功能和性能。这个过程的目的是发现并纠正程序中的错误&#xff0c;提高软件的可靠性和稳定性&#xff0c;以满足用户的需求。 测试的分类 什么是自动化测试 自动…