Skip to content

Latest commit

 

History

History
139 lines (117 loc) · 7.25 KB

development_note.md

File metadata and controls

139 lines (117 loc) · 7.25 KB

C-N偶联编程小记

  1. 本系列程序目的是复现2018年发布在Science的机器学习预测C-N偶联的文章的结果(原论文参见Ahneman, D. T.; Estrada, J. G.; Lin, S,; Dreher, S. D.; Doyle, A. G. Science 2018, 360, 186),同时根据Comment的思路,对原论文中采用的数据进行重新划分(Comment参见Chuang, K. V.; Keiser, M. J. Science 2018, 362, eaat8603)
  2. 目前数据集有3960个数据(22种噁唑×15种芳基卤代烷×3种碱×4种配体,其中第7种噁唑参与的反应不纳入数据集中),且输入的数据未经标准化。程序会在运行过程中自动进行标准化,这样多层感知网络等机器学习模型方能正常运行。
  3. 读入时选取偶极矩(即含“dipole_moment”的列)以区分不同反应中加入的物质,目前,本程序仅对芳香卤代烷和噁唑进行划分,若按芳香卤代烷划分,则具体划分如下:

第一类卤代烷:

化学名 偶极矩
1-chloro-4-(trifluoromethyl)benzene 0.770806
1-bromo-4-(trifluoromethyl)benzene 0.754193
1-iodo-4-(trifluoromethyl)benzene 1.059432

第二类卤代烷:

化学名 偶极矩
1-chloro-4-methoxybenzene 2.894904
1-bromo-4-methoxybenzene 2.97534
1-iodo-4-methoxybenzene 2.775967
1-chloro-4-ethylbenzene 2.32974
1-bromo-4-ethylbenzene 2.410215
1-ethyl-4-iodobenzene 2.177715

第三类卤代烷:

化学名 偶极矩
2-chloropyridine 3.519084
2-bromopyridine 3.579429
2-iodopyridine 3.355629
3-chloropyridine 2.089781
3-bromopyridine 2.086875
3-iodopyridine 1.988625

若按噁唑划分,则具体划分如下:
第一类噁唑:

化学名 偶极矩
3,5-dimethylisoxazole 3.059464
3-methyl-5-phenylisoxazole 2.980515
5-methyl-3-(1H-pyrrol-1-yl)isoxazole 3.387206
5-methylisoxazole 3.203762
ethyl-3-methoxyisoxazole-5-carboxylate 3.44567
ethyl-3-methylisoxazole-5-carboxylate 4.695918
ethyl-5-methylisoxazole-3-carboxylate 4.848261
ethyl-5-methylisoxazole-4-carboxylate 3.973089
ethyl-isoxazole-3-carboxylate 2.516823
ethyl-isoxazole-4-carboxylate 2.703396
methyl-5-(furan-2-yl)isoxazole-3-carboxylate 3.85783
methyl-5-(thiophen-2-yl)isoxazole-3-carboxylate 3.719695
methyl-isoxazole-5-carboxylate 4.564313

第二类噁唑:

化学名 偶极矩
3-methylisoxazole 2.94125
3-phenylisoxazole 2.752454
4-phenylisoxazole 3.268545
5-(2,6-difluorophenyl)isoxazole 3.94018
5-phenylisoxazole 3.210447
benzo[c]isoxazole 3.198581
benzo[d]isoxazole 3.184221
N,N-dibenzylisoxazol-3-amine 3.036368
N,N-dibenzylisoxazol-5-amine 3.974105
  1. 尽管在分类程序中,笔者分别采用Dice距离和Tanimoto距离进行分类,但最终训练时,仅采用Dice距离,而不采用Tanimoto距离,因两者的分类大致相同,均能将芳基卤代烷、碱、配体正确区分,而噁唑分类的细微差异并不影响训练部分的结论
  2. 训练部分的程序有五个工作流,分别具有不同的训练集和测试集划分过程,训练结果见下:

