武汉理工大学,模式识别实验报告,带数据!带代码!(2)

2018-12-27 19:17

-8.7000 9.9000 15.0000 错误个数e = 0

迭代次数K = 200

从输出的图形结果可以看到生成的权向量构造的线性判别函数能够将所有的训练样本正确分类。

第二组输出结果: 权向量W = -30.0000 25.9000 38.0000 错误个数e = 2

迭代次数K = 1000

从输出的图形结果可以看到生成的权向量构造的线性判别函数能够尽可能将训练样本正确分类。

附录:

1.感知器准则算法文件perceptron.m

function [W, e, K] = perceptron(w1, w2, max) % The perceptron algorithm % w1 : N1*d维输入数据clc % w2 : N2*d维输入数据 % w : [w0 w1 w2 ...] % e : 错误分类数据点数 % k : 迭代次数 [N1, d] = size(w1); N2 = size(w2, 1); N = N1+N2;

X_aug = [w1, ones(N1, 1); -1.*w2, -1.*ones(N2, 1)]; W = ones(d+1, 1);%w = [w0 w1 w2 ...]' e = 0; K = 0;

for k = 1:floor(max/N) e = 0; for i = 1:N K = K+1;

y = W'*X_aug(i, :)'; if y <= 0

W = W+X_aug(i, :)'; e = e+1;

end end

if(e == 0) return; end end

disp(['达到最大迭代次数' num2str(max)])

2.例程文件parzen_sample.m

w1 = [0.1, 6.8, -3.5, 2.0, 4.1, 3.1, -0.8, 0.9, 5.0, 3.9; 1.1, 7.1, -4.1, 2.7, 2.8, 5.0, -1.3, 1.2, 6.4, 4.0]; w2 = [7.1, -1.4, 4.5, 6.3, 4.2, 1.4, 2.4, 2.5, 8.4, 4.1;

4.2, -4.3, 0.0, 1.6, 1.9, -3.2, -4.0, -6.1, 3.7, -2.2]; [W, e, K] = perceptron(w1', w2', 1000) X = [w1, w2];

x = min(X(1, :)):0.01:max(X(1, :)); y = (W(1, 1).*x+W(3, 1))/(-W(2, 1));

figure('Name', '感知器准则算法'); subplot(2, 1, 1);

plot(w1(1, :), w1(2, :), 'o', w2(1, :), w2(2, :), 's', x, y); title('感知器准则算法,第一组')

w1 = [0.1, 6.8, -3.5, 2.0, 4.1, 3.1, -0.8, 0.9, 5.0, 3.9; 1.1, 7.1, -4.1, 2.7, 2.8, 5.0, -1.3, 1.2, 6.4, 4.0]; w2 = [7.1, -1.4, 4.5, 6.3, 4.2, 1.4, 2.4, 2.5, 8.4, 4.1; 4.2, -4.3, 0.0, 1.6, 3, -3.2, -4.0, -6.1, 3.7, -2.2]; [W, e, K] = perceptron(w1', w2', 1000) X = [w1, w2];

x = min(X(1, :)):0.01:max(X(1, :)); y = (W(1, 1).*x+W(3, 1))/(-W(2, 1)); subplot(2, 1, 2);

plot(w1(1, :), w1(2, :), 'o', w2(1, :), w2(2, :), 's', x, y); title('感知器准则算法,第二组')

姓名: 班级: 学号:

实验三 Fisher 线性判别实验

一、实验目的

1.了解Fisher 线性判别算法的原理及其推导过程。 2.掌握Fisher 线性判别算法并用Matlab实现。

3.使用Matlab分析Fisher 线性判别算法生成的判别函数的分类效果

二、实验数据

本实验数据来自Fisher's Iris Data.xls https://en.wikipedia.org/wiki/Iris_flower_data_set 第一组选取萼片长度和花瓣长度作为变量,青风藤和云芝各50个样本(见附录) 第二组选取萼片长度和萼片宽度作为变量,青风藤和云芝各50个样本(见附录)三、三、

实验结果

第一组输出结果: 权向量W = 0.1134 -0.3175

阈值w0 = 0. 2882

第二组输出结果: 权向量W = -0.1167 0.1443 阈值w0 = 0. 1912

从输出的图形结果可以看到生成的权向量构造的判别函数能够尽可能将训练样本正确分类。

附录:

1.感知器准则算法文件FisherLinearDiscriminat.m function [W, w0] = FisherLinearDiscriminat(w1, w2) % FLD Fisher Linear Discriminant. % w1 : D*r1 data % w2 : D*r2 data

% W : [w0 w1 w2 ...] % w0 : Threshold

%计算类1和类2的样本数 r1=size(w1,1); r2=size(w2,1);

%计算类1和类2的均值(矩阵) m1=mean(w1); m2=mean(w2);

%各类类内离散度矩阵(协方差矩阵) s1=cov(w1)*(r1-1); s2=cov(w2)*(r2-1); %总类内离散度矩阵 sw=s1+s2;

%投影向量的计算公式 W=inv(sw)*(m1-m2)';

%计算投影后的一位空间内,各类的均值 y1=W'*m1'; y2=W'*m2';

%计算阈值

w0=-1/2*(y1+y2); %和类相同符号被归为同类

2.例程文件FisherLinearDiscriminat_sample.m

w1 = [xlsread('Iris', 'A3:A52')'; xlsread('Iris', 'C3:C52')'];

w2 = [xlsread('Iris', 'A53:A102')'; xlsread('Iris', 'C53:C102')']; [W, w0] = FisherLinearDiscriminat(w1', w2') X = [w1, w2];

x = min(X(1, :)):0.01:max(X(1, :)); y = (W(1, 1).*x+w0)/(-W(2, 1)); figure('Name', 'Fisher 线性判别'); subplot(2, 1, 1);

plot(w1(1, :), w1(2, :), 'o', w2(1, :), w2(2, :), 's', x, y); title('Fisher 线性判别,第一组');

w1 = [xlsread('Iris', 'A3:A52')'; xlsread('Iris', 'B3:B52')'];

w2 = [xlsread('Iris', 'A53:A102')'; xlsread('Iris', 'B53:B102')']; [W, w0] = FisherLinearDiscriminat(w1', w2') X = [w1, w2];

x = min(X(1, :)):0.01:max(X(1, :)); y = (W(1, 1).*x+w0)/(-W(2, 1)); subplot(2, 1, 2);

plot(w1(1, :), w1(2, :), 'o', w2(1, :), w2(2, :), 's', x, y); title('Fisher 线性判别,第二组');

3.实验数据Iris.xls Fisher's Iris Data 萼片长度 萼片宽度 花瓣长度 花瓣宽度 物种编号 物种


武汉理工大学,模式识别实验报告,带数据!带代码!(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:the effects of tv advertising on children

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: