当前位置: 首页 > 期刊 > 《分析化学》 > 2004年第12期
编号:10794560
基于粒子群优化算法的神经网络在农药定量构效关系建模中的应用
http://www.100md.com 《分析化学》 2004年第12期
     基于粒子群优化算法的神经网络在

    农药定量构效关系建模中的应用

    张丽平 俞欢军

    3

    陈德钊 胡上序

    (浙江大学化工系,杭州310027)

    摘 要 神经网络模型能有效模拟非线性输入输出关系,但其常规训练算法为BP 或其它梯度算法, 导致训

    练时间较长且易陷入局部极小点。本实验探讨用粒子群优化算法训练神经网络,并应用到苯乙酰胺类农药的

    定量构效关系建模中,对未知化合物的活性进行预测来指导新药的设计和合成。仿真结果表明,粒子群优化

    算法训练的神经网络不仅收敛速度明显加快,而且其预报精度也得到了较大的提高。

    关键词 粒子群优化算法,神经网络,定量构效关系

    2004201204 收稿;2004207225 接受

    本文系国家自然科学基金资助项目(No. 20276063)

    1 引 言

    药物定量构效关系(QSAR) 是研究药物生理活性和药物分子结构参数间的量变规律并建立相应的

    数学模型,进而研究药物的作用机理,从而用于预测未知化合物的生物活性,探讨药物的作用机理,指导

    新药的设计和合成,在药物和农药的研究与设计中已经显示出广阔的应用前景1 。以往QSAR 的建模

    方法大多基于统计原理,局限于线性模型,只进行简单的非线性处理,由此所建立的模型很难契合实际

    构效关系,并且其处理过程都比较繁琐2 。神经网络通过学习将构效关系知识隐式分布在网络之中,适

    用于高度非线性体系。

    在药物QSAR 中采用神经网络(NN) 始于20 世纪80 年代末3 ,此后得到迅速的发展,目前已发展

    为除多重线性回归和多元数据分析之外的第3 种方法4 。通常多层前传网络采用BP 算法,通过误差反

    传,按梯度下降的方向调整权值。其缺点是可能陷入局部极小点,且对高维输入收敛速度非常缓慢。

    粒子群优化算法(particle swarm optimization , PSO) 是Kennedy 等5 源于对鸟群、鱼群和人类社会行为

    的研究而发展的一种新的进化型寻优技术。PSO 已成为进化寻优算法研究的热点,其最主要特点是简

    单、收敛速度快,且所需领域知识少。本实验拟将该方法初始化前传神经网络为苯乙酰胺类农药建立良

    好适用的QSAR 模型。

    2 苯乙酰胺类农药的QSAR问题

    苯乙酰胺类化合物是除草农药,其除草活性与其分子结构密切相关。所有的N2(12甲基212苯乙基) 苯

    乙酰胺都可用相应的羧酸酰胺通过霍夫曼反应生成。N2(12甲基212苯乙基) 苯乙酰胺的基本结构式为:

    其中X为Me 、F、Cl 、OMe 、CF3 和Br 等,Y为Me 、Cl 、F 和Br 等,由不同的X 和Y取代基可构成不同的化

    合物。常用以下7 个理化参数描述化合物的分子组成和结构:log P、log2 P (疏水性参数及其平方项) 、σ(电性效应参数) 、Es (Taft 立体参数) 、MR(摩尔折射度) ,1χ、2χ(分子连接性指数) 。于是这类化合物的

    QSAR 就转化为上述理化参数与除草活性间的关系。为研究这种关系,选用具有代表性的50 个化合物,他们的活性值取自文献1 , 见表1。

    第32 卷

    2004 年12 月

    分析化学(FENXI HUAXUE) 研究报告

    Chinese Journal of Analytical Chemistry

    第12 期

    1590~1594

    表1 苯乙酰胺类化合物分子结构参数与除草活性值

    Table 1 Structural parameters and anti2scipusjuncoides activity of N2phenylacetamides

    序号

    No.

    自变量Independent variables

    log P σ MR Es 1χ 2χ log2 P

    因变量

    Dependent variable

    活性Activity

    1 1. 12 - 0. 34 9. 24 0. 00 7. 31 5. 59 1. 254 5. 85

    2 0. 70 - 0. 11 4. 51 0. 78 6. 93 5. 17 0. 490 5. 68

    3 1. 27 0. 06 9. 62 0. 27 7. 42 5. 70 1. 613 5. 72

    4 0. 54 - 0. 44 11. 46 0. 69 7. 43 5. 48 0. 292 6. 07

    5 1. 12 - 0. 24 9. 24 0. 00 7. 31 5. 65 1. 254 5. 89

    6 1. 27 0. 20 9. 62 0. 27 7. 41 5. 77 1. 613 6. 00

    7 1. 27 0. 06 9. 62 0. 27 7. 42 5. 70 1. 662 5. 58

    8 0. 85 0. 29 4. 89 1. 05 7. 03 5. 28 0. 722 5. 44

    9 1. 42 0. 46 10. 00 0. 54 7. 52 5. 81 2. 016 5. 65

    10 0. 69 - 0. 04 11. 84 0. 96 7. 53 5. 59 0. 476 5. 46

    11 1. 27 0. 16 9. 62 0. 27 7. 41 5. 76 1. 613 5. 57

    12 1. 42 0. 60 10. 00 0. 54 7. 51 5. 88 2. 016 5. 65

    13 0. 69 0. 10 11. 84 0. 96 7. 52 5. 63 0. 476 5. 42

    14 1. 27 0. 06 9. 62 0. 27 7. 41 5. 76 1. 613 5. 18

    15 1. 42 0. 46 10. 00 0. 54 7. 51 5. 88 2. 016 5. 41

    16 1. 12 - 0. 24 9. 24 0. 00 7. 31 5. 65 1. 254 5. 79

    17 0. 70 - 0. 01 4. 51 0. 78 6. 92 5. 23 0. 490 5. 92

    18 1. 27 0. 16 9. 62 0. 27 7. 41 5. 75 1. 613 6. 10

    19 0. 54 - 0. 34 11. 46 0. 69 7. 42 5. 53 0. 292 5. 79

    20 1. 12 - 0. 14 9. 24 0. 00 7. 30 5. 71 1. 254 5. 82

    21 1. 27 0. 30 9. 62 0. 27 7. 40 5. 83 1. 613 6. 22

    22 1. 44 0. 36 8. 61 - 1. 16 7. 39 5. 66 2. 074 5. 73

    23 1. 42 0. 16 12. 47 0. 08 7. 80 6. 27 2. 016 4. 64

    24 0. 94 - 0. 31 16. 06 0. 03 8. 00 5. 80 0. 884 4. 32

    25 0. 70 0. 17 4. 51 0. 78 6. 92 5. 20 0. 490 6. 47

    26 0. 85 0. 57 4. 89 1. 05 7. 02 5. 31 0. 722 6. 57

    27 1. 27 0. 20 9. 62 0. 27 7. 41 5. 76 1. 613 6. 49

    28 0. 85 0. 43 4. 89 1. 05 7. 02 5. 34 0. 722 7. 04

    29 1. 42 0. 60 10. 00 0. 54 7. 51 5. 87 2. 016 6. 71

    30 0. 69 0. 10 11. 84 0. 96 7. 52 5. 65 0. 476 6. 53

    31 1. 27 0. 30 9. 62 0. 27 7. 40 5. 83 1. 613 6. 38

    32 1. 42 0. 74 10. 00 0. 54 7. 51 5. 94 2. 016 6. 95

    33 1. 57 0. 62 12. 85 0. 35 7. 90 6. 32 2. 465 6. 47

    34 0. 56 - 0. 34 9. 24 0. 00 7. 31 5. 64 0. 314 5. 82

    35 0. 70 - 0. 11 4. 51 0. 78 6. 92 5. 22 0. 490 6. 01

    36 1. 27 0. 06 9. 62 0. 27 7. 41 5. 75 1. 613 6. 22

    37 0. 54 - 0. 44 11. 46 0. 69 7. 42 5. 53 0. 292 5. 82

    38 0. 56 - 0. 24 9. 24 0. 00 7. 30 5. 70 0. 314 5. 89

    39 1. 27 0. 20 9. 62 0. 27 7. 40 5. 82 1. 613 5. 92

    40 0. 70 - 0. 11 4. 51 0. 78 6. 92 5. 19 0. 490 6. 25

    41 0. 85 0. 29 4. 89 1. 05 7. 02 5. 31 0. 722 7. 05

    42 0. 12 - 0. 21 6. 73 1. 47 7. 03 5. 08 0. 014 6. 44

    43 0. 70 - 0. 01 4. 51 0. 78 6. 91 5. 26 0. 490 6. 50

    44 0. 85 0. 43 4. 89 1. 05 7. 02 5. 37 0. 722 6. 39

    45 1. 27 0. 06 9. 62 0. 27 7. 41 5. 76 1. 613 6. 68

    46 0. 85 0. 29 4. 89 1. 05 7. 02 5. 34 0. 722 6. 63

    47 1. 42 0. 46 10. 00 0. 54 7. 51 5. 87 2. 016 6. 91

    48 1. 27 0. 16 9. 62 0. 27 7. 40 5. 82 1. 613 6. 84

    49 1. 00 0. 29 7. 74 0. 86 7. 41 5. 79 1. 000 6. 60

    50 1. 57 0. 60 12. 85 0. 35 7. 90 6. 39 2. 465 6. 49

    1 9 5 1 第12 期张丽平等:基于粒子群优化算法的神经网络在农药定量构效关系建模中的应用

    3 前传神经网络

    3. 1 网络结构

    网络有7 个输入端和1 个输出端,分别与7 个理化参数和1 个活性值相对应。根据经验规则,网络

    中权重总数应等于或小于样本容量,所得数学模型才比较稳定6 。由此,在本实验中隐层结点为5 比较

    合适,网络结构为72521 ,共46 个权值。

    3. 2 样本使用

    由于各变量表示样本的各种性质,往往使用不同的度量单位,其观测值也可能相差十分悬殊。这样

    绝对值大的变量其影响可能盖过绝对值小的变量,使后者应有的作用得不到反映。为了确保各变量在

    分析中的地位相同,故对输入端的7 个变量实施极差标准化。

    为避免偶然性,采用交叉验证法,将50 个样品构成10 个组合,每组均有45 个样品作训练用,另外

    5 个样品作预报用,因此每个样品有9 次作训练用,1 次作预报用。

    3. 3 过拟合控制

    为了避免训练网络时出现过拟合,实验使用测试集监控训练的过程,即由训练所得数学模型计算预

    报误差,如果测试集的训练误差曲线显著上升,并且预报误差和训练误差为可接受的大小,则训练终止。

    实验表明,该方法可以有效地降低过拟合程度。

    3. 4 初始化前传神经网络的PSO 算法

    与其他进化寻优算法相类似,PSO 算法也将通过个体间的协作与竞争,实现多维空间中最优解的搜

    索。PSO 方法首先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为寻优问题的一

    个可行解,并用某个函数计算出相应的适应值以确定是否达到寻优目标。每个粒子将在解空间中运动,并由一个矢量决定其运动方向和位移。通常粒子将追随当前的最优粒子而动,并经逐代搜索最后得到

    最优解。在每一代中,粒子将跟踪两个极值,一为粒子本身迄今找到的最优解,代表该粒子自身对寻优

    方向的认知水平;另一为全种群迄今找到的最优解,代表社会认知水平。

    设第i 个粒子位置为xi = ( xi1 , xi2 , ⋯⋯xin) T ,其位移为vi = ( vi1 , vi2 , ⋯⋯vin) T 。它的个体最优值点

    为pi = ( pi1 , pi2 , ⋯⋯pin) T ,种群的全局最优值点为pg = ( pg1 , pg2 , ⋯⋯pgn) T 。按追随当前最优粒子的原

    理,粒子xi 将按式(1) 和(2) 改变位移方向和步长。

    vid ( t + 1) = wvid ( t) + c1 r1 ( pid ( t) - xid ( t) ) + c2 r2 ( pgd ( t) - xid ( t) ) (1)

    xid ( t + 1) = xid ( t) + vid ( t + 1) (2)

    其中: w 为惯性权值,通常随进化代数从0. 9 线性递减至0. 4 , d = 1 ,2 , ⋯n , n 为解空间的维数,即自变

    量个数, d 为n 维中的第d 维, t 为当前进化代数, i = 1 ,2 , ⋯S , S 为种群规模, r1 和r2 为分布于[0 ,1 ]

    之间的随机数, c1 和c2 为位移变化的限定因子,通常取为2。设定位移上限Vmax控制粒子位移不致过

    大。PSO 算法主要计算步骤为: (1) 初始化,设定位移因子c1 和c2 ,惯性权值w ,最大进化代数Tmax ,将

    当前进化代数置为t ,在定义空间Rn 中随机产生S 个粒子x1 , x2 , ⋯, xs ,组成初始种群X( t) ;随机产生

    各粒子初始位移变化v1 , v2 , ⋯, vs ,组成位移变化矩阵V( t) ; (2) 评价种群X( t) ; (3) 按式(1) 和(2) 更新

    粒子的位移方向和步长,产生新种群X( t + 1) ; (4) 检查结束条件,若满足,则结束寻优;否则t = t + 1 ,转至2。结束条件为寻优达到最大进化代数Tmax ,或评价值小于给定精度ε。本实验中,粒子取20 ,最大

    进化代数为2500 ,粒子的搜索空间即为46 维权值空间,适应值函数为误差平方和的均值:

    EAV =

    1

    ns

    6 n

    s

    j =1

    6m

    k =1

    ( tjk - f jk) 2 (3)

    其中tjk是目标值, f jk是计算值, m 是输出结点数, ns 是训练集样本数。

    4 结果和讨论

    4. 1 训练结果

    2 9 5 1 分析化学第32 卷

    给定网络的最大允许迭代次数,分别对样本的10 种组合,采用PSO 算法训练网络(PSO2NN) ,各训

    练10 次。完成训练的网络模型可以记为y ( x) , x 为网络的输入矢量,有y ( x) 为网络的实际输出。定

    义网络模型的自检和预报相对误差为:

    SEr ( xi) = | y ( xi) - yi / yi | , PEr ( xk) = | y ( xk) - yk / yk| (4)

    式中xi 和yi 为训练样本的输入和目标输出, xk 和yk 为预报样本的输入和目标输出。对于每个样本组

    合,自检相对误差的均值记为ASEr ,它反映了网络模型的训练精度。预报相对误差的均值记为APEr ,它反映了网络模型的预报能力。各值列于表2。作为比较,将BP 算法的训练结果也列入表中(BP2NN) ,BP 算法最大迭代轮数取50000。

    表2 自检和预报相对误差

    Table 2 The relative error of self2checking and prediction

    序号

    No.

    PSO 算法训练的神经网络PSO2NN

    自检相对误差

    ASEr ( %)

    预报相对误差

    APEr ( %)

    BP 算法训练的神经网络BP2NN

    自检相对误差

    ASEr ( %)

    预报相对误差

    APEr ( %)

    1 3. 67 5. 52 4. 27 6. 21

    2 3. 82 8. 21 4. 06 10. 86

    3 4. 25 12. 02 4. 32 15. 81

    4 4. 16 1. 23 4. 17 5. 47

    5 3. 95 6. 81 4. 59 10. 31

    6 3. 64 3. 52 4. 32 1. 89

    7 4. 03 3. 04 4. 06 4. 12

    8 4. 18 1. 47 4. 05 4. 08

    9 4. 17 4. 18 4. 08 4. 41

    10 3. 96 5. 76 4. 31 6. 41

    平均值Average 3. 98 5. 18 4. 22 6. 96

    PSO2NN: particle swarm optimization2neural networks ; BP2NN: back propagation2neural networks

    4. 2 训练速度

    定义从训练开始到最大迭代次数为每次训练时间。计算表明,10 次训练的平均时间,PSO 为8 s ,BP

    算法则需74 s。说明PSO 算法比BP 算法快得多。其原因主要是PSO 算法引入了并行机制,在多维空间

    图1 两种方法计算结果比较

    Fig. 1 Results comparing between two methods

    ( ○)BP2NN; ( ●) PSO2NN。

    中实行有效的整体搜索,从而克服了BP 算法的缺点, 加速了

    收敛的进程。

    4. 3 PSO 算法和BP 算法的模型精度比较

    模型精度又分训练精度和预报精度,后者更为重要,它体

    现了网络模型预测未知农药化合物的除草活性的能力。由表

    2 可知,PSO 算法训练前传神经网络,其训练精度和预报精度

    均有提高,预报精度提高更显著。以第3 组数据为例,训练中

    可观察到,在训练初期两种算法适应值函数下降都较快,但随

    后BP 算法陷入局部极小点,其适应值函数下降速度十分缓

    慢;而PSO 算法则可较快地继续使适应值函数下降。将两种

    训练算法对第3 组数据的计算结果与观测结果进行比较,示于

    图1。从图中可看出,PSO2NN 结果明显好于BP2NN。PSO2NN 的点比较均匀的分布在45 度线的两边,而

    BP2NN 点有向左上偏移的倾向,可判断这里存在一个系统偏差,说明PSO 算法的容噪性能较BP 好,可

    训练出比较稳定的网络模型。

    4. 4 几种计算方法的结果比较

    文献1 列举了几种为农药QSAR 建模方法,包括序列多重回归(sequential multiple regression , SMR) 、主成分分析(principal components analysis , PCA) 和偏最小二乘回归(partial least square regression , PLSR) 。

    为比较将其计算结果列于表3 中。由表3 可知,PLS 和PCA 法自检相对误差较小,但其预报相对误差较

    大,故有理由认为这两种方法存在一定的过拟合,而通过神经网络可以使其预报精度得到进一步的提

    3 9 5 1 第12 期张丽平等:基于粒子群优化算法的神经网络在农药定量构效关系建模中的应用

    高,这是十分可贵的性质。

    表3 不同方法结果比较

    Table 3 Comparisons between different methods

    不同方法

    Different methods

    自检相对误差

    Self2checking relative error

    预报相对误差

    Prediction relative error

    基于原始数据矩阵的序列多重回归SMR based on X] 6. 40 7. 12

    基于扩展数据矩阵的序列多重回归SMR based on Xe ] 3. 74 6. 57

    基于原始数据矩阵的主成分分析PCA based on X] 5. 66 7. 04

    基于扩展数据矩阵的主成分分析PCA based on Xe ] 3. 69 13. 97

    3

    由方差贡献选择3 个成分

    Three component selected according to variance contribution

    6. 40 7. 12

    由相关系数选择个20 个成分

    Twenty component selected according to correlative coefficient

    3. 74 6. 57

    23 个成分的偏最小二乘回归PLS regression of 23 components 3. 21 7. 89

    基于BP 算法的神经网络BP2NN 4. 22 6. 96

    基于PSO 算法的神经网络PSO2NN 3. 98 5. 18

    3 表示相对误差大于100 %未计(relative error 100 %) ; X]为原始数据矩阵(original data matrix) ; Xe ]为扩展数据矩阵(expanded data

    matrix)

    4. 5 结论

    新药的开发是一个长期的、花费巨大的过程,故缩短药物开发周期是制药业首要考虑的因素。已经

    将神经网络用于药物数据处理。结果表明:PSO 算法对于实际的复杂化学模式的研究是可行的,其训练

    神经网络的速度快于BP 算法,而且精度高,表现出明显的优势。

    References

    1 Chen Yaqiu , Chen Dezhao , He Chunyan , Hu Shangxu. Chemom. Intell . Lab. Syst . , 1999 , 45 : 267~276

    2 Eriksson L , Johanssson E. Chemom. Intell . Lab. Syst . , 1996 , 34 : 1~19

    3 Aoyama T, Suzuki Y, Ichikawa H. J . Med. Chem. , 1990 , 33 : 905~908

    4 Zhang Yaxiong(张雅雄) , Li Hua (李 华) , Havel J . Chinese J . Anal . Chem. (分析化学) , 2004 , 32 (5) : 673~678

    5 Kennedy J , Eberhart R. Proc. IEEE Int . Conf . on Neural Networks , 1995 : 1942~1948

    6 Xu Lu (许 禄) , Wu Yaping (吴亚平) , Hu Changyu (胡昌玉) , Li Hua (李 华) . Science in China ( Series B) (中国科学

    (B 辑) ) , 2000 , 30 (1) : 1~7

    Application of Neural Networks Based on Particle Swarm Algorithm for

    Modeling Quantitative Structure2Activity Relationships of Herbicides

    Zhang Liping , Yu Huanjun

    3

    , Chen Dezhao , Hu Shangxu

    ( Department of Chemical Engineering , Zhejiang University , Hangzhou 310027)

    Abstract Neural networks (NNs) have become one of idea tools in modeling nonlinear relationship between inputs

    and desired outputs. However , the training of NNs by conventional back2propagation method , i . e. the BP2NNs ,has intrinsic vulnerable weakness in slow convergence and local minima. In this work , particle swarm optimization

    (PSO) was proposed to train NNs , named PSO2NNs , to establish a quantitative structure2activity relationships mod2

    el for herbicidal N2(12methyl212phenylethyl) phenylacetamides , which provides a rational basis for understanding

    mechanisms of biological performance and how to alter chemical structure to achieve improved performance. Since

    neural networks can express complicated structure2activity relationships , and the combination of PSO Algorithms can

    help the networks to jump out from the local optimal points. The numerical results showed that PSO2NNs exhibit

    faster convergence rate and better predicting accuracy than the BP2NNs.

    Keywords Particle swarm optimization algorithm , neural networks , quantitative structure2activity relationships

    (Received 4 January 2004 ; accepted 5 July 2004)

    4 9 5 1 分析化学第32 卷, 百拇医药(张丽平 俞欢军 陈德钊 胡上序)