题目:D 抗乳腺癌候选药物的优化建模

这道题就是分类问题,解决的方法基本都是机器学习(含深度学习、强化学习)的方法,来看第一问

第一问,ERα_activity中一般采用pIC50来表示生物活性值,看这一列就好,Molecular_Descriptor有729个指标,给出关联程度前Top20,数据都是实验数据,数据要不要标准化处理,如果要处理那么后文都得用这个标准化处理后的数据,要么就不处理,标准化处理后会改变算法的结果,算各指标的关联性直接加个循环依次求每个指标与pIC50的相关性即可,SMILES都是单独的一个实验,就认为数据是真实检测的,不需要进行异常样本剔除,第一问求相关性看着简单,真正的挑战还在后面,第一问的结果设计到后文的机器学习算法,算法对数据集的质量要求挺高的,因此你们在做第一问的时候可以拟几种算法结果,具体写什么看后文算法的效果,想关性算法有:灰色关联、皮尔逊、秩相关、肯德尔、余弦、典型相关分析、Elasticsearch相关性…

第二问,采用第一问中的Top20的指标构建pIC50的关系模型,不用想肯定是非线性,预测模型可以是神经网络、决策树系列拿不到关系式的算法模型,也可以是回归系列能求出关系式的模型,第一种做法不用多说,算法内置函数本身就是非线性,最后绘制一些误差、性能检验图即可,第二种回归的非线性做法简单讲下,虽然我们看回归算法都是线性拟合的,但是可以添加非线性变量,例如x=[X(:,1:15),X(:,1:15).2,X(:,1:15).3,X(:,1:15).4,X(:,1:15).5,exp(X(:,1:15))];构建一个非线性自变量集,然后直接带入算法求参数,说到拟合还不得不提及1stopt神器,但仅支持最多二元拟合,可以分别找出20个指标和pIC50最合适的经验公式,然后合成一个大的关系式,对其中参数进行拟合,使用机器学习算法一步到位,这确实很方便,给你们多几种参考,自行选择,算法训练或得出关系式后,带入Molecular_Descriptor中test数据集求出IC50_nM列及对应的pIC50列,题目也说了IC50_nM和pIC50是可以换算的,本文只针对其中一个用于算法模型即可,之后再用1stopt或者拟合算法确定IC50_nM和pIC50的换算公式就行

第三问,记住是五个分类预测模型,不是说ADMET中的Caco-2、CYP3A4、hERG、HOB、MN作为一个训练输出,而是分开来做,Caco-2、CYP3A4、hERG、HOB、MN只有0,1两个值,那就是二分类问题,同样的最好先进行指标的选取,并且这类数据离散度很强,会有小伙伴说,二分类问题用随机森林、svm、prnn神经网络等算法直接搞,算法是没问题额,但任何一种机器学习算法的实现效果很依赖数据集,第三问不得不先对数据集进行处理,记住第三问是分别对Caco-2、CYP3A4、hERG、HOB、MN进行研究,不是说数据处理了一次就好了,每种输出它的相关指标不一样,五种输出选区的指标应当是不相同的,其实这个问很好办,各位可以参考下协同过滤推荐的方式,根据近邻用户的数据去计算,那么这个问,test中有50个实验,对应的是Molecular_Descriptor中的test,那么就先找一下test50个实验与training中前k个近邻实验,从而构建出训练集,这样构建出的训练集,交叉数据肯定会少很多,然后再同第一问方式取前m个指标,接下来就是带算法进去训练然后预测,除了本段已说到的方法,可以考虑一些前沿的算法去做,例如Xgboost、受限玻尔兹曼机(RBM)[DBN神经网络中的核心]、多层感知MLP、自组织映射SOM、生成式对抗网络GAN、循环神经网络RNN、GRNN、PRNN等,最后结果记得填入ADMET.xlsx中的test

第四问,先找出ADMET中有三个1的实验,然后就第一问选出的指标,通过第二问方式重新求得一个关系模型,其实从这里来看,第二问用可以得出关系是的算法模型,就能和本问紧密联系起来了,得到新的关系模型后,接下来就是套用优化算法寻优了,以pIC50值为目标函数,最大化寻优,或者对IC50最小化寻优。


第一问思路更新:

问题一难度较低,主要是找出对生物活性最具有显著影响的分子描述符,具有影 响意味着该分子描述符与生物活性的相关性越高,因此可以构建相关性分析模型 来分别计算各分子描述符与生物活性的关系,找出相关性最大的 20 个变量即可。

在 matlab 中使用 corrcoef 函数可以求两个序列的相关度 corrcoef(x,y)表示序列 x 和序列 y 的相关系数,得到的结果是一个 2*2 矩阵, 其中对角线上的元素分别表示 x 和 y 的自相关,非对角线上的元素分别表示 x 与 y 的相关系数和 y 与 x 的相关系数,两个是相等的。
这么清楚了,自己写代码行了吧?