一种针对分类不平衡数据优化的随机森林模型训练方法

文档序号:1818171 发布日期:2021-11-09 浏览:25次 >En<

阅读说明:本技术 一种针对分类不平衡数据优化的随机森林模型训练方法 (Random forest model training method for classification unbalance data optimization ) 是由 关申民 韦嘉 于 2021-07-28 设计创作,主要内容包括:本发明涉及一种针对分类不平衡数据优化的随机森林模型训练方法,包括以下步骤:S1、计算小分子化合物的描述符和指纹;S2、构建采样-机器学习流程,确定候选参数;S3、构建贝叶斯优化过程;S4、贝叶斯优化结果验证,给出模型。其中,训练集生成过程针对分类不平衡问题,包含过采样、欠采样等方法;随机森林模型训练需要确定最大特征数、最大决策树数量、叶子节点样本数、决策树分支规则(基尼系数、信息熵等)、样本是否赋予权重等,在本发明中,前后相继的训练集生成和随机森林模型训练存在配合关系,即特定的训练集生成过程对应特定的随机森林模型训练,因此视为一个整体统一由贝叶斯优化确认所需参数。(The invention relates to a random forest model training method aiming at classification unbalanced data optimization, which comprises the following steps: s1, calculating descriptors and fingerprints of the small molecule compounds; s2, constructing a sampling-machine learning process and determining candidate parameters; s3, constructing a Bayesian optimization process; and S4, verifying a Bayesian optimization result, and giving a model. The training set generation process aims at the problem of classification imbalance and comprises methods such as oversampling and undersampling; in the invention, the generation of training sets in tandem and the training of the random forest model have a matching relationship, namely a specific training set generation process corresponds to specific random forest model training, so that the random forest model training is regarded as a whole and unified, and parameters required by Bayes optimization are confirmed.)

一种针对分类不平衡数据优化的随机森林模型训练方法

技术领域

本发明涉及药物小分子筛选中的机器学习技术领域,具体为一种针对分类不平衡数据优化的随机森林模型训练方法。

背景技术

药物开发是一个经济代价巨大的过程,2014年的统计显示,平均每一个新药耗资超过20亿美元,同时,药物开发还受困于低成功率,以中国2017年的一组数据为例,新药开发的失败率高达90%,其中50%的失败归因于有效性,30%的失败归因于安全性。

在小分子药领域,确认药物活性同样代价巨大,在典型情况下,数千个小分子经过复杂论证以后,仅有少数可以成为药物候选物质,另外,设计新化合物的失败率经常败率高得难以承受,因此,简单快速地从现有类药化合物中挑选出有希望的小分子,减少不必要的活性论证工作对药物开发有重大意义。

从已知化合物寻找候选分子一般分为两个阶段:第一阶段是利用机器学习或深度学习给出候选分子名录;第二阶段是通过必要的实验手段进一步论证,第一阶段最成功的例子是麻省理工2020年在cell上发表的用图神经网络预测小分子抗菌活性的研究,他们的深度学习模型达到了0.896的roc-auc值,给出的候选分子中有部分证实了必要的抗菌活性。

但是,和大多数深度学习模型一样,图神经网络也很难让人类理解,这样,研究者不可能从模型提取的特征中得到启示或加深理解,更不可能基于这些特征针对性地设计分子结构,因此,急需一种方便人理解的模型,通常是非深度学习模型。

此外,大多数药物活性预测研究都受到数据集分类不平衡问题的困扰,以抗生素领域为例,现有的小分子化合物抗菌活性数据集分类极不平衡,通常无抗菌活性物质数量至少比抗菌活性物质多1个数量级,上文提到的麻省理工研究中,训练集超过2300个分子中仅有约120个抗菌分子,这样的类别比给机器学习和深度学习的模型训练带来极大的困难。

如果采用非深度学习模型,数据将是小分子的描述符或指纹,小分子描述符和指纹的特征数通常从100到数千不等,例如,完整的rdkit描述符包含196个特征,而mordred描述符有3000个特征,原子对指纹有8000个特征,明显多于特定分类样本数的特征数会给关键特征辨识,机器学习模型结构确定带来困难,故而提出一种针对分类不平衡数据优化的随机森林模型训练方法以解决上述问题。

发明内容

(一)解决的技术问题

