- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学建模神经网络之算法.ppt
由前20个已知类别的DNA序列片段可以构造出目标向量: t = [1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]; 1、应用感知器对DNA序列进行分类: (DNAper1.m) net=newp([0 1;0 1;0 1;0 1;0 1],1); net.adaptParam.passes=110 net=adapt(net,p,t); Y=sim(net,p) % 回代检验 a=sim(net,P) % 对待判类别的序列进行分类 A 类 B 类 * * 主讲:何仁斌 实际应用问题 1、蠓虫的分类问题 2、DNA序列分类问题 3、癌症诊断问题 …… 神经网络算法简介 感知器 感知器(perceptron)是由美国科学家F.Rosenblatt于1957年提出的,其目的是为了模拟人脑的感知和学习能力。感知器是最早提出的一种神经网络模型。它特别适合于简单的模式分类问题,如线性可分的形式。 神经网络算法简介 以两个输入的单层感知器神经元为例 ∑ w(1,1) w(1,2) p(1) p(2) n a b w ——权重; b ——阈值 如果设 w(1,1)=-1,w(1,2)=2,b=1 L -b/ w(1,2) -b/ w(1,1) wp+b0 a=1 wp+b0 a=0 单层感知器 多层感知器 w(1,1) w(1,2) p1 p2 n a2 ∑ b1 ∑ b2 n1 a1 n2 a1 ∑ b1 w(2,1) w(2,2) 性能指标:均方误差达到最小 涉及算法 注意:单层感知器的局限性是:仅对线性可分问题具有分类能力。 分类问题的MATLAB软件实现 以蠓虫分类问题为例 % 输入向量 P=[1.24 1.36 1.38 1.38 1.38 1.4 1.48 1.54 1.56 1.14 1.18 1.2 1.26 1.28 1.3; 1.72 1.74 1.64 1.82 1.9 1.7 1.82 1.82 2.08 1.78 1.96 1.86 2.0 2.0 1.96]; % 目标向量 T=[1 1 1 1 1 1 1 1 1 0 0 0 0 0 0]; % 绘制输入向量 plotpv(P,T); 1)单层感知器 ∑ w(1,1) w(1,2) p(1) p(2) n a b % 建立一个感知器 net=newp([0 3;0 3],1); % 绘制输入向量 plotpv(P,T); E=1; % 初始化感知器 net=init(net); linehandle=plotpc(net. IW {1},net. b {1}); 分类问题的MATLAB软件实现 分类问题的MATLAB软件实现 % 修正感知器网络 while(sse(E)) [net,Y,E]=adapt(net,P,T); %返回学习后的网络,Y是输出,E是误差 linehandle=plotpc(net. IW {1},net. b {1},linehandle); %分界线绘制函数 drawnow; %更新分界线 end; % 利用训练好的感知器对未知类别样本进行分类 p=[1.24,1.28,1.4;1.8,1.84,2.04]; a=sim(net,p); plotpv(p,a); ThePoint=findobj(gca,type,line); set(ThePoint,Color,red); hold on; plotpv(P,T); plotpc(net. IW {1},net. b {1}); hold off; disp(End of percept) 分类问题的MATLAB软件实现 分类结果: Af Apf 以上结果是图形化的结果,如下给出数值化的结果:mcfl1.m P=[1.24 1.36 1.38 1.38 1.38 1.4 1.48 1.54 1.56 1.14 1.18 1.2 1.26 1.28 1.3; 1.72 1.74 1.64 1.82 1.9 1.7 1.82 1.82 2.08 1.78 1.96 1.86 2.0 2.0 1.96]; % 目标向量 T=[1 1 1 1 1 1 1 1 1 0 0 0 0 0 0]; % 建立一个感知器 net=newp([0 3;0 3],1); % 网络训练次数 net.adaptParam.passes=100 net=adapt(net,P,T); %返回自适应的神经网络 % 输出仿真结果 Y=sim(net,P) % 利用训练好的感知器进行分类 p=[1.24,1.28,1.4;1.8,1.84,2.04]; a=sim(net,p) 仿真结果: Y
文档评论(0)