2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模

2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模_第1张图片

目录

1 问题重述

2 思路分析

2.1 第一问 

2.2 第二问

2.3 第三问

2.4 第四问

3 代码效果

3.1 第一问 重要性分析

3.2 第二问 预测结果(数据在工作区点开相应变量可以看到)

3.3 第三问 支持向量机二分类结果

3.4 BP神经网络结合遗传算法寻优结果


1 问题重述

问题1. 根据文件“Molecular_Descriptor.xlsx”和“ERα_activity.xlsx”提供的数据,针对1974个化合物的729个分子描述符进行变量选择,根据变量对生物活性影响的重要性进行排序,并给出前20个对生物活性最具有显著影响的分子描述符(即变量),并请详细说明分子描述符筛选过程及其合理性。

问题2. 请结合问题1,选择不超过20个分子描述符变量,构建化合物对ERα生物活性的定量预测模型,请叙述建模过程。然后使用构建的预测模型,对文件“ERα_activity.xlsx”的test表中的50个化合物进行IC50值和对应的pIC50值预测,并将结果分别填入“ERα_activity.xlsx”的test表中的IC50_nM列及对应的pIC50列。

问题3. 请利用文件“Molecular_Descriptor.xlsx”提供的729个分子描述符,针对文件“ADMET.xlsx”中提供的1974个化合物的ADMET数据,分别构建化合物的Caco-2、CYP3A4、hERG、HOB、MN的分类预测模型,并简要叙述建模过程。然后使用所构建的5个分类预测模型,对文件“ADMET.xlsx”的test表中的50个化合物进行相应的预测,并将结果填入“ADMET.xlsx”的test表中对应的Caco-2、CYP3A4、hERG、HOB、MN列。

问题4. 寻找并阐述化合物的哪些分子描述符,以及这些分子描述符在什么取值或者处于什么取值范围时,能够使化合物对抑制ERα具有更好的生物活性,同时具有更好的ADMET性质(给定的五个ADMET性质中,至少三个性质较好)。

2 思路分析

2.1 第一问 

第一问,根据题意,ERa_activity中一般采用plC50来表示生物活性值,因此输出指标选用plC50列就行。Molecular_Descriptor有729个影响因素指标,需要根据各指标对活性值的重要性进行排序,再得出前20以内最重要的因素。

模型分析:

从重要性分析角度,可选用的模型为随机森林对袋外数据的重要性分析方法,BP神经网络敏感性分析MIV方法,BP网络输出层各节点的权值占比方法等。从关联性角度,也可考虑灰色关联分析等。需要注意的是,主成分分析降维所得变量为重组型,即改变了原始变量,因此PCA不适用第一问。

相关代码(代码包提供算例数据,换自己数据就行了)

基于随机森林的变量重要性分析

2.2 第二问

先明确本题核心为预测应用。即采用第一问中的前20个最重要的指标构建预测模型,分别对IC50和plC50预测。第一种思想,可对IC50和pIC50以及相应的20个变量,分开构建两个数据集表格,即建立两个预测模型,然后单独对两个输出指标预测。第二种思想,根据第一问的20个最重要因素和pIC50指标建立预测模型,然后对plC50预测,最后再根据题意给出的负对数关系,由预测的pIC50计算出IC50的值即可。需要注意的是,实际问题中的实测值和负对数处理的值,虽然本质不同,但由于对数处理前后的线性关系被改变,因此,采用第一种思想分开预测,可对比看哪种方式的预测精度较好,从而得出预测模型合适的数据构建方法。接下来对参考的预测模型做介绍:

1 BP神经网络预测,适合处理非线性拟合问题,需要注意的是,由于BP神经网络初始的权值阈值参数随机化,因此BP神经网络预测的结果具有随机性,需要多次运行BP,保存一个较好的BP模型,再实现对指定因素的预测输出。另外,由于BP神经网络初始的参数具有随机性,对模型精度影响较大,也可以考虑用遗传算法,粒子群算法,灰狼算法等经典的优化方法(新颖的方法如麻雀搜索算法2020,天鹰优化器,2021)优化BP神经网络参数,再做预测。

2 随机森林预测,随机森林是利用多棵树对样本进行训练并预测的一种分类器,也可以用于非线性回归预测问题。随机森林的优势在于快速处理大量数据,并且可以评估变量的重要性(这在2.1第一问已分析)。同样的,随机森林RF模型的初始叶子数目,森林大小,根深度fboot等参数对随机森林预测模型的精度影响较大,可以采用遗传算法,粒子群算法,鲸鱼优化算法等方法优化随机森林的参数取值,获取最优的随机森林模型,再实现对指定数据的预测。

3 支持向量机预测(SVR模型,区分于SVM分类),以及遗传算法,灰狼算法,布谷鸟算法等优化支持向量机的惩罚因子C与和参数g参数进行预测。

