解释:高斯分界面的等式成立可以这样理解:对于任意一点x,其出现在y=0和y=1的两类概率相等。
clear;
clc
%%随机生成一组高斯数据
mu1=[2,2,3];
sigma=[1,0,0;0,2,0;0,0,3];
x0=mvnrnd(mu1,sigma,200);
y0=zeros(length(x0),1);
plot3(x0(:,1),x0(:,2),x0(:,3),'ro');
hold on;
%%随机生成第二组高斯数据
mu2=[8,8,9];
x1=mvnrnd(mu2,sigma,200);
y1=ones(length(x1),1);
plot3(x1(:,1),x1(:,2),x1(:,3),'go');
hold on;
x=[x0,y0];
y=[x1,y1];
m=length(x);
phi=0.5; %%% m/(2*m)=1/2
u0=mean(x0,1); %%% 计算 u0
u0_temp=repmat(u0,m,1);
u1=mean(x1,1); %%%计算 u1
u1_temp=repmat(u1,m,1);
sigma=((x0-u0_temp)'*(x0-u0_temp)+(x1-u1_temp)'*(x1-u1_temp))/(2*m); %%计算 sigma
%%计算分界面
A=2*inv(sigma)*(u1-u0)'
b=u1*inv(sigma)*u1'-u0*inv(sigma)*u0'+log(phi)-log(1-phi);
%% 画出分界面
xa=[-5:1:15];
ya=xa;
[x,y]=meshgrid(xa,ya);
z=(b-A(1)*x-A(2)*y)/A(3);
mesh(x,y,z)
参考文献: