亓凯航,仲梁维
(上海理工大学,上海 200093)
乳腺癌是世界上最常见,致死率较高的癌症之一。目前,抗激素治疗经常用于ERα表达的乳腺癌患者,其通过调节雌激素受体活性来控制人体内雌激素水平[1]。ERα被公认为是治疗乳腺癌的重要靶标,能够拮抗ERα活性的化合物是治疗乳腺癌的候选药物[2]。在药物研发中,为了节约时间及经费成本,通常采用建立化合物活性预测模型的方法来筛选潜在活性化合物。本文采用遗传算法优化BP 神经网络结合斯皮尔曼等级相关系数建立化合物活性预测模型。该模型能较为准确地预测化合物活性值。
生物活性值作为因变量,分子描述符信息作为自变量。分析数据可知,将所有操作变量输入,可能会导致过拟合,影响结果。因此采用斯皮尔曼等级相关系数对分子描述符和生物活性值进行相关性分析计算,求得分子描述符和生物活性值之间的斯皮尔曼等级相关系数,将系数由大到小排序并返回索引值,得到前20个对生物活性最具有显著影响的分子描述符,详见表1。
表1 前20个对生物活性最具显著影响的分子描述符
用前20 个对生物活性最具显著影响的分子描述符及pIC50值构建BP 神经网络模型。BP 神经网络是一种单向传播多层的前馈神经网络,过程主要可分为两个阶段,第一阶段是信号的前向传播,再从输入层经过隐含层,最后到达输出层;第二阶段是误差的反向传播,从输出层到隐含层,最后到输入层,依次调节隐含层到输出层的权重和偏置,输入层到隐含层的权重和偏置[4]。
一个神经网络包括输入层、隐含层和输出层,如图1所示。输入层神经元个数应该与输入数据的维数相同,输出层神经元个数与要拟合的数据维数相同,而隐含层神经元的个数与层数按照设计者的目标和需求决定[5]。深度学习隐含层的层数一般为三层,由可修正的权值互联,一般使用的神经网络都是三层网络。BP神经网络具有较强的非线性映射能力、高度自学习和自适应的能力、一定的容错能力,但是BP 算法是一种基于梯度的最速下降法,因此存在不可避免的缺陷,学习过程收敛速度比较慢,网络结构不易确定,甚至网络训练很容易陷入局部极小值[6]。故针对BP神经网络算法存在的缺点,提出利用遗传算法优化BP神经网络,避免陷入局部最优解的方案,充分利用BP神经网络的学习能力和遗传算法的全局搜索能力,二者相互补偿。
图1 神经网络
遗传算法优化的BP神经网络包含种群初始化、适应度函数、选择操作、交叉操作和变异操作五个要素[7]。
⑴种群初始化
种群初始化运用实数进行编码,将每个个体当作一个实数串,包括输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值四部分。种群个体都包括神经网络的全部权值和阈值。在已知网络节点结构的情况下,构建结构、权值、阈值确定的BP神经网络[7]。
⑵适应度函数
将个体得到BP神经网络的初始权值和阈值,用训练集训练BP神经网络后预测系统输出,把预测输出和期望输出间的误差绝对值和作为个体适应度值F,计算公式为:
其中,n为网络输出节点数;yi为BP 神经网络第i个节点的期望输出;oi为第i个节点的预测输出;k为系数[7]。
⑶选择操作
常见的遗传算法的选择操作,大多数使用轮盘赌法、锦标赛法等方法,本文考虑到适应度比例,因此选用轮盘赌法,得到个体i的选择概率pi为:
其中,fi为个体i的适应度值,为了使适应度值尽量小,会采用在个体选择前对适应度值求倒数的形式;k为系数;N为种群个体数目[7]。
⑷交叉操作
因为种群个体编码采用的是实数编码,所以交叉操作选用实数交叉法,第k个染色体ak和第l个染色体al在j位的交叉操作方法如下[8]:
其中,b是[ 0,1 ]之间的随机数。
⑸变异操作
选取第i个个体的第j个基因aij进行变异,变异操作方法如下:
其中,amax为基因aij的上界;amin为基因aij的下界;r2为一个随机数;g是当前迭代次数;Gmax为最大进化次数;r为[ 0,1 ]间的随机数[8]。
利用遗传算法来优化BP 神经网络得到最优个体的权值和阈值,种群中的每个个体都包含了一个网络所有的权值和阈值,个体利用适应度函数计算个体适应度值,遗传算法使用选择、交叉和变异操作找到最优适应度值对应的个体[9]。BP神经网络预测就是使用遗传算法得到最优个体对网络初始权值和阈值赋值,网络经过训练后对函数输出预测。遗传算法优化BP神经网络流程如图2所示。
图2 遗传算法优化BP神经网络流程
建立BP神经网络模型,步骤如下。
⑴数据输入及处理
针对前20 个对生物活性最具显著影响的分子描述符及生物活性值,在1974 个化合物中预留出474 个化合物的数据进行之后的BP 神经网络系统的测试和检验。
⑵网络训练
用归一化的1500组数据进行网络训练,构建该网络结构模型需要20个输入参数、1个输出参数,所以设置的BP 神经网络结构为20->41->1,即输入层有20个节点,隐含层有41 个节点,输出层有1 个节点,共有20 × 41+1=821 个权值,41+1=42 个阈值,所以遗传算法个体编码长度为821+42=863,均方误差为0.065;学习率为0.1;训练结果与实际结果对比如图3。
图3 GA优化BP神经网络输出
⑶BP神经网络的优化
本文采用遗传算法对BP 神经网络的初始权值和阈值进行优化寻求最优个体,在一定范围内对遗传算法的参数设定,进化代数为50,种群规模是50,交叉概率选择为0.4,变异概率为0.3;适应度曲线和预测误差如图4所示。
图4 适应度曲线和预测误差
⑷网络性能评估
均方误差作为评价点估计最经典的标准,均方误差越小,越能说明点估计精确性。所谓均方误差,就是预测数据和原始数据对应点误差的平方和的均值,计算公式为:
其中,n为样本个数,SSE为和方差[8]。
优化前后BP 神经网络误差对比如图5。首先,将未优化前的BP 神经网络与优化后的神经网络性能评估对比,对二者的最小均方误差值作比较,优化前的MSE值为0.22097,优化后的MSE值为0.06923,经过遗传算法优化后的BP 神经网络的MSE 值更小。其次,观察预测输出与期望输出对比图,遗传算法优化的输出与期望输出比较接近,拟合效果比较好。通过预测误差得知,当样本数在100左右时,预测误差最小。因此,经过遗传算法优化后的BP神经网络对生物活性值的预测结果更加准确。
图5 优化前后BP神经网络误差对比
⑸神经网络预测
通过上述训练好的模型,将数据导入,得到50 个化合物的生物活性值,用公式pIC50=-lg(IC50× 10-9)将生物活性值(pIC50)转化为IC50,最后得到生物活性值,详见表2。
表2 生物活性预测值
本文针对BP 神经网络预测化合物生物活性值存在学习过程收敛速度比较慢,容易陷入局部最优解的缺陷,提出了基于遗传算法优化的BP神经网络预测模型,可以有效降低均方误差,遗传算法优化的BP 神经网络能够较为准确地预测化合物的生物活性值,预测结果符合预期值。