作业1-贝叶斯分类器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);