<机器学习练习>高斯判别分析GDA

这里写图片描述

这里写图片描述
这里写图片描述
解释:高斯分界面的等式成立可以这样理解:对于任意一点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)

这里写图片描述

参考文献:

高斯判别分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值