针对现有技术的不足,本发明提供了一种针对分类不平衡数据优化的随机森林模型训练方法,具备方便人类理解、不平衡分类数据的影响较小以及特征数高于特定类别样本数的影响小等优点,解决了目前小分子药物活性预测使用的是深度学习模型,不适合人类理解,同时,药物活性数据集不同分类间存在数量级差异,无论哪一种分类模型,都有把样本默认归入大样本量类型的倾向,结果是虽然有较高的正确率,但是错误集中在小样本量类型之中,并且,特征数至少比特定类别样本数多一个数量级,甚至数十倍,这样的特征数-样本数之比很可能造成难以排查的过拟合的问题。

(二)技术方案

为实现上述方便人类理解、不平衡分类数据的影响较小以及特征数高于特定类别样本数的影响小等目的,本发明提供如下技术方案:一种针对分类不平衡数据优化的随机森林模型训练方法,包括以下步骤:

S1、计算小分子化合物的描述符和指纹;

S2、构建采样-机器学习流程,确定候选参数;

S3、构建贝叶斯优化过程;

S4、贝叶斯优化结果验证,给出模型。

优选的,所述步骤S2中采用了针对不平衡样本的采样策略,同时,分配器是可用于不平衡样本的决策树。

优选的,在步骤S2中,所述构建采样是针对不平衡样本的采样策略,所述机器学习流程的分类器是随机森林,可以应对不平衡样本,同时,采用随机森林模型,所述随机森林模型训练需要确定最大特征数、最大决策树数量、叶子节点样本数、决策树分支规则(基尼系数和信息熵等)以及样本是否赋予权重等。

优选的,所述步骤S3用以优化步骤S2全过程,所述优化过程是采用贝叶斯优化,优化目标是改善分类性能,cross valid folds采用StratifiedKFold把样本划分成多个子集,同时,采用模型评价。

优选的,所述步骤S4具体为依据贝叶斯优化过程给出的不平衡样本采样策略,随机森林模型结构参数和训练参数,手工验证并训练分类模型。

(三)有益效果

与现有技术相比,本发明提供了一种针对分类不平衡数据优化的随机森林模型训练方法,具备以下有益效果:

该针对分类不平衡数据优化的随机森林模型训练方法,以抗菌活性研究为例,本方法得到的随机森林模型表现不劣于当前的高水平深度学习模型,我们的结论是基于2020年麻省理工发表在cell的论文A Deep Learning Approach to Antibiotic Discovery的图神经网络模型,此模型在人工智能辅助抗生素开发领域有里程碑意义,可以视为顶尖水平模型之一,其roc-auc是0.896,使用训练麻省理工模型时使用的小分子抗菌性能数据集,本方法随机森林模型cross valid的平均roc-auc超过0.92,生成的实用模型可以达到0.96,生成实用模型是对多个模型择优的结果,表现高于平均水平。

附图说明

图1为本发明的流程示意图;

图2为麻省理工图神经网络评价的示意图;

图3为本发明实用模型的roc-auc的示意图。

具体实施方式

下面将结合本发明的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1-3,其中,图2来自论文A Deep Learning Approach to AntibioticDiscovery,其中的B为图神经网络的roc-auc。

为了解决候选分子提出过程的可理解性问题,我们设计了随机森林模型,模型以小分子的描述符或指纹特征作为自变量,抗生素活性作为因变量,随机森林模型有特征重要性评价,小分子的描述符或指纹特征有特定的物理、化学定义,部分可以对应到分子的特定结构中去,为了减轻样本分类不平衡问题的影响,以及较多特征数和特定分类小样本量带来的困难,我们引入了贝叶斯优化和针对分类不平衡样本的采样策略。

具体步骤如下:

S1、计算小分子化合物的描述符和指纹;

S2、构建采样-机器学习流程,确定候选参数;

S3、构建贝叶斯优化过程;

S4、贝叶斯优化结果验证,给出模型。

其中,在步骤S2中,采用了针对不平衡样本的采样策略,针对不平衡分类数据的候选采样策略有3种,其分别为majority、not minority和not majority。

在步骤S2包含针对不平衡样本的采样策略,机器学习流程的分类器是随机森林,因为有了针对不平衡样本的采样策略,所以分类器可以应对不平衡样本。

随机森林模型的候选参数的决策树数量从5到5000,候选分支规则为gini、entropy以及其他可能的规则,决策树最大深度依据为从一到数千,最小样本划分依据为从二到数百,最小叶子样本数依据为从1到数百,bootstrap可以是true和false,候选类别权重值为balanced、balanced_subsample和None。

