蠓虫分类.doc 下载本文

内容发布更新时间 : 2024/5/22 2:35:50星期一 下面是文章的全部内容请认真阅读。

河 北 大 学 工 商 学 院

2.82.62.42.221.81.61.41.11.151.21.251.31.351.41.451.51.551.6样本散点和分界线图1

从命令窗口得到运行结果 a =

6.6455 -2.9128 -3.3851 所以直线方程

a1x?a2y?a3?0

中的三个待定系数分别为

a1 = 6.6455 a2 = -2.9128 a3 = -3.3857

所以判别直线方程为

6.6455 x -2.9128 y-3.3857 = 0

第5页

河 北 大 学 工 商 学 院

判别函数为

g(P) = 6.6455x-2.9128 y-3.3857

编写程序yanzheng.m,将15个学习样本的所有数据依次代入判别函数g(P)

x=[1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30];

y=[1.27 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96];

g= 6.6455*x - 2.9128*y-3.3857

运行程序可得

g =

1.1555 0.5839 1.0081 0.4838 0.2508 0.9662 1.1483 1.5471 0.9227 -0.9946 -1.2531 -0.8289 -0.8380 -0.7051 -0.4556

因为前9个g(P)的值为正数,后6个g(P)的值为负数。根据判别函数g(P)定义知,前9个学习样本为Af类,后6个学习样本为Apf类。这与学习样本本身是一致的。

4.2对题目提供的三个样本加以识别

题目提供了三个样本供判别,它们的数据列表如下

编号 触角长度x 翅膀长度y

编写程序panduan.m,将这三组数据代入判别函数

x=[1.24 1.28 1.40]; y=[1.80 1.84 2.04];

g= 6.6455*x - 2.9128*y-3.3857

1 1.24 1.80 2 1.28 1.84 3 1.40 2.04 运行程序可得

g =

-0.3883 -0.2390 -0.0241

所以,由判别函数判别三个新蠓虫的类属,均判为 Apf 类。

第6页

河 北 大 学 工 商 学 院

4.3若 Af是宝贵的传粉益虫,Apf是某种疾病的载体,修改的分类方法

上述的解决问题方案在解题过程中分别使用权值 “1” 和“-1”代表正数和负数来完成的。这只是一种人为的规定,并不是一成不变的。如果Af是宝贵的传粉益虫,Apf是某种疾病的载体,可以将超定方程组的右端项中的权值“-1”改为其它的负数,至于具体的修改数值不仅与原来的15个样本有关,还与保护传粉益虫Af重要,还是消灭传病害虫Apf重要有关。修改数值后,重新求超定方程组的解获得分类边界直线的方程。这样将与前面所求分类边界直线的方程不一样,当然对新给定的蠓虫的翅膀和触角长度数据来做判断其结果也是不同的。

例如这里以最大程度的消灭传病害虫Apf为主,将权值“-1”改为“-2”,修改部分数据,得到mengchong1.m

xy=[1.24 1.27;1.36 1.74;1.38 1.64;1.38 1.82;1.38 1.90; 1.40 1.70;1.48 1.82;1.54 1.82;1.56 2.08;1.14 1.78; 1.18 1.96;1.20 1.86;1.26 2.00;1.28 2.00;1.30 1.96]; %样本数据 z=[1;1;1;1;1;1;1;1;1;-2;-2;-2;-2;-2;-2]; %数据更改

x=xy(:,1);y=xy(:,2);x1=x(1:9);y1=y(1:9);x2=x(10:15);y2=y(10:15); A=[1.24 1.27 1; 1.36 1.74 1; 1.38 1.64 1; 1.38 1.82 1; 1.38 1.90 1; 1.40 1.70 1; 1.48 1.82 1; 1.54 1.82 1; 1.56 2.08 1; 1.14 1.78 1; 1.18 1.96 1; 1.20 1.86 1; 1.26 2.00 1; 1.28 2.00 1; 1.30 1.96 1];

a = A \\ z %求解超定方程组 x=1.10:0.02:1.60;

y=(-a(1)*x-a(3) )/a(2); %确定分界线方程 plot(x1,y1,'x',x2,y2,'*',x,y) %在散点图中画出分界线

程序执行后,从图形窗口将得到新的分界线图(如下图所示)

第7页

河 北 大 学 工 商 学 院

2.62.42.221.81.61.41.11.151.21.251.31.351.41.451.51.551.6样本散点和分界线图 2

从图形中可以看出,在所给出的样本中,有一只Af类蠓虫被分到了Apf类一侧,这里可以把它作为特例看待,从总体上看,这种分类方式依然是科学的,因为这种分类方式能更好的趋利避害。 同样从命令窗口得到运行结果,

a =

9.9683 -4.3692 -5.5776

编写程序panduan1.m,将需要判断的三组数据代入新的判别函数g(P) = 9.9683x-4.3692 y-5.5776

x=[1.24 1.28 1.40]; y=[1.80 1.84 2.04];

g= 9.9683*x - 4.3692*y-5.5776

运行程序可得 g =

-1.0815 -0.8575 -0.5351

第8页

河 北 大 学 工 商 学 院

所以,如果Af是宝贵的传粉益虫,Apf是某种疾病的载体,则由新的判别函数判别三个新蠓虫的类属,依然均判为Apf类(注:该结论成立的前提是把权值“-1”改为“-2”,如果改为其它负值,结果可能有所不同)。

4.4解决蠓虫分类问题的其他方案简述

对于蠓虫分类问题,另有多种解决方案,比如马氏距离判别法、 Fisher判别法、Bayes判别法,另外也可以运用人工智能网进行求解,解法可谓多种多样。

这里介绍人工智能网中的LVQ(Learning Vector Quantization)网以及Bayes判别法,并使用这两种方法解决蠓虫分类问题(这里不考虑两类蠓虫益虫或害虫的情况)。

4.41人工智能网 LVQ

LVQ网是一种适用于有监督情况的学习方法。在有监督的情况下,学习样本的类别是事先已知的,与此相应,每个输出单元所对应的类别也事先作了规定,但是,代表同一类别的输出单元可以不止一个。在 LVQ 中,对于任一输入向量,按无监督有竞争的方式选出优胜者i*,但权的修正规则取决于输入向量的类别与i*所代表的是否一致,确切地说,令

Vwi*j???(Isj?w*)ijij??(Isj?w*)

前一种情况,修正和无监督的学习一致,权向样品方向移动一小段距离;后 一种则相反,权向离开样品方向移动一小段距离,这样就减少了错误分类的机会。

对于上述的蠓虫分类问题,我们编写程序 lvq.m如下:

Af=[1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56;

1.27 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08]; % Af类蠓虫的样本数据 Apf=[1.14 1.18 1.20 1.26 1.28 1.30;1.78 1.96 1.86 2.00 2.00 1.96]; % Apf类蠓虫的样本数据

p=[Af,Apf];% p为lvq神经网的输入向量

Tc=[ones(1,9) 2*ones(1,6)];% Tc为分类指数 Af 1;Apf 2 T=ind2vec(Tc);% ind2vec将Tc转换为lvq神经网的输出向量 net=newlvq(minmax(p),5,[0.6,0.4]);%新建lvq网 %以下为lvq网的学习过程

net.trainParam.show=100; net.trainParam.epochs=1000; net=train(net,p,T);

第9页