作业1-贝叶斯分类器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业1、BAYES分类器

算法1.

%绘图,从多个视角观察上述3维2类训练样本

clear all;

close all;

N1=440;

x1(1,:)=-1.7+0.9*randn(1,N1); % 1 类440 个训练样本,3 维正态分布

x1(2,:)= 1.6+0.7*randn(1,N1);

x1(3,:)=-1.5+0.8*randn(1,N1);

N2=400;

x2(1,:)= 1.3+1.2*randn(1,N2); % 2 类400 个训练样本,3 维正态分布

x2(2,:)=-1.5+1.3*randn(1,N2);

x2(3,:)= 1.4+1.1*randn(1,N2);

plot3(x1(1,:),x1(2,:),x1(3,:),'*',x2(1,:),x2(2,:),x2(3,:),'o');

grid on;

axis equal;

axis([-5 5 -5 5 -5 5]);

xlabel('x ');ylabel('y ');zlabel('z ');

%假定2类的类条件概率分布皆为正态分布,分别估计2类的先验概率、均值向量、协方差矩阵

p1=N1/(N1+N2); % 1 类的先验概率

p2=N2/(N1+N2); % 2 类的先验概率

u1=sum(x1')/N1; % 1 类均值估计

u1=u1'

for i=1:N1 xu1(:,i)=x1(:,i)-u1;end;

e1=(xu1*xu1')/(N1-1) % 1 类协方差矩阵估计

u2=sum(x2')/N2; % 2 类均值估计

u2=u2'

for i=1:N2 xu2(:,i)=x2(:,i)-u2;end;

e2=(xu2*xu2')/(N2-1) % 2 类协方差矩阵估计

%求解2类的BAYES分类器的决策(曲)面,并绘图、从多个视角观察决策面

%bayse 概率概率分布函数

w10=-(1/2)*u1'*(inv(e1))*u1-0.5*log(det(e1))+log(0.52);

w20=-(1/2)*u2'*(inv(e2))*u2-0.5*log(det(e2))+log(0.48);

W1=-(0.5)*inv(e1);

W2=-(0.5)*inv(e2);

w1=inv(e1)*u1;

w2=inv(e2)*u2;

temp=-5:0.1:5;

[x1,y1,z1]=meshgrid(temp,temp,temp);

val=zeros(size(x1));

for k=1:(size(x1,1)^3)

X=[x1(k),y1(k),z1(k)]';

val(k)=X'*W1*X+w1'*X+w10-X'*W2*X-w2'*X-w20;

end

bv=isosurface(x1,y1,z1,val,0);

patch(bv,'facecolor','none','EdgeColor','y');

算法2.

clear all;

close all;

N1=440;

x1(1,:)=-1.7+0.9*randn(1,N1);

x1(2,:)= 1.6+0.7*randn(1,N1); % 1 类440 个训练样本,3 维正态分布

x1(3,:)=-1.5+0.8*randn(1,N1);

N2=400;

x2(1,:)= 1.3+1.2*randn(1,N2); % 2 类400 个训练样本,3 维正态分布

x2(2,:)=-1.5+1.3*randn(1,N2);

x2(3,:)= 1.4+1.1*randn(1,N2);

plot3(x1(1,:),x1(2,:),x1(3,:),'*',x2(1,:),x2(2,:),x2(3,:),'o');

grid on;

axis equal;

axis([-5 5 -5 5 -5 5]);

u1=sum(x1')/N1 ; % 1 类均值估计

u1=u1'

for i=1:N1 xu1(:,i)=x1(:,i)-u1;end;

e1=(xu1*xu1')/(N1-1) % 1 类协方差矩阵估计

e10=det(e1) ; %协方差行列式

e11=inv(e1) %协方差逆阵

u2=sum(x2')/N2; % 2 类均值估计

u2=u2';

for i=1:N2 xu2(:,i)=x2(:,i)-u2;end;

e2=(xu2*xu2')/(N2-1); % 2 类协方差矩阵估计

e20=det(e2); %协方差行列式

e21=inv(e2) ; %协方差逆阵

px1=N1/(N1+N2) %先验概率x1

px2=N2/(N1+N2) %先验概率x2

%bayse 概率概率分布函数

syms x y z real;

h1=-0.5.*([x y z]-u1')*e11*[[x y z]-u1']'-0.5*log(e10)+log(px1)-0.5*3*log(2*pi); h2=-0.5.*([x y z]-u2')*e21*[[x y z]-u2']'-0.5*log(e20)+log(px2)-0.5*3*log(2*pi);

相关文档
最新文档