4 极限学习机ELM预测,极限学习机的训练过只需要求解输出权重,对于大量数据而言,训练速度相当快,但是存在隐含层节点过高,造成计算机资源冗余,泛化性能不好等问题。使用遗传算法优化极限学习机的效果较好。

相关代码(代码包提供算例数据,换自己数据就行了)

1 BP神经网络预测和对指定输入数据预测

2 遗传算法优化BP神经网络预测和对指定输入数据预测

3 粒子群算法优化BP神经网络预测和对指定输入数据预测

2.3 第三问

先明确本题核心为五个独立的分类问题,即分别对Caco-2、CYP3A4、hERG、HOB、MN五个预判指标,建立各自的01二分类模型即可。可用算法如下:


1. 支持向量机SVM分类,SVM是一种按监督学习方式对数据进行二元分类的广义线性分类器,分类精度受初始的惩罚因子C与核参数g的影响较大,可以结合遗传算法,粒子群算法,灰狼算法,麻雀搜索算法等方法优化支持向量机做分类,在构建好支持向量机分类模型,进行训练与测试后,可以对指定的输入特征预测其标签,独立分开做五个指标的训练测试和预测标签三步,即可完成第三问。


2. 其他分类模型,比如BP神经网络,遗传算法优化BP神经网络,极限学习机等,注意这些方法的原理都是基于one-hot编码,由于0为无效位,所以将EXCEL中的01改成1和2类,再读取到程序中进行分类模型的训练和测试,预测指定标签类型,即可完成任务。


3. 长短期记忆网络LSTM分类,LSTM建立的是非线性模型,可作为复杂的非线性单元用于构造大型的分类器。注意实现LSTM分类,要求MATLAB版本在2018a及以上。
 

相关代码(代码包提供算例数据,换自己数据就行了)

基于粒子群算法优化支持向量机分类和对指定特征数据预测

2.4 第四问

第一种方法,优先考虑活性值最大,求化合物活性最高对应的相应参数的取值或者范围,在得到几组较高活性的参数搭配后,通过将几组最佳参数回带到第三问分类器并预测类型的方法进行筛选,从而得出满足五个ADMET性质较好的参数取值。这种情况下,第一步活性最大,是常规的非线性模型和智能优化算法的结合优化问题。需要结合2.2预测应用模型,以最常用的BP神经网络为例,在训练和测试BP神经网络精度后,以BP神经网络的输出最大值(活性plc50值最大)作为智能优化算法的适应度函数,第一问的前20个最重要作为优化参数,即可求解。相关的智能优化算法,可以用遗传算法,粒子群算法,参考文献较多,实现起来容易。在得到较好的参数后,结合第三问的分类模型,再代入分类器来预测这些最佳参数的性质,从而筛选得到优先考虑活性值最大且满足ADMET中相关的几个性质较好的描述符(自变量)最优值。

相关代码(代码包提供算例数据,换自己数据就行了)

代码链接:https://pan.baidu.com/s/10Yik2OFaqmSlyrFSFRun2A  提取码:1111

第二种方法,根据化合物活性最高且尽可能使得第三问的五个ADMET性质较好,来求得对应的相应参数的取值或者范围,这个是多目标优化问题,需要结合非线性回归预测模型,分类模型以及多目标智能优化算法(采用NSGAII)求解组合优化问题。需要结合2.2预测应用模型,以及第三问的五个指标分类器。以最常用的BP神经网络和支持向量机为例,在训练和测试BP神经网络精度后,以BP神经网络的输出最大值(活性,plc50值最大)作为NSGAII算法的第一个目标,第三问的五个ADMET性质作为其他优化目标,并自行选定相关分子描述符(即自变量),即可求解。相关的智能优化算法,可以用多目标遗传算法NSGAII,多目标粒子群算法MPSO,多目标灰狼优化算法MGWO,其中,NSGAII算法参考文献较多,实现起来容易。

相关代码(代码包提供算例数据,换自己数据就行了)

代码链接:https://pan.baidu.com/s/10Yik2OFaqmSlyrFSFRun2A  提取码:1111

3 代码效果

3.1 第一问 重要性分析

2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模_第2张图片

3.2 第二问 预测结果(数据在工作区点开相应变量可以看到)

2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模_第3张图片

3.3 第三问 支持向量机二分类结果

2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模_第4张图片

3.4 BP神经网络结合遗传算法寻优结果

2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模_第5张图片

2021华为杯D题思路探讨和代码设计——抗乳腺癌候选药物的优化建模_第6张图片

你可能感兴趣的:(优化算法与预测程序设计,优化算法与分类程序设计,智能优化算法多方面的应用,神经网络,人工智能)