模式识别大作业

发布 2021-03-07 07:01:28 阅读 7675

作业1 用身高和/或体重数据进行性别分类(一)

基本要求:用和的数据作为训练样本集,建立bayes分类器,用测试样本数据对该分类器进行测试。调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对所学内容的理解和感性认识。

具体做法:1. 应用单个特征进行实验:以(a)身高或者(b)体重数据作为特征,在正态分布假设下利用最大似然法或者贝叶斯估计法估计分布密度参数,建立最小错误率bayes分类器,写出得到的决策规则,将该分类器应用到测试样本,考察测试错误情况。

在分类器设计时可以考察采用不同先验概率(如0.5对0.5, 0.

75对0.25, 0.9对0.

1等)进行实验,考察对决策规则和错误率的影响。

图1-先验概率0.5:0.5分布曲线图2-先验概率0.75:0.25分布曲线。

图3--先验概率0.9:0.1分布曲线图4不同先验概率的曲线。

有图可以看出先验概率对决策规则和错误率有很大的影响。

程序:和。2. 应用两个特征进行实验:

同时采用身高和体重数据作为特征,分别假设二者相关或不相关(在正态分布下一定独立),在正态分布假设下估计概率密度,建立最小错误率bayes分类器,写出得到的决策规则,将该分类器应用到训练/测试样本,考察训练/测试错误情况。比较相关假设和不相关假设下结果的差异。在分类器设计时可以考察采用不同先验概率(如0.

5 vs. 0.5, 0.

75 vs. 0.25, 0.

9 vs. 0.1等)进行实验,考察对决策和错误率的影响。

训练样本female来测试。

图1先验概率0.5 vs. 0.5图2先验概率0.75 vs. 0.25

图3先验概率0.9 vs. 0.1图4不同先验概率。

对测试样本1进行试验得图。

对测试样本2进行试验。

有图可以看出先验概率对决策规则和错误率有很大的影响。程序和。

3. 自行给出一个决策表,采用最小风险的bayes决策重复上面的某个或全部实验。

设以ceshi1单个特征身高进行试验:决策表。

close all;

clear all;

x=120:0.1:200设置采样范围及精度。

pw1=0.9;pw2=0.1设置先验概率。

