华为杯中国研究生数学建模竞赛D题-抗乳腺癌候选药物的优化建模-思路

问题 1. 根据文件“ Molecular_Descriptor.xlsx ”和“ ERα_activity.xlsx ”提供的数
据,针对 1974 个化合物的 729 个分子描述符进行变量选择,根据变量对生物活
性影响的重要性进行排序,并给出前 20 个对生物活性最具有显著影响的分子描
述符(即变量),并请详细说明分子描述符筛选过程及其合理性。
问题一难度较低,主要是找出对生物活性最具有显著影响的分子描述符,具有影
响意味着该分子描述符与生物活性的相关性越高,因此可以构建相关性分析模型
来分别计算各分子描述符与生物活性的关系,找出相关性最大的 20 个变量即可。
matlab 中使用 corrcoef 函数可以求两个序列的相关度
corrcoef
x y )表示序列 x 和序列 y 的相关系数,得到的结果是一个 2*2 矩阵,
其中对角线上的元素分别表示 x y 的自相关,非对角线上的元素分别表示 x
y 的相关系数和 y x 的相关系数,两个是相等的。
问题 2. 请结合问题 1 ,选择不超过 20 个分子描述符变量,构建化合物对 ERα
物活性的定量预测模型,请叙述建模过程。然后使用构建的预测模型,对文件
ERα_activity.xlsx ”的 test 表中的 50 个化合物进行 IC 50 值和对应的 pIC 50 值预
测,并将结果分别填入“ ERα_activity.xlsx ”的 test 表中的 IC50_nM 列及对应的
pIC50 列。
该问题主要是构建生物活性与 20 个分子变量之间的逻辑关系,主要有两种思路,
第一种是构建多元线性模型,及构建 y=a1x1+a2x2+...+a20x20 关系,然后求解
a1,a2,...a20 系数即可;第二种思路是构建神经网络模型,建立变量与生物活性之
间的非线性拟合关系,这里最好别用 BP 神经网络,因为输入数据的参数较多,
很容易陷入局部最优解,可采用遗传算法优化的 BP 神经网络模型或粒子群算法
优化的神经网络模型等,建立上述逻辑关系后将 test 表中数据带入即可。
% 程序一: GA 训练 BP 权值的主函数
function net=GABPNET(XX,YY)
%--------------------------------------------------------------------------
% GABPNET.m
% 使用遗传算法对 BP 网络权值阈值进行优化,再用 BP 算法训练网络
%--------------------------------------------------------------------------
% 数据归一化预处理
nntwarn off
XX=[1:19;2:20;3:21;4:22]';
YY=[1:4];
XX=premnmx(XX);
YY=premnmx(YY);
YY
% 创建网络
net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'trainlm');
% 下面使用遗传算法对网络进行优化
P=XX;
T=YY;
R=size(P,1);
S2=size(T,1);
S1=25;% 隐含层节点数
S=R*S1+S1*S2+S1+S2;% 遗传算法编码长度
aa=ones(S,1)*[-1,1];
popu=50;% 种群规模
save data2 XX YY % 是将 xx,yy 二个变数的数值存入 data2 这个 MAT-file
initPpp=initializega(popu,aa,'gabpEval');% 初始化种群
gen=100;% 遗传代数
% 下面调用 gaot 工具箱,其中目标函数定义为 gabpEval
[x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...
'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);
% 绘收敛曲线图
figure(1)
plot(trace(:,1),1./trace(:,3),'r-');
hold on
plot(trace(:,1),1./trace(:,2),'b-');
xlabel('Generation');
ylabel('Sum-Squared Error');
figure(2)
plot(trace(:,1),trace(:,3),'r-');
hold on
plot(trace(:,1),trace(:,2),'b-');
xlabel('Generation');
ylabel('Fittness');
% 下面将初步得到的权值矩阵赋给尚未开始训练的 BP 网络
[W1,B1,W2,B2,P,T,A1,A2,SE,val]=gadecod(x);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值