随机划分:

方法 训练集R2 训练集RMSD 测试集R2 测试集RMSD
Bayes线性回归 0.70 15.05 0.69 15.12
决策树 0.97 4.93 0.85 10.45
k-最近邻 0.71 14.64 0.63 16.60
支持向量机(线性函数) 0.67 15.63 0.68 15.42
多层感知网络 0.99 2.08 0.90 8.64
随机森林 0.99 2.82 0.91 8.05
岭回归 0.70 14.94 0.70 14.91
支持向量机(高斯函数) 0.51 19.04 0.52 18.92

根据卤代烷分类,将第一、二类划为训练集,第三类划为测试集:

方法 训练集R2 训练集RMSD 测试集R2 测试集RMSD
Bayes线性回归 0.72 12.17 0.10 28.22
决策树 0.97 4.05 -0.82 40.08
k-最近邻 0.66 13.47 -0.39 35.03
支持向量机(线性函数) 0.70 12.57 -4.69 70.84
多层感知网络 1.00 1.53 -23.58 147.21
随机森林 0.99 1.98 -0.40 35.19
岭回归 0.72 12.10 0.12 27.85
支持向量机(高斯函数) 0.52 15.91 -0.61 37.70

根据噁唑分类,将第一类划为训练集,第二类划为测试集:

方法 训练集R2 训练集RMSD 测试集R2 测试集RMSD
Bayes线性回归 0.73 14.09 -1.30 41.89
决策树 0.98 3.78 0.32 22.68
k-最近邻 0.75 13.52 0.54 18.72
支持向量机(线性函数) 0.72 14.38 -0.94 38.40
多层感知网络 1.00 1.52 -1.88 46.87
随机森林 0.99 2.01 0.50 20.16
岭回归 0.73 13.96 -2.33 50.39
支持向量机(高斯函数) 0.55 18.07 0.40 21.43

根据卤代烷分类,在每一类均进行系统抽样:

方法 训练集R2 训练集RMSD 测试集R2 测试集RMSD
Bayes线性回归 0.71 14.86 0.67 15.53
决策树 0.96 5.32 0.85 10.36
k-最近邻 0.72 14.56 0.61 16.99
支持向量机(线性函数) 0.68 15.40 0.65 16.11
多层感知网络 0.99 2.90 0.90 8.50
随机森林 0.99 2.97 0.91 8.22
岭回归 0.71 14.70 0.68 15.37
支持向量机(高斯函数) 0.52 18.87 0.48 19.51

根据噁唑分类,在每一类均进行系统抽样:

方法 训练集R2 训练集RMSD 测试集R2 测试集RMSD
Bayes线性回归 0.70 15.08 0.68 15.02
决策树 0.96 5.65 0.86 9.91
k-最近邻 0.71 14.88 0.63 16.15
支持向量机(线性函数) 0.68 15.68 0.66 15.52
多层感知网络 0.99 2.49 0.91 7.94
随机森林 0.99 2.96 0.92 7.30
岭回归 0.71 14.93 0.68 14.94
支持向量机(高斯函数) 0.53 19.04 0.51 18.53

由以上可知,当训练集仅囊括其中一类或几类分子,而测试集囊括另一类分子时,即使训练效果极佳,最终测试结果仍然非常离谱(尤其是多层感知神经网络);而当训练集和测试集随机划分,或按类别系统抽样时,多层感知神经网络、决策树、随机森林均表现出极佳的预测准确性。
在与其他研究该项目的同学交流后,笔者认为,该项目原来的程序难以实现“学习化学特征”的目标,因为只用一类物质训练,再用另一类物质测试,结果非常差,表明必须要遍历所有化学空间,才能保证训练和预测结果的准确性。事实上,任何研究者在做有机实验时,也会遇到类似的问题:即使从Reaxys上查阅到某个反应对某些反应物效果极好,也无法把这方面的经验直接用在其他反应物上(除非亲自做实验验证)。