sample1=textread('读入样本。

samplew1=zeros(1,length(sample1(:,1)))

u1=mean(sample1(:,1));

m1=std(sample1(:,1));

y1=normpdf(x,u1,m1类条件概率分布。

figure(1);

subplot(2,1,1);

plot(x,y1);

title('f身高类条件概率分布曲线');

sample2=textread('读入样本。

samplew2=zeros(1,length(sample2(:,1)))

u2=mean(sample2(:,1));

m2=std(sample2(:,1));

y2=normpdf(x,u2,m2类条件概率分布。

subplot(2,1,2);

plot(x,y2);

title('m身高类条件概率分布曲线');

p1=pw1*y1./(pw1*y1+pw2*y2);

p2=pw2*y2./(pw1*y1+pw2*y2);

figure(2);

subplot(2,1,1);

plot(x,p1);

title('f身高后验概率分布曲线');

subplot(2,1,2);

plot(x,p2);

title('m身高后验概率分布曲线');

p11=pw1*y1;

p22=pw2*y2;

figure(3);

subplot(3,1,1);

plot(x,p11);

subplot(3,1,2);

plot(x,p22);

subplot(3,1,3);

plot(x,p11,x,p22);

sample=textread('all 读入样本。

result]=bayes(sample1(:,1),sample2(:,1),pw1,pw2);

bayes分类器。

function [result] =bayes(sample1(:,1),sample2(:,1),pw1,pw2);

error1=0;

error2=0;

u1=mean(sample1(:,1));

m1=std(sample1(:,1));

y1=normpdf(x,u1,m1类条件概率分布。

u2=mean(sample2(:,1));

m2=std(sample2(:,1));

y2=normpdf(x,u2,m2类条件概率分布。

p1=pw1*y1./(pw1*y1+pw2*y2);

p2=pw2*y2./(pw1*y1+pw2*y2);

for i = 1:50

if p1(i)>p2(i

result(i)=0;

pe(i)=p2(i);

elseresult(i)=1;

pe(i)=p1(i);

endend

for i=1:50

if result(k)==0

error1=error1+1;

else result(k)=1

error2=error2+1;

endend

ratio = error1+error2/length(sample识别率,百分比形式。

sprintf('正确识别率为%.2f%%.ratio)

作业2 用身高/体重数据进行性别分类(二)

基本要求:试验直接设计线性分类器的方法,与基于概率密度估计的贝叶斯分离器进行比较。

具体做法:同时采用身高和体重数据作为特征,用fisher线性判别方法求分类器,将该分类器应用到训练和测试样本,考察训练和测试错误情况。将训练样本和求得的决策边界画到图上,同时把以往用bayes方法求得的分类器也画到图上,比较结果的异同。

解答:clc

clear all

sample1=textread('读入样本。

sample2=textread('读入样本。

length1,width1]=size(sample1);

length2,width2]=size(sample2);

one1 = ones(length1, 1);

one2 = ones(length2, 1);

plot(sample1(:,1), sample1(:,2), r*',sample2(:,1), sample2(:,2), bo')

title('famale和male身高体重聚类图');

y1=sample1(:,1:2);

y2=sample2(:,1:2);

m1 = mean(y1);

m2 = mean(y2);

s1 = y1 - one1 * m1)'*y1 - one1 * m1);

s2 = y2 - one2 * m2)'*y2 - one2 * m2);

sw = s1+s2;

ww=inv(sw);

w = inv(sw)*(m1 - m2)';

y = y1;y2];

z = y*w;

hold on

t = z*w'/norm(w)^2;

plot(t(:,1), t(:,2))

for i = 1:length1+length2

plot([y(i,1) t(i,1)],y(i,2) t(i,2)],

endaxis([120 200 40 100])

title('fisher线性变换后');

grid作业2图一。

作业2图二。

利用k-l变换进行特征提取的实验。

一、 基本要求。

用和的数据作为本次实验使用的样本集,利用k-l变换对该样本集进行变换,与过去用fisher线性判别方法或其它方法得到的分类面进行比较,从而加深对所学内容的理解和感性认识。

二、 具体做法。

1. 不考虑类别信息对整个样本集进行k-l变换(即pca),并将计算出的新特征方向表示在二维平面上,考察投影到特征值最大的方向后男女样本的分布情况并用该主成分进行分类。

2. 利用类平均向量提取判别信息,选取最好的投影方向,考察投影后样本的分布情况并用该投影方向进行分类。

3. 将上述投影和分类情况与以前做的各种分类情况比较,考察各自的特点和相互关系。

三、 实验原理。

k-l变换是一种基于目标统计特性的最佳正交变换。它具有一些优良的性质:即变换后产生的新的分量正交或者不相关;以部分新的分量表示原矢量均方误差最小;变换后的矢量更趋确定,能量更集中。

这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。

设n维矢量,其均值矢量,协方差阵,此协方差阵为对称正定阵,则经过正交分解克表示为,其中,为对应特征值的特征向量组成的变换阵,且满足。变换阵为旋转矩阵,再此变换阵下变换为,在新的正交基空间中,相应的协方差阵。通过略去对应于若干较小特征值的特征向量来给y降维然后进行处理。

通常情况下特征值幅度差别很大,忽略一些较小的值并不会引起大的误差。

模式识别大作业

一。问题重述。利用fisher线性判别法和最近邻算法对sonar数据进行分类,并得出正确率。二。fisher线性判别法思路。用训练样本求出d维空间到一维空间的投影方向w,进而求出样本均值,进而可求出阈值t,带入测试样本得到投影点y,将y与t相比,即可进行分类判别。2.1 fisher准则函数中的基本...

模式识别大作业

一 题目。对sonar和wdbc中数据 如表1所示 进行分类,并将实验结果填入表2。不降维方法用邻近法,降维用fisher判别 表1 实验数据。表2实验结果 准确率 二 fisher线性判别法。fisher线性判别分析的基本思想 通过寻找一个投影方向 线性变换,线性组合 将高维问题降低到一维问题来解...

模式识别大作业

iris数据聚类分析。c均值和模糊c均值。1 问题描述。iris数据集包含150个数据,共有3类,每一类有50个数据,其每个数据有四个维度,每个维度代表鸢尾花特征 萼片,花瓣的长度 中的一个,其三类数据名称分别setosa,versicolor,virginica,这些就是 iris数据集的基本特征...