目录1感知器神经网络设计..........................................................................................................................21.1问题描述.......................................................................................................................................21.2网络初始化...................................................................................................................................21.3网络训练.......................................................................................................................................21.4网络测试.......................................................................................................................................31.5练习...............................................................................................................................................52.BP神经网络的设计...........................................................................................................................222.1问题描述.....................................................................................................................................222.2建立网络.....................................................................................................................................222.3网络训练.....................................................................................................................................232.4讨论.............................................................................................................................................242.5练习.............................................................................................................................................25第2页/共28页1感知器神经网络设计1.1问题描述首先给出一些已知样本点,假设它们的坐标点和类别都已确定,设计一个感知器网络,并利用这些已知的样本点来训练网络,使得对于以后任意给定的一些样本点,感知器神经网络都能尽可能正确将它们分类。已知给出的样本点及其类别,在坐标图中将它们表示出来,不同的类别使用不用的符号表示,如图1所示:%输入样本点及其相应的类别P=[-0.5-0.50.3-0.10.20.00.60.8;-0.50.5-0.51.00.5-0.90.8-0.6];T=[11011010];%在坐标图上绘出样本点plotpv(P,T);图1样本点的分布及其相应类别1.2网络初始化使用newp函数建立感知器神经网络。该函数执行后返回一个新的感知器神经网络,传递函数在默认情况下为hardlim函数,学习函数在默认情况下为learnp函数。假设样本点取值在[-1,1]之间,而网络只有单个神经元,则有:%建立一个感知器网络net=newp([-11;-11],1);然后使用plotpc函数可以在已绘制的图上加上感知器分类线:handle=plotpc(net.iw{1},net.b{1});1.3网络训练神经网络建立好之后,必须经过训练才能实际应用,通过训练,以决定网络的权值和阈值。第3页/共28页训练过程为:对于给定的输入向量,计算网络的实际输出,并与相应的目标向量进行比较,得到误差e,然后根据相应的学习规则调整权值和阈值,重新计算网络在新的权值和阈值作用下的输出,重复上述过程,直到网络的输出与期望的目标向量相等或训练次数达到预期的最大次数时才停止训练。下面使用adapt函数训练网络:%利用样本点训练网络并绘出得到的分类线E=1;while(sse(E)),[net,Y,E]=adapt(net,P,T);handle=plotpc(net.iw{1},net.b{1},handle);end;图2网络设计结果1.4网络测试训练完成后,神经网络的权值和阈值就确定了,可以使用它解决实际问题。利用如下的一些测试样本点,输入到网络中,对样本点进行分类。分类结果如图3所示:%选择10个点来测试网络testpoints=[-0.50.3-0.90.4-0.10.2-0.60.80.1-0.4;-0.3-0.8-0.4-0.70.4-0.60.1-0.5-0.50.3];a=sim(net,testpoints);%在坐标图上绘出网络的分类结果及分类线figure;plotpv(testpoints,a);plotpc(net.iw{1},net.b{1},handle);第4页/共28页图3感知器网络测试结果完整的matlab程序代码为:%输入样本点及其相应的类别P=[-0.5-0.50.3-0.10.20.00.60.8;-0.50.5-0.51.00.5-0.90.8-0.6];T=[11011010];%在坐标图上绘出样本点plotpv(P,T);%建立一个感知器网络net=newp([-11;-11],1);handle=plotpc(net.iw{1},net.b{1});%利用样本点训练网络并绘出得到的分类线E=1;while(sse(E)),[net,Y,E]=adapt(net,P,T);handle=plotpc(net.iw{1},net.b{1},handle);end;%选择10个点来测试网络testpoints=[-0.50.3-0.90.4-0.10.2-0.60.80.1-0.4;-0.3-0.8-0.4-0.70.4-0.60.1-0.5-0.50.3];a=sim(net,testpoints);%在坐标图上绘出网络的分类结果及分类线figure;plotpv(testpoints,a);plotpc(net.iw{1},net.b{1},handle);第5页/共28页1.5练习(1)1981年生物学家格若根(W.Grogan)和维什(W.Wirth)发现了两类蚊子(或飞蠓midges).他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:翼长触角长类别1.781.14Apf1.961.18Apf1.861.20Apf1.721.24Af2.001.26Apf2.001.28Apf1.961.30Apf1.741.36Af1.641.38Af1.821.38Af1.901.38Af1.701.40Af1.821.48Af1.821.54Af2.081.56Af利用matlab设计感知器神经网络模型,将上述两类蚊子分开。参考demo1.m(2)下面给出了一个114个基因,60个人的基因表达水平的样本.其中前20个是癌症病人的基因表达水平的样本(其中还可能有子类),其后的是20个正常人的基因表达信息样本,其余的20个是待检测的样本(未知它们是否正常).试设法找出描述癌症与正常样本在基因表达水平上的区别,建立数学模型,及识别方法,去预测待检测样本是癌症还是正常样本.这道题是很典型的用神经网络的分类问题,只需用感知器神经网络便能完成此分类工作,我们用前40组数据对网络进行训练,再用训练号的网络来计算后20组数据,便能得到分类的结果。详细的程序可参见本讲义附带的Matlab程序。参考demo2.m前40人第1个人:108.60111.84693.141119.66533.3880.01184.58160.32253.2889.18158.68213.4828.59441.63590.93680.20145.23231.85162.3053.95319.84264.57132.84444.28272.17217.27349.27222.9947.79678.00596.0968.5288.47146.93212.9677.412590.652590.652590.652590.6568.54193.55284.6591.1470.46703.73388.17667.1148.96716.31931.8593.4891.40689.8925.73937.522296.28226.87162.95173.01170.261233.46186.761282.52292.45202.55855.40368.07889.3499.13142.6053.83196.62187.00110.00160.89229.0937.94172.3148.7762.56456.85424.99420.45651.0288.03829.44420.9568.71496.25305.58366.12200.99445.20101.74783.1586.3443.58932.48143.84576.22661.99114.25149.6464.02207.16170.7778.57307.27769.12622.30606.68161.28222.58;...第2个人:109.08244.52228.23468.63205.9364.13188.1531.89173.8872.2561.49第6页/共28页89.81160.1177.81324.94246.30177.65440.83134.55102.81100.5243.5692.38419.84147.18167.91295.63218.1258.68204.52346.08101.7078.32133.26265.85130.192298.672298.672298.672298.67278.29119.9168.8925.2965.66886.99551.87616.1566.73507.30769.6256.1786.71504.3015.11540.34497.12165.3192.32164.4676.18608.18139.24150.6487.57562.06370.56133.14301.271