步骤S3用以优化步骤S2全过程,待优化过程为上述采样-机器学习流程,所述优化过程是采用贝叶斯优化,优化目标是改善分类性能,cross valid folds必须用StratifiedKFold把样本划分成多个子集,需要说明的是,样本数最少的分类在验证集中必须达到一定数量,建议至少20或30,模型评价指标为模型在验证集上的roc-auc。

这里的ROC是受试者工作特征(Receiver Operating Characteristic),ROC曲线的面积就是AUC(Area Under the Curve),用于度量二分类模型的泛化能力,待评估的二分类机器学习模型会算出验证集中每个样本具有抗菌活性的概率,依据不同的截断值(概率的阈值),验证集中真阳性(有抗菌活性)和假阳性(无抗菌活性),随着截断值从0到1不断增加,可以得到假阳性率-真阳性率曲线,线下面积就是关注的AUC。

应当理解的是,AUC越大,模型性能越好,随着真阳性结果的增加,假阳性结果的增量更少。

在步骤S4中,依据贝叶斯优化过程给出的不平衡样本采样策略,随机森林模型结构参数和训练参数,手工验证并训练分类模型。

其中,验证过程同样用cross valid,需要StratifiedKFold把样本划分成5个子集,至少重复100次,这个验证可以确认贝叶斯优化给出的结果是否是偶然表现较好,评价仍然用roc-auc。

此外,用经过验证的参数生成实用的随机森林模型,把训练集分成2部分,80%用于训练模型,20%用于测试。

需要说明的是,随机森林模型的训练过程也包含对训练集生成过程的选择,统一由贝叶斯优化确认所需参数,参数包含但不限于:一切针对分类不平衡的训练集生成过程采用的方法,例如,过采样、欠采样等,随机森林模型训练需要确定最大特征数、最大决策树数量、叶子节点样本数、决策树分支规则(基尼系数、信息熵等)和样本是否赋予权重等。

具体的,以小分子抗菌活性作为案例,论文A Deep Learning Approach toAntibiotic Discovery发布的深度学习模型作为比较。

操作步骤如下:

1)数据集采用论文A Deep Learning Approach to Antibiotic Discovery的抗菌活性数据集,是否具有抗菌活性直接采用此数据集的原始0-1标注;

2)特征获取;

其中,采用rdkit指纹,有2048个特征,以拓扑信息为主,用python3.7,miniconda环境实现;

3)构建采样-机器学习流程,确定候选参数;

其中,针对不平衡样本的采样策略和随机森林用imbalanced-learn包实现,采样和随机森林训练整合成一个长过程的前后两步,针对不平衡分类数据的候选采样策略有3种,其分别为majority、notminority和notmajority;

并且,随机森林模型候选参数:决策树数量从5到5000;候选分支规则:gini、entropy;决策树最大深度从1到6000;最小样本划分从2到200;最小叶子样本数1到200;bootstrap可以是true和false;候选类别权重值为balanced、balanced_subsample、None;

同时,针对上述过程的cross valid用scikit-learn包实现,训练集、测试集划分用scikit-learn包StratifiedKFold实现,在此步骤中,数据集被分成5个子集,4个用于训练,1个用于验证;

此外,针对上述过程的贝叶斯优化用scikit-optimize包实现,实现过程中包含前文提到的cross valid,模型评价指标为模型在验证集上的roc-auc;

4)贝叶斯优化结果验证,给出模型;

其中,依据贝叶斯优化过程给出的不平衡样本采样策略,随机森林模型结构参数和训练参数,手工验证并训练分类模型,仍然用imbalanced-learn和scikit-learn实现;

同时,验证过程同样用cross valid,需要StratifiedKFold把样本划分成5个子集,至少重复100次,这个验证可以确认贝叶斯优化给出的结果是否是偶然表现较好,评价仍然用roc-auc;

此外,用经过验证的参数生成实用的随机森林模型。把训练集分成2部分,80%用于训练模型,20%用于测试。

以抗菌活性研究为例,本方法得到的随机森林模型表现不劣于当前的高水平深度学习模型,我们的结论是基于2020年麻省理工发表在cell的论文ADeep LearningApproach to Antibiotic Discovery的图神经网络模型,此模型在人工智能辅助抗生素开发领域有里程碑意义,可以视为顶尖水平模型之一,其roc-auc是0.896,使用训练麻省理工模型时使用的小分子抗菌性能数据集,本方法随机森林模型cross valid的平均roc-auc超过0.92,生成的实用模型可以达到0.96,生成实用模型是对多个模型择优的结果,表现高于平均水平。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种口炎清作用靶点的筛选方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!