一种化学反应产率预测方法及电子设备
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及化学反应产率预测技术领域,尤其涉及一种化学反应产率预测方法及电子设备。
背景技术
为了提高化学反应产率的预测准确度,以便优化反应条件、提高产率和降低成本,化学反应产率预测模型训练系统应运而生。化学反应产率预测模型训练系统可以解决以下问题:
1.降低成本:通过预测反应产率,可以更好地选择最优的反应条件,从而降低反应成本,使得化学合成更加经济;通过预测反应产率,可以减少试错成本,提高化学实验的效率,减少化学实验中的失败率,从而节省时间和成本;
2.提高产率:通过优化反应条件,催化剂、配体的选择等,从而提高反应产率,使得化学合成过程更加高效。
现有的构造产率预测模型的方法及产率预测方法利用随机森林算法来预测产率,同时根据训练数据中可能影响产率的多个因素,通过因素映射模块将这些因素映射到多个因素集中,并通过模型构造模块将处理后的训练数据和权重构造成随机森林模型。
但是现有的方式存在(1)反应物、产物及反应条件的描述符单一;(2)使用的机器学习模型——随机森林模型的精度有限;(3)机器学习模型的超参数对模型性能影响较大,而人工调节超参数效率低。
因此,本领域人员亟需寻找一种新的技术方案来解决上述的问题。
发明内容
针对现有技术中的技术问题,本发明提供一种化学反应产率预测方法及电子设备。
本发明包括一种化学反应产率预测方法,方法包括:
获取用户的配置信息,并根据配置信息构造实例化模型;
读取化学产率的样本数据,并按照预设的反应向量生成策略对样本数据编码生成反应向量;
从预设的超参数调整工具中获取一个超参数组合,并根据该超参数组合对实例化模型进行初始化,得到初始化模型;
将反应向量输入初始化模型进行运算并获得模型参数,以及根据预设的评价策略获得对应的评价指标;
将评价指标向超参数调整工具报告;
从超参数调整工具中再次获取一个超参数组合,并执行后续步骤,直至达到预设停止条件;
按照预设的模型筛选策略以及获得的初始化模型对应的评价指标,筛选出优秀模型;
根据优秀模型的超参数组合以及模型参数对该模型进行保存。
进一步的,获取用户的配置信息,并根据配置信息构造实例化模型,包括:
从项目文件夹中的设定路径下读入用户的配置信息;配置信息至少包括模型名称、训练模型的个数N、训练时长;
根据配置信息中的模型名称,从项目文件夹中读取模型数据,以及获取对应模型的超参数搜索空间。
进一步的,读取化学产率的样本数据,并按照预设的反应向量生成策略对样本数据编码生成反应向量;包括:
读取样本数据,并将样本数据按照设定比例划分为训练样本集和测试样本集;训练样本集和测试样本集中均包含反应物、产物以及反应条件;
按照反应向量生成策略对训练样本集和测试样本集中的反应物、产物以及反应条件依次编码,生成每个样本数据对应的反应向量。
进一步的,从预设的超参数调整工具中获取一个超参数组合时,超参数组合,为超参数调整工具通过预设的搜索算法在遍历超参数搜索空间之后寻找出的最优参数集;或,超参数组合,为超参数调整工具通过预设的搜索算法并结合评价指标在遍历超参数搜索空间之后寻找出的最优参数集。
进一步的,将反应向量输入初始化模型进行运算并获得模型参数,以及根据预设的评价策略获得对应的评价指标;包括:
将训练集反应向量输入初始化模型中进行训练,得到模型参数;
根据模型参数生成训练模型;
将测试集反应向量输入训练模型中进行测试,获得预测结果;
根据评价策略以及测试集反应向量、预测结果对训练模型进行评价,得到评价指标。
进一步的,根据评价策略以及测试集反应向量、预测结果对训练模型进行评价,得到评价指标,包括:
当训练模型为分类模型时,
计算模型准确率
计算模型查准率
计算模型查全率
计算模型性能参数
计算模型AUC值:
进一步的,根据评价策略以及测试集反应向量、预测结果对训练模型进行评价,得到评价指标,包括:
当训练模型为回归模型时,
计算模型的平均绝对误差
计算模型的最大误差
计算模型的均方根误差
计算模型的决定系数
计算模型的皮尔逊相关系数
计算模型的肯德尔相关系数
进一步的,本方法还包括:
若实例化模型的类型为分类模型,则通过预设的过采样算法对反应向量进行处理,得到少数类反应向量;
将原有的反应向量和少数类反应向量一起输入初始化模型进行运算;
和/或,
通过预设的降维算法对反应向量进行降维运算,得到低维反应向量;
将低维反应向量输入初始化模型进行运算。
进一步的,评价指标包括主评价指标和次评价指标;按照预设的模型筛选策略以及获得的初始化模型对应的评价指标,筛选出优秀模型;包括:
根据主评价指标筛选出排名前位的若干个训练模型;
根据次评价指标在若干个训练模型中筛选出最优的训练模型,作为优秀模型。
本发明还包括一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述一种化学反应产率预测方法。
本发明的化学反应产率预测方法及电子设备,通过获取到的用户的配置信息构造实例化模型,然后对读取到的化学产率的样本数据进行编码生成反应向量,以及从预设的超参数调整工具中获取一个超参数组合并对实例化模型进行初始化得到初始化模型,再将反应向量输入初始化模型进行运算并获得模型参数,以及根据预设的评价策略获得对应的评价指标,在没有达到预设停止条件之前,从超参数调整工具中再次获取一个超参数组合,并继续运算获得模型参数和评价指标,直至满足预设停止条件之后,按照预设的模型筛选策略筛选出优秀模型并进行保存,保存后的模型可用于化学反应的产率预测;本发明对多种机器学习模型进行训练和保存,更能够得到与化学反应适配度更高的模型,从而提高了模型对化学产率预测的精确度,且超参数组合是结合了已有模型的评价参数得出的更加优秀的超参数,也无需人工调节,进一步提高了模型训练的效率和质量,具有极高的使用推广价值。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明实施例的化学反应产率预测方法的步骤流程图(一);
图2为本发明实施例的化学反应产率预测方法的步骤流程图(二);
图3为本发明实施例的化学反应产率预测方法的步骤流程图(三);
图4为本发明实施例的化学反应产率预测方法的步骤流程图(四);
图5为本发明实施例的电子设备的结构组成图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。
本发明针为一种化学反应产率预测方法,如图1所示,方法包括:
步骤S10:获取用户的配置信息,并根据配置信息构造实例化模型。
在本步骤实施之前,建立多种机器模型的模型数据,通过用户的配置信息,来从多种机器模型中构造一个或多个指定的实例化模型。机器模型可包括有XGBoost(eXtremeGradient Boosting,极端梯度提升)、随机森林、SVM(Support Vector Machine,支持向量机)、KNN(K-Nearest Neighbor,k近邻)等,根据模型的种类,还可分为回归模型和分类模型两大类。分类模型可用于定性和定量地预测化学反应有无产率,回归模型则可用于定性和定量地预测化学反应产率值的大小。
具体的,如图2所示,步骤S10包括:
步骤S101:从项目文件夹中的设定路径下读入用户的配置信息。配置信息至少包括模型名称、训练模型的个数N、训练时长。
本发明实施例中的项目文件夹包含了多种机器模型的模型数据,通过设定路径读入用户的配置信息,得知用户的配置需求,例如用户指定的模型名称,以及将要对该模型进行训练得到的训练模型的个数N,以及训练的总时长等。除此之外,用户还可根据其他需求共同生成配置信息,包括且不限于:(1)模型的种类(分类模型/回归模型);(2)模型训练之后是否需要对模型进行保存;(3)是否仅训练模型而不测试;(4)是否仅测试模型而不训练;(5)模型参数调节信息;(6)并行的模型训练任务数量;(7)时间戳;(8)调参后保存模型的数量;(9)训练测试集比例;(10)随机数种子;(11)样本数据相关参数(数据集名称、数据集文件名)等。
步骤S102:根据配置信息中的模型名称,从项目文件夹中读取模型数据,以及获取对应模型的超参数搜索空间。
根据配置信息中的模型名称读取对应的模型数据,同时还需获取该模型的超参数搜索空间。用于后续模型训练与测试。
实例化模型构造完成之后,执行下一步骤。
步骤S20:读取化学产率的样本数据,并按照预设的反应向量生成策略对样本数据编码生成反应向量。
本实施例中的化学产率的样本数据可由用户决定,同样的,从项目文件夹的设定路径下读入已存储的样本数据。之后还需对样本数据进行处理,得到可被实例化模型读取并处理的反应向量。
具体的,如图3所示,步骤S20包括:
步骤S201:读取样本数据,并将样本数据按照设定比例划分为训练样本集和测试样本集;训练样本集和测试样本集中均包含反应物、产物以及反应条件。
本步骤中划分训练样本集和测试样本集的设定比例可包含在步骤S10获取的用户的配置信息中,若步骤S10获取的配置信息中未包含设定比例,可以根据系统预设的比例值进行划分。例如样本数据共有10000条,设定比例为8:2,则将其中的8000条划分为训练样本集,剩余的2000条划分为测试样本集,本步骤的划分方式可为随机划分,也可通过其他方式,此处不做具体的限定。
训练样本集和测试样本集中的每一个样本都包含有反应物、产物以及反应条件。本发明在同一个模型之下所有的样本数据为同一种化学反应,但每个样本中的反应物、产物的种类各有差别,其对应的反应条件也有差异,例如不同样本之间是否采用催化剂、催化剂的种类、含量,以及是否采用配体或者溶剂、配体及溶剂的种类、含量、配体及溶剂加入的方式等等。
步骤S202:按照反应向量生成策略对训练样本集和测试样本集中的反应物、产物以及反应条件依次编码,生成每个样本数据对应的反应向量。
本发明实施例的反应向量生成策略包括:
根据分子指纹算法分别计算训练样本集和测试样本集中的反应物、产物的分子指纹,并将分子指纹拼接为反应向量;
依据特定的反应条件编码方式,分别对训练样本集和测试样本集中的所有反应条件进行编码,将编码综合至上述的反应向量中,得到该样本数据对应的反应向量。
本步骤中可选的分子指纹算法包括Morgan2、Morgan3等,反应条件编码方式例如采用独热编码方式实现。
本发明实施例中反应向量生成策略所采用的算法可根据不同的化学反应进行选取,即不同种类模型以及不同化学反应的模型获取过程中,可采用不同的反应向量的编码方式。
步骤S30:从预设的超参数调整工具中获取一个超参数组合,并根据该超参数组合对实例化模型进行初始化,得到初始化模型。
本实施例中预设的超参数调整工具采用搜索算法来寻找最优的超参数组合,搜索算法可选用TPE(Tree-structured Parzen Estimator,树结构参数估计)、网格搜索(GridSearch)、BOHB(Bayesian optimization and Hyperband)等算法实现。超参数调整工具则可采用NNI(Neural Network Intelligence)工具,在超参数多、调参耗时的情况下自动调节超参数。
步骤S40:将反应向量输入初始化模型进行运算并获得模型参数,以及根据预设的评价策略获得对应的评价指标。
具体的,如图4所示,步骤S40包括:
步骤S401:将训练集反应向量输入初始化模型中进行训练,得到模型参数。
由于本发明是为了实现化学反应产率的预测,所以将训练集反应向量中的反应物、产物及反应条件对应的信息作为初始化模型的输入,将产率对应的信息作为初始化模型的输出,从而对初始化模型进行训练。训练完成之后得到该初始化模型的模型参数。
步骤S402:根据模型参数生成训练模型。
通过步骤S401获取到模型参数之后,根据该模型参数以及初始化模型生成对应的训练模型。
步骤S403:将测试集反应向量输入训练模型中进行测试,获得预测结果。
测试集反应向量中的反应物、产物、反应条件对应的反应向量数据作为训练模型的输入,由训练模型对该化学反应的产率进行预测,得到预测结果。
需要说明的是,此步骤还存在测试集反应向量中的真实结果(或称为真实情况)。
步骤S404:根据评价策略以及测试集反应向量、预测结果对训练模型进行评价,得到评价指标。
此步骤的评价指标是结合测试集反应向量的真实情况与预测情况两者的信息进行处理得到的,评价结果用以体现该训练模型的预测效果或预测能力。
具体的,本发明实施例中的评价策略包括:
当训练模型为分类模型时:
(1)计算模型准确率
模型准确率Accuracy的取值范围为[0,1],体现了预测正确的结果占总测试样本的百分比。
(2)计算模型查准率
模型查准率Precision的取值范围为[0,1],体现了所有被预测为正的样本中实际为正的样本的概率,例如在产率预测中,表示实际有产率的样本中,预测为有产率的样本的占比。
(3)计算模型查全率
模型查全率Recall的取值范围为[0,1],体现了在实际为正的样本中被预测为正样本的概率,例如在产率预测中,表示预测为有产率的样本中,实际为有产率的样本的占比。
(4)计算模型性能参数
模型性能参数F
(5)计算模型AUC值:
模型AUC值的取值范围为[0,1],该数值的含义为:随机给定一个正样本和一个负样本,输出该正样本为正的概率值比输出该负样本为正的概率值要大的可能性;如果完全随机的对样本分类,那么AUC应该接近0.5;一般训练出的模型,AUC>0.5;如果AUC=0.5,分类效果与完全随机一样。AUC越高,在产率预测中,越能尽量不误报出实际无产率的情况。
以及,当训练模型为回归模型时:
(1)计算模型的平均绝对误差
平均绝对误差MAE的取值范围为[0,+∞],该数值越接近0,则表示误差越小。
(2)计算模型的最大误差
最大误差MaxError的取值范围为[0,+∞],该数值越接近0,则表示误差越小。
(3)计算模型的均方根误差
均方根误差MSE的取值范围为[0,+∞],该数值越接近0,则表示误差越小。
(4)计算模型的决定系数
决定系数R
(5)计算模型的皮尔逊相关系数
皮尔逊相关系数r的取值范围为[-1,1],该系数的绝对数值越大,两组数据的相关性越强,正数表示正相关,负数表示负相关,0表示没有相关性。
(6)计算模型的肯德尔相关系数
肯德尔相关系数τ的取值范围为[-1,1],该系数的绝对数值越大,两组数据的相关性越强,正数表示正相关,负数表示负相关,0表示没有相关性。
获得对应模型的评价指标之后,执行步骤S50。
步骤S50:将评价指标向超参数调整工具报告。
步骤S60:从超参数调整工具中再次获取一个超参数组合,并执行后续步骤,直至达到预设停止条件。
本步骤的超参数工具再次给出超参数组合时,是结合上一步骤获取的评价指标进行的。因为超参数是在机器模型学习之前设置的参数,并不是通过训练得到的模型参数,故需要对超参数进行优化,给模型选择一组最优的超参数,以提高模型学习的性能和效果,而本发明中作为超参数优化的依据则是上一个模型的评价指标。
所以,本步骤从预设的超参数调整工具中获取一个超参数组合时,超参数组合,为超参数调整工具通过预设的搜索算法在遍历超参数搜索空间之后寻找出的最优参数集;或,超参数组合,为超参数调整工具通过预设的搜索算法并结合评价指标在遍历超参数搜索空间之后寻找出的最优参数集。
本步骤若未达到预设停止条件,则继续从超参数调整工具中再次获取一个超参数组合,并继续执行步骤S30,即根据新得到的超参数组合对实例化模型进行初始化,得到初始化模型,然后将反应向量输入初始化模型进行运算并获得模型参数,以及根据预设的评价策略获得对应的评价指标,最后再将评价指标向超参数调整工具报告。
本发明实施例的模型训练过程中,可以针对唯一一种名称的模型进行训练与测试,也可选取多个名称不同的模型并行训练与测试。对每一种模型进行训练时,既可以根据用户的配置信息中设定的训练模型的个数N作为预设停止条件,也可根据用户的配置信息中设定的训练的总时长作为预设停止条件,或其他设定停止条件,使得超参数工具不再继续给出超参数组合,也不再继续生成新的超参数组合对应的初始化模型。
步骤S70:按照预设的模型筛选策略以及获得的初始化模型对应的评价指标,筛选出优秀模型。
通过前述步骤共得到多个训练模型,每个训练模型具有其对应的评价指标,根据预设的模型筛选策略,从这些训练模型中选出优秀模型。本实施例中的评价指标包括主评价指标和次评价指标。主评价指标和次评价指标由本领域技术人员自行设定,例如,将分类模型的默认主评价指标设定为模型性能参数F1,将回归模型的默认主评价指标设定为均方根误差MSE;将分类模型的默认次评价指标设定为AUC,将回归模型的默认次评价指标设定为决定系数R
本步骤按照预设的模型筛选策略以及获得的初始化模型对应的评价指标,筛选出优秀模型;具体包括:
步骤S701:根据主评价指标筛选出排名前位的若干个训练模型。
例如,一共获得了N个训练模型,该训练模型属于分类模型,则先筛选出模型性能参数F1排名前5%的训练模型。
步骤S702:根据次评价指标在若干个训练模型中筛选出最优的训练模型,作为优秀模型。
在模型性能参数F1排名前5%的训练模型中,再筛选出AUC值最优的训练模型,作为最优模型。
若用户的配置信息中包含了最优模型的数量,则根据评价指标的排名选取对应数量的训练模型作为最优模型。
步骤S80:根据优秀模型的超参数组合以及模型参数对该模型进行保存。
保存的模型则可用于同一化学反应的产率预测,或也用于同类的化学反应的产率预测。
具体的,在步骤S40之前,本发明实施例的方法还包括:
若实例化模型的类型为分类模型,则通过预设的过采样算法对反应向量进行处理,得到少数类反应向量;
以及,将原有的反应向量和少数类反应向量一起输入初始化模型进行运算。
对于分类模型的训练任务,如果模型训练时会出现产率不均衡的问题,即训练样本集中不同类别的数据量差异较大,则可将反应向量输入过采样算法进行处理,生成原本数量较少的那一类的数据,即构造出少数类的反应向量,再将原有的反应向量和得到的少数类反应向量一起输入初始化模型进行运算。
和/或,还包括步骤:通过预设的降维算法对反应向量进行降维运算,得到低维反应向量;将低维反应向量输入初始化模型进行运算。
如果训练样本集和测试样本集中的数据特征维度太多,则可采用预设的降维算法,对反应向量进行降维运算,例如采用PCA算法运算之后得到低维反应向量,这样可以去除冗余的特征,提取数据的主要特征,从而提高模型训练的效率。
通过上述步骤获得对应的模型参数,以及根据预设的评价策略获得对应的评价指标,并执行后续步骤。
本发明实施例还包括一种电子设备200,如图5所示,包括:存储器201,用于存储计算机程序;处理器202,用于执行计算机程序时实现上述实施例的化学反应产率预测方法。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。存储器至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM),例如U盘、移动硬盘、磁碟或者光盘等。
本发明实施例的化学反应产率预测方法及电子设备,通过获取到的用户的配置信息构造实例化模型,然后对读取到的化学产率的样本数据进行编码生成反应向量,以及从预设的超参数调整工具中获取一个超参数组合并对实例化模型进行初始化得到初始化模型,再将反应向量输入初始化模型进行运算并获得模型参数,以及根据预设的评价策略获得对应的评价指标,在没有达到预设停止条件之前,从超参数调整工具中再次获取一个超参数组合,并继续运算获得模型参数和评价指标,直至满足预设停止条件之后,按照预设的模型筛选策略筛选出优秀模型并进行保存,保存后的模型可用于化学反应的产率预测;本发明对多种机器学习模型进行训练和保存,更能够得到与化学反应适配度更高的模型,从而提高了模型对化学产率预测的精确度,且超参数组合是结合了已有模型的评价参数得出的更加优秀的超参数,也无需人工调节,进一步提高了模型训练的效率和质量,具有极高的使用推广价值。
以上借助具体实施例对本发明做了进一步描述,但是应该理解的是,这里具体的描述,不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例做出的各种修改,都属于本发明所保护的范围。
- 一种热负荷预测方法、装置、可读介质及电子设备
- 一种基于smiles的化学反应产率预测的方法
- 一种化学反应的产